94 lines
2.7 KiB
Lua
94 lines
2.7 KiB
Lua
|
|
------------------------------------------------
|
|
--作者: gzg
|
|
--日期: 2020-02-20
|
|
--文件: FSkinPartWrap.lua
|
|
--模块: FSkinPartWrap
|
|
--描述: 示例类
|
|
--注意: 在类中的定义字段,不能赋值为nil,需要赋值为一个值.
|
|
------------------------------------------------
|
|
--引用
|
|
local LuaFSkinPartBase = CS.Thousandto.Plugins.LuaType.LuaFSkinPartBase;
|
|
local FGameObjectSoulEquip = require("Logic.FGameObject.FGameObjectSoulEquip")
|
|
|
|
--在类中的定义字段,不能赋值为nil,需要赋值为一个值.默认可以为0
|
|
local FSkinPartWrap = {
|
|
--CS父类对象
|
|
_SuperObj_ = 0,
|
|
--这里如果定义成员,这里必须
|
|
_OnCreateFGameObjectHandler = nil;
|
|
}
|
|
|
|
--#region //类继承的固定模板
|
|
|
|
--构造函数
|
|
function FSkinPartWrap:New(parent, code, onLoadFinishedCallBack, isHideModel)
|
|
local _m = Utils.DeepCopy(self)
|
|
_m._OnCreateFGameObjectHandler = Utils.Handler(self.OnCreateFGameObject, self, nil, true);
|
|
_m._SuperObj_ = LuaFSkinPartBase.Create(parent, code, onLoadFinishedCallBack, isHideModel, _m._OnCreateFGameObjectHandler);
|
|
_m:_InitBindOverride_();
|
|
_m:_InitContent_();
|
|
Utils.BuildInheritRel(_m);
|
|
return _m
|
|
end
|
|
|
|
function FSkinPartWrap:GetCSObj()
|
|
return self._SuperObj_;
|
|
end
|
|
|
|
--绑定Override的方法
|
|
function FSkinPartWrap:_InitBindOverride_()
|
|
--重载函数的重定义
|
|
self._SuperObj_.OnSwitchFGameObjectDelegate = Utils.Handler(self.OnSwitchFGameObject, self, nil, true);
|
|
--...
|
|
end
|
|
|
|
--初始化
|
|
function FSkinPartWrap:_InitContent_()
|
|
--todo
|
|
|
|
end
|
|
|
|
--卸载
|
|
function FSkinPartWrap:Free()
|
|
self._SuperObj_.OnSwitchFGameObjectDelegate = nil;
|
|
LuaFSkinPartBase.Destroy(self._SuperObj_);
|
|
_m._OnCreateFGameObjectHandler = nil;
|
|
Utils.Destory(self);
|
|
end
|
|
|
|
--#endregion
|
|
|
|
--#region //重载父类的函数
|
|
|
|
-- <summary>
|
|
-- 创建一个GameObject对象
|
|
-- </summary>
|
|
-- <returns>FGameObjectModel</returns>
|
|
function FSkinPartWrap:OnCreateFGameObject(code)
|
|
if code == FSkinPartCode.Reserved_1 then
|
|
return FGameObjectSoulEquip:New():GetCSObj();
|
|
end
|
|
return nil;
|
|
end
|
|
|
|
|
|
-- <summary>
|
|
-- 对象切换处理
|
|
-- </summary>
|
|
-- <param name="fgameObject">FGameObjectModel</param>
|
|
-- <param name="modelType">ModelTypeCode</param>
|
|
-- <param name="modelID">int</param>
|
|
-- <param name="isShow">bool</param>
|
|
-- <returns>FGameObjectModel</returns>
|
|
function FSkinPartWrap:OnSwitchFGameObject( fgameObject, modelType, modelID, isShow)
|
|
if (fgameObject ~= nil) and self.Code == FSkinPartCode.Wing then
|
|
return fgameObject:SwitchModel(modelType, modelID, isShow);
|
|
elseif (fgameObject ~= nil) and self.Code == FSkinPartCode.Reserved_1 then
|
|
return fgameObject:SwitchModel(modelType, modelID, isShow)
|
|
end
|
|
end
|
|
|
|
--#endregion
|
|
|
|
return FSkinPartWrap |