Browse Source

Locked and Hidden Write Function

This causes Locked and Hidden to only be saved if they are true since they default to false.
Peter Robinson 4 years ago
parent
commit
09c548add4
3 changed files with 10 additions and 3 deletions
  1. 0 1
      editor/AssetAdmin/AssetAdmin.cs
  2. 2 2
      engine/source/sim/simObject.cc
  3. 8 0
      engine/source/sim/simObject.h

+ 0 - 1
editor/AssetAdmin/AssetAdmin.cs

@@ -26,7 +26,6 @@ function AssetAdmin::create(%this)
 	exec("./AssetWindow.cs");
 	exec("./AssetDictionaryButton.cs");
 	exec("./AssetInspector.cs");
-	exec("./AssetInput/AssetInput.cs");
 
 	%this.guiPage = EditorCore.RegisterEditor("Asset Manager", %this);
 	%this.guiPage.add(%this.buildAssetWindow());

+ 2 - 2
engine/source/sim/simObject.cc

@@ -1086,8 +1086,8 @@ void SimObject::initPersistFields()
 
    addGroup("Editing");
 
-   addProtectedField("hidden", TypeBool, NULL, &_setHidden, &_getHidden, "Whether the object is visible.");
-   addProtectedField("locked", TypeBool, NULL, &_setLocked, &_getLocked, "Whether the object can be edited.");
+   addProtectedField("hidden", TypeBool, NULL, &_setHidden, &_getHidden, &_writeHidden, "Whether the object is visible.");
+   addProtectedField("locked", TypeBool, NULL, &_setLocked, &_getLocked, &_writeLocked, "Whether the object can be edited.");
 
    endGroup("Editing");
 }

+ 8 - 0
engine/source/sim/simObject.h

@@ -272,6 +272,14 @@ private:
     {
        static_cast<SimObject*>(object)->setLocked(dAtob(data)); return false;
     }
+	static bool _writeHidden(void* object, const char* data)
+	{
+		return static_cast<SimObject*>(object)->isHidden();
+	}
+	static bool _writeLocked(void* object, const char* data)
+	{
+		return static_cast<SimObject*>(object)->isLocked();
+	}
 
 public:
     /// @name Notification