GameObjectSerialization.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. TODO
  2. - Ability to break external references as a pre-processing step
  3. - I need to properly unload all assemblies (and possibly shutdown mono runtime?) before I shut down various modules used in ScriptBansheeEngine.
  4. C# Serialization
  5. - Ensure that everything still works when a serialized type is removed
  6. - Ensure that such components retain their field data so when they are no longer unknown their data may be restored
  7. ---------------------------------------
  8. IMMEDIATE:
  9. setValue in ScriptSerializableObject & ScriptSerializableArray should check if value is null and if the field type isn't a value type (can't be null)
  10. LOW PRIORITY
  11. - Get rid of ScriptObject::createInstance and replace it with parameter in constructor
  12. - A way to serialize any object into a Resource (and deserialize it from Resource)
  13. ---------------------------------------
  14. Testing:
  15. Test how structs work
  16. ------------------------------------------------------
  17. General C# component management
  18. Native components like Camera
  19. - ScriptCamera derives from Camera
  20. - Then whenever I check for managed Components I need to check if object type of ScriptComponent or
  21. any of the built-in types.
  22. - Checking each type might be a bit slow, but normally we will be looking for an exact type
  23. so hopefully this will only matter when enumerating all components which shouldn't be during performance
  24. critical moments.
  25. TODO - When reloading scripts how to handle restoring references?
  26. TODO - When I destroy a Component, how will I refresh the inspector to let it know that something has changed
  27. - Can happen from C# and C++