69 lines
1.4 KiB
Lua
69 lines
1.4 KiB
Lua
|
local Object = CS.UnityEngine.Object
|
||
|
local V3Zero = CS.UnityEngine.Vector3.zero
|
||
|
local V3One = CS.UnityEngine.Vector3.one
|
||
|
local Rotation = CS.UnityEngine.Quaternion.identity
|
||
|
local cam
|
||
|
local objects = {}
|
||
|
local Types = {
|
||
|
BG = 1,
|
||
|
SHOWBG = 2,
|
||
|
BOX = 3,
|
||
|
EFFECT = 4,
|
||
|
WEAPON = 5
|
||
|
}
|
||
|
|
||
|
local SetCamera = function(camera)
|
||
|
cam = camera
|
||
|
end
|
||
|
|
||
|
local AddObject = function(transform, type)
|
||
|
transform:SetParent(cam)
|
||
|
transform.localPosition = V3Zero
|
||
|
transform.localRotation = Rotation
|
||
|
transform.localScale = V3One
|
||
|
objects[type] = transform.gameObject
|
||
|
end
|
||
|
|
||
|
local SetActive = function(type, bool)
|
||
|
local obj = objects[type]
|
||
|
if obj and obj:Exist() then
|
||
|
obj:SetActive(bool)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local SetAllActive = function(bool)
|
||
|
for _, v in pairs(objects) do
|
||
|
if v:Exist() then
|
||
|
v:SetActive(bool)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local DestroyObject = function(type)
|
||
|
local obj = objects[type]
|
||
|
if obj then
|
||
|
Object.Destroy(obj)
|
||
|
objects[type] = nil
|
||
|
end
|
||
|
end
|
||
|
|
||
|
local Dispose = function()
|
||
|
for _, v in pairs(objects) do
|
||
|
if v:Exist() then
|
||
|
Object.Destroy(v)
|
||
|
end
|
||
|
end
|
||
|
objects = {}
|
||
|
end
|
||
|
|
||
|
local DrawScene = {}
|
||
|
|
||
|
DrawScene.Types = Types
|
||
|
DrawScene.SetCamera = SetCamera
|
||
|
DrawScene.AddObject = AddObject
|
||
|
DrawScene.SetActive = SetActive
|
||
|
DrawScene.SetAllActive = SetAllActive
|
||
|
DrawScene.DestroyObject = DestroyObject
|
||
|
DrawScene.Dispose = Dispose
|
||
|
|
||
|
return DrawScene
|