void save(EditData& data) { type = data.type; flag = data.flag; switch( data.type ) { case EOT_TOBJECT: if ( data.flag & EF_LOAD_MODEL ) { TObject* tObj = TObject::upCast( data.entity ); modelID = tObj->getModelID(); } break; case EOT_TNPC: { TActor* actor = TActor::upCast( data.entity ); modelID = actor->getModelID(); } break; case EOT_TERRAIN: case EOT_FLY_OBJ: case EOT_OTHER: break; } FnObject obj; obj.Object( data.id ); name = obj.GetName(); if ( data.flag & EF_SAVE_XFORM ) { obj.GetWorldPosition( pos ); obj.GetWorldDirection( front , up ); } }