1. I have an object (based on monobehavior) that I can save and load using ES3 just fine.
2. I have a container object (also based on monobehavior) which references that object. When I Save and then Load the container, the reference to the contained object is null on load.
3. I have gone into the ES3 types window and created types for both objects, and ensured all fields are checked.
Here is the simplest (contrived) test case I could create:
Code: Select all
public class TestContainedObject : MonoBehaviour
{
public string TestString;
}
public class TestContainer : MonoBehaviour
{
public TestContainedObject TestObject;
}
public class EntityMgr : MonoBehaviour
{
public void TestLoad()
{
TestContainedObject containedObj = ES3.Load<TestContainedObject>("test-ContainedObject");
TestContainer container = ES3.Load<TestContainer>("test-Container");
// At this point: containedObj is valid, but container.TestObject, which points at containedObj, is actually null.
}
public void TestSave()
{
// set up object
GameObject objectGO = new GameObject();
TestContainedObject containedObject = objectGO.AddComponent<TestContainedObject>();
containedObject.TestString = "hello";
// Set up container
GameObject containerGO = new GameObject();
TestContainer container = containerGO.AddComponent<TestContainer>();
container.TestObject = containedObject;
ES3.Save<TestContainedObject>("test-ContainedObject", containedObject);
ES3.Save<TestContainer>("test-Container", container);
}
Jeff