소스 검색

Using Registrar for RAII, but keeping the error check

Signed-off-by: Gene Walters <[email protected]>
Gene Walters 2 년 전
부모
커밋
61fd1523fd

+ 2 - 5
Code/Legacy/CrySystem/LevelSystem/LevelSystem.cpp

@@ -201,17 +201,14 @@ CLevelSystem::CLevelSystem(ISystem* pSystem, const char* levelsFolder)
         m_levelPackCloseHandler.Connect(*levelPakCloseEvent);
     }
 
-    auto registerOutcome = AzFramework::LevelSystemLifecycleInterface::Register(this);
-    AZ_Error("LevelSystem", registerOutcome,
-        "Failed to register the LevelSystem with the LevelSystemLifecycleInterface: %s",
-        registerOutcome.GetError().c_str());
+    AZ_Error("LevelSystem", AzFramework::LevelSystemLifecycleInterface::Get() == this,
+        "Failed to register the LevelSystem with the LevelSystemLifecycleInterface.");
 }
 
 //------------------------------------------------------------------------
 CLevelSystem::~CLevelSystem()
 {
     UnloadLevel();
-    AzFramework::LevelSystemLifecycleInterface::Unregister(this);
 }
 
 //------------------------------------------------------------------------

+ 1 - 1
Code/Legacy/CrySystem/LevelSystem/LevelSystem.h

@@ -74,7 +74,7 @@ private:
 
 class CLevelSystem
     : public ILevelSystem
-    , AzFramework::ILevelSystemLifecycle
+    , AzFramework::LevelSystemLifecycleInterface::Registrar
 {
 public:
     CLevelSystem(ISystem* pSystem, const char* levelsFolder);

+ 2 - 5
Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.cpp

@@ -83,10 +83,8 @@ namespace LegacyLevelSystem
 
         AzFramework::RootSpawnableNotificationBus::Handler::BusConnect();
 
-        auto registerOutcome = AzFramework::LevelSystemLifecycleInterface::Register(this);
-        AZ_Error( "SpawnableLevelSystem", registerOutcome,
-            "Failed to register the SpawnableLevelSystem with the LevelSystemLifecycleInterface: %s",
-            registerOutcome.GetError().c_str());
+        AZ_Error("SpawnableLevelSystem", AzFramework::LevelSystemLifecycleInterface::Get() == this,
+            "Failed to register the SpawnableLevelSystem with the LevelSystemLifecycleInterface.");
 
         // If there were LoadLevel command invocations before the creation of the level system
         // then those invocations were queued.
@@ -110,7 +108,6 @@ namespace LegacyLevelSystem
     //------------------------------------------------------------------------
     SpawnableLevelSystem::~SpawnableLevelSystem()
     {
-        AzFramework::LevelSystemLifecycleInterface::Unregister(this);
         AzFramework::RootSpawnableNotificationBus::Handler::BusDisconnect();
     }
 

+ 1 - 1
Code/Legacy/CrySystem/LevelSystem/SpawnableLevelSystem.h

@@ -20,7 +20,7 @@ namespace LegacyLevelSystem
 class SpawnableLevelSystem
         : public ILevelSystem
         , public AzFramework::RootSpawnableNotificationBus::Handler
-        , AzFramework::ILevelSystemLifecycle
+        , AzFramework::LevelSystemLifecycleInterface::Registrar
     {
     public:
         explicit SpawnableLevelSystem(ISystem* pSystem);