culling2d::Circle& CoreShape_Imp::GetBoundingCircle() { if (isNeededCalcBoundingCircle) { CalculateBoundingCircle(); isNeededCalcBoundingCircle = false; } return boundingCircle; }
//---------------------------------------------------------------------------------- // //---------------------------------------------------------------------------------- void CoreLayer2D_Imp::EndUpdating(bool isUpdated) { if (isUpdated) { m_renderer->GetEffectManager()->Update(core->GetDeltaTime() / (1.0f / 60.0f)); m_renderer->GetEffectManager()->Flip(); } #if __CULLING_2D__ //グリッド更新処理 { for (auto x : transformedObjects) { auto userData = (Culling2DUserData*)(x->GetUserData()); if (userData->IsObject) { auto impObj = CoreObject2DToImp(userData->Object); impObj->CalculateBoundingCircle(); auto newCircle = impObj->GetBoundingCircle(); x->SetCircle(newCircle); } else { auto impObj = CoreObject2DToImp(userData->Object); auto chip = (CoreChip2D_Imp*)userData->Chip; auto newCircle = chip->GetBoundingCircle(); x->SetCircle(newCircle); } } world->Update(); transformedObjects.clear(); } #endif }