/* 文件名: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); } }