Magic_GameClient/sqr/User/GameClass/ObjectClass/MonsterObjectClass.nut

58 lines
1.4 KiB
Plaintext

/*
文件名:MonsterObjectClass.nut
路径:User/GameClass/ObjectClass/MonsterObjectClass.nut
创建日期:2024-05-10 19:40
文件用途:怪物对象类
*/
class Monster extends ActiveObject {
Attackinfo = null;
//怪物Id
Id = null;
//属性表
Attribute = null;
function Init(Idx) {
Id = Idx;
Info = ScriptData.GetMonster(Idx);
Attribute = {};
base.Init(Info);
//如果存在Atk 初始化所有Atk
if ("attackinfo" in Info) {
Attackinfo = [];
foreach(_index, path in Info.attackinfo) {
// local AniBuf = Animation(path);
// AniBuf.ShowBorder(true);
Attackinfo.append(path);
}
}
//初始化属性
//移动速度
Attribute.MoveSpeed <- MathClass.Rand(Info["move speed"].min, Info["move speed"].max).tofloat();
}
function OnAddchild(Parent) {
getroottable().MonsterObjectFunction["MonsterObject_Create_" + Id](this, Parent);
base.OnAddchild(Parent);
}
function OnRemove(Parent) {
getroottable().MonsterObjectFunction["MonsterObject_Destroy_" + Id](this, Parent);
base.OnRemove(Parent);
}
//被调用
function OnUpdate(dt) {
//调用怪物Proc状态
getroottable().MonsterObjectFunction["MonsterObject_Proc_" + Id](this, dt);
//原始逻辑
base.OnUpdate(dt);
}
}