Merge pull request #262 from SHADE-DP/SP3-2-Physics

This commit is contained in:
XiaoQiDigipen 2022-11-23 16:58:23 +08:00 committed by GitHub
commit cec5569ebf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 4 deletions

View File

@ -44,8 +44,6 @@ namespace Sandbox
{ {
sceneName = SHSerialization::DeserializeSceneFromFile(sceneAssetID); sceneName = SHSerialization::DeserializeSceneFromFile(sceneAssetID);
#ifndef SHEDITOR
auto* physicsSystem = SHSystemManager::GetSystem<SHPhysicsSystem>(); auto* physicsSystem = SHSystemManager::GetSystem<SHPhysicsSystem>();
if (!physicsSystem) if (!physicsSystem)
{ {
@ -53,6 +51,12 @@ namespace Sandbox
return; return;
} }
#ifdef SHEDITOR
physicsSystem->ForceBuild(SHSceneManager::GetCurrentSceneGraph());
#else
physicsSystem->BuildScene(SHSceneManager::GetCurrentSceneGraph()); physicsSystem->BuildScene(SHSceneManager::GetCurrentSceneGraph());
#endif #endif

View File

@ -188,6 +188,13 @@ namespace SHADE
objectManager.UpdateCommands(); objectManager.UpdateCommands();
} }
void SHPhysicsSystem::ForceBuild(SHSceneGraph& sceneGraph)
{
// HACK: Band-aid fix. To be removed.
objectManager.UpdateCommands();
}
void SHPhysicsSystem::ForceUpdate() void SHPhysicsSystem::ForceUpdate()
{ {
if (!worldState.world) if (!worldState.world)
@ -419,7 +426,6 @@ namespace SHADE
for (size_t i = 0; i < COLLIDER->GetCollisionShapes().size(); ++i) for (size_t i = 0; i < COLLIDER->GetCollisionShapes().size(); ++i)
objectManager.AddCollisionShape(EID, i); objectManager.AddCollisionShape(EID, i);
} }
}; };
//////////////////////////////// ////////////////////////////////

View File

@ -78,9 +78,9 @@ namespace SHADE
void Exit () override; void Exit () override;
void BuildScene (SHSceneGraph& sceneGraph); void BuildScene (SHSceneGraph& sceneGraph);
void ForceBuild (SHSceneGraph& sceneGraph);
void ForceUpdate (); void ForceUpdate ();
/** /**
* @brief Casts a ray into the world. * @brief Casts a ray into the world.
* @param ray The ray to cast. * @param ray The ray to cast.