@ObjData.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. class ObjData // World Object
  4. {
  5. bool removed;
  6. UID id; // Instance ID
  7. Matrix matrix;
  8. EditObject params;
  9. TimeStamp matrix_time, removed_time;
  10. // get
  11. bool old(C TimeStamp &now=TimeStamp().getUTC())C;
  12. bool equal(C ObjData &src)C;
  13. bool newer(C ObjData &src)C;
  14. TerrainObj terrainObj()C;
  15. PhysPath physPath ()C;
  16. uint memUsage()C;
  17. // operations
  18. void setRemoved(bool removed, C TimeStamp &time=TimeStamp().getUTC());
  19. void create(C ObjData &src);
  20. bool sync(C ObjData &src, cchar *edit_path);
  21. bool undo(C ObjData &src, cchar *edit_path);
  22. void create(C Game::Area::Data::AreaObj &src, C UID &type, C EditObjectPtr &base, C TimeStamp &time=TimeStamp().getUTC());
  23. void copyTo(Game::Area::Data::AreaObj &dest, C Project &proj)C;
  24. ObjData& create(C Edit::WorldObjParams &src, C Str &edit_path);
  25. // io
  26. bool save(File &f, cchar *edit_path=null)C;
  27. bool load(File &f, cchar *edit_path=null);
  28. public:
  29. ObjData();
  30. };
  31. /******************************************************************************/
  32. /******************************************************************************/
  33. /******************************************************************************/