Răsfoiți Sursa

Merge pull request #1281 from Areloch/issue1257

Fix for issue #1257
Daniel Buckmaster 10 ani în urmă
părinte
comite
f0333aabfd

+ 21 - 0
Templates/Empty/game/tools/missionAreaEditor/main.cs

@@ -99,6 +99,27 @@ function MissionAreaEditorPlugin::onDeactivated( %this )
    Parent::onDeactivated(%this);
 }
 
+function MissionAreaEditorPlugin::setEditorFunction( %this )
+{
+   %missionAreaExists = isObject(getMissionAreaServerObject());
+
+   if( %missionAreaExists == false )
+      MessageBoxYesNoCancel("No Mission Area","Would you like to create a New Mission Area?", "MissionAreaEditorPlugin.createNewMissionArea();");
+
+   return %missionAreaExists;
+}
+
+function MissionAreaEditorPlugin::createNewMissionArea(%this)
+{
+   %newMissionArea = new MissionArea();
+   %newMissionArea.area = "-256 -256 512 512";
+
+   MissionGroup.add(%newMissionArea);
+
+   EditorGui.setEditor(MissionAreaEditorPlugin);
+
+   EWorldEditor.isDirty = true;
+}
 //-----------------------------------------------------------------------------
 // Settings
 //-----------------------------------------------------------------------------

+ 8 - 5
Templates/Empty/game/tools/missionAreaEditor/missionAreaEditorGui.ed.cs

@@ -25,11 +25,14 @@ function MissionAreaEditorGui::onEditorActivated( %this )
    EWorldEditor.clearSelection();
    
    %ma = getMissionAreaServerObject();
-   EWorldEditor.selectObject( %ma );
-   EWorldEditor.syncGui();
-   MissionAreaEditorTerrainEditor.updateTerrain();
-   %this.setSelectedMissionArea( %ma );
-   %this.onMissionAreaSelected( %this.getSelectedMissionArea() );   
+   if( isObject( %ma ) )
+   {
+      EWorldEditor.selectObject( %ma );
+      EWorldEditor.syncGui();
+      MissionAreaEditorTerrainEditor.updateTerrain();
+      %this.setSelectedMissionArea( %ma );
+      %this.onMissionAreaSelected( %this.getSelectedMissionArea() );   
+   }
 }
 
 function MissionAreaEditorGui::onEditorDeactivated( %this )

+ 21 - 0
Templates/Full/game/tools/missionAreaEditor/main.cs

@@ -99,6 +99,27 @@ function MissionAreaEditorPlugin::onDeactivated( %this )
    Parent::onDeactivated(%this);
 }
 
+function MissionAreaEditorPlugin::setEditorFunction( %this )
+{
+   %missionAreaExists = isObject(getMissionAreaServerObject());
+
+   if( %missionAreaExists == false )
+      MessageBoxYesNoCancel("No Mission Area","Would you like to create a New Mission Area?", "MissionAreaEditorPlugin.createNewMissionArea();");
+
+   return %missionAreaExists;
+}
+
+function MissionAreaEditorPlugin::createNewMissionArea(%this)
+{
+   %newMissionArea = new MissionArea();
+   %newMissionArea.area = "-256 -256 512 512";
+
+   MissionGroup.add(%newMissionArea);
+
+   EditorGui.setEditor(MissionAreaEditorPlugin);
+
+   EWorldEditor.isDirty = true;
+}
 //-----------------------------------------------------------------------------
 // Settings
 //-----------------------------------------------------------------------------

+ 8 - 5
Templates/Full/game/tools/missionAreaEditor/missionAreaEditorGui.ed.cs

@@ -25,11 +25,14 @@ function MissionAreaEditorGui::onEditorActivated( %this )
    EWorldEditor.clearSelection();
    
    %ma = getMissionAreaServerObject();
-   EWorldEditor.selectObject( %ma );
-   EWorldEditor.syncGui();
-   MissionAreaEditorTerrainEditor.updateTerrain();
-   %this.setSelectedMissionArea( %ma );
-   %this.onMissionAreaSelected( %this.getSelectedMissionArea() );   
+   if( isObject( %ma ) )
+   {
+      EWorldEditor.selectObject( %ma );
+      EWorldEditor.syncGui();
+      MissionAreaEditorTerrainEditor.updateTerrain();
+      %this.setSelectedMissionArea( %ma );
+      %this.onMissionAreaSelected( %this.getSelectedMissionArea() );   
+   }
 }
 
 function MissionAreaEditorGui::onEditorDeactivated( %this )