Просмотр исходного кода

Merge pull request #966 from Areloch/DefaultEditorCamFallbackFix

Make sure there's a default cam for editors
Brian Roberts 2 лет назад
Родитель
Сommit
a17470e2fd

+ 4 - 2
Templates/BaseGame/game/core/utility/scripts/gameObjectManagement.tscript

@@ -80,8 +80,10 @@ function spawnGameObject(%name, %addToScene)
 
 function GameBaseData::onNewDataBlock(%this, %obj)
 {
-    %this.onRemove(%obj);
-    %this.onAdd(%obj);
+   if(%this.isMethod("onRemove"))
+      %this.onRemove(%obj);
+   if(%this.isMethod("onAdd"))
+      %this.onAdd(%obj);
 }
 
 function saveGameObject(%name, %tamlPath, %scriptPath)

+ 9 - 0
Templates/BaseGame/game/tools/worldEditor/scripts/cameraCommands.ed.tscript

@@ -47,6 +47,15 @@ function serverCmdToggleCamera(%client)
 {
    if (%client.getControlObject() == %client.player)
    {
+      if (!isObject(%client.camera))
+      {
+         %client.camera = spawnObject("Camera", Observer);
+         MissionCleanup.add( %client.camera );
+         %client.camera.scopeToClient(%client);
+         
+         %client.camera.setPosition(%client.player.getPosition());
+      }
+      
       %client.camera.setVelocity("0 0 0");
       %control = %client.camera;
    }