GameObjectSerialization.txt 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  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. ---------------------------------------
  5. IMMEDIATE:
  6. Implement TODO ScriptSerializableList.cpp & ScriptSerializableDictionary.cpp methods
  7. setValue in ScriptSerializableObject & ScriptSerializableArray should check if value is null and if the field type isn't a value type (can't be null)
  8. LOW PRIORITY
  9. - Ensure that unknown components retain their field data so when they are no longer unknown their data may be restored
  10. - Get rid of ScriptObject::createInstance and replace it with parameter in constructor
  11. - A way to serialize any object into a Resource (and deserialize it from Resource)
  12. ---------------------------------------
  13. Testing:
  14. Test how structs work
  15. Test how things work when class gets removed
  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++