Example #1
0
	culling2d::Circle& CoreShape_Imp::GetBoundingCircle()
	{
		if (isNeededCalcBoundingCircle)
		{
			CalculateBoundingCircle();
			isNeededCalcBoundingCircle = false;
		}
		return boundingCircle;
	}
Example #2
0
	//----------------------------------------------------------------------------------
	//
	//----------------------------------------------------------------------------------
	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
	}