53 lines
No EOL
1.6 KiB
Lua
53 lines
No EOL
1.6 KiB
Lua
--============
|
|
--公会宿舍场景实体基类
|
|
--============
|
|
---@class XGuildDormBaseSceneObj
|
|
local XGuildDormBaseSceneObj = XClass(nil, "XGuildDormBaseSceneObj")
|
|
--============
|
|
--将GameObject移动到root根节点
|
|
--============
|
|
local function BindToRoot(model, root)
|
|
model.transform:SetParent(root)
|
|
model.transform.localPosition = CS.UnityEngine.Vector3.zero
|
|
model.transform.localEulerAngles = CS.UnityEngine.Vector3.zero
|
|
model.transform.localScale = CS.UnityEngine.Vector3.one
|
|
end
|
|
|
|
function XGuildDormBaseSceneObj:Ctor()
|
|
|
|
end
|
|
--============
|
|
--加载资源
|
|
--============
|
|
function XGuildDormBaseSceneObj:LoadAsset(modelPath, root)
|
|
--异步加载资源
|
|
self.Resource = CS.XResourceManager.LoadAsync(self.SceneAssetUrl)
|
|
CS.XTool.WaitCoroutine(self.Resource, function()
|
|
if not self.Resource.Asset then
|
|
XLog.Error("XGuildDormScene LoadScene error, instantiate error, name: " .. self.SceneAssetUrl)
|
|
return
|
|
end
|
|
self.GameObject = CS.UnityEngine.Object.Instantiate(self.Resource.Asset)
|
|
self:SetGameObject(self.GameObject)
|
|
if root then
|
|
BindToRoot(self.GameObject, root)
|
|
end
|
|
end)
|
|
end
|
|
--============
|
|
--为实体设置场景GameObject
|
|
--============
|
|
function XGuildDormBaseSceneObj:SetGameObject(go)
|
|
self.GameObject = go
|
|
self.Transform = go.transform
|
|
XDataCenter.GuildDormManager.SceneManager.AddSceneObj(self.GameObject, self)
|
|
self:OnLoadComplete()
|
|
end
|
|
--============
|
|
--当GameObject设置好后回调
|
|
--虚方法
|
|
--============
|
|
function XGuildDormBaseSceneObj:OnLoadComplete()
|
|
|
|
end
|
|
return XGuildDormBaseSceneObj |