47 lines
1.1 KiB
Plaintext
47 lines
1.1 KiB
Plaintext
GOManager_DynamicObject = class("GOManager_DynamicObject")
|
|
|
|
function GOManager_DynamicObject:ctor()
|
|
self.objects = {}
|
|
end
|
|
|
|
function GOManager_DynamicObject:Clear()
|
|
TableUtility.TableClear(self.objects)
|
|
Game.DynamicObjectManager:Clear()
|
|
end
|
|
|
|
function GOManager_DynamicObject:GetDynamicObject(ID)
|
|
return self.objects[ID]
|
|
end
|
|
|
|
function GOManager_DynamicObject:SetDynamicObject(obj, ID)
|
|
self.objects[ID] = obj
|
|
Game.DynamicObjectManager:SetDynamicData(ID, obj)
|
|
end
|
|
|
|
function GOManager_DynamicObject:ClearDynamicObject(obj)
|
|
local objID = obj.ID
|
|
local testObj = self.objects[objID]
|
|
if nil ~= testObj and testObj == obj then
|
|
self:SetDynamicObject(nil, objID)
|
|
return true
|
|
end
|
|
return false
|
|
end
|
|
|
|
function GOManager_DynamicObject:RegisterGameObject(obj)
|
|
local objID = obj.ID
|
|
Debug_AssertFormat(0 < objID, "RegisterDynamicObject({0}) invalid id: {1}", obj, objID)
|
|
|
|
self:SetDynamicObject(obj, objID)
|
|
return true
|
|
end
|
|
|
|
function GOManager_DynamicObject:UnregisterGameObject(obj)
|
|
if not self:ClearDynamicObject(obj) then
|
|
Debug_AssertFormat(false, "UnregisterDynamicObject({0}) failed: {1}", obj, obj.ID)
|
|
return false
|
|
end
|
|
|
|
return true
|
|
end
|