62 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.5 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); | ||
|  | 
 | ||
|  |         base.Init(Info); | ||
|  | 
 | ||
|  |         //构造属性对象 | ||
|  |         Attribute = AttributeClass(); | ||
|  |         //加载脚本属性 | ||
|  |         Attribute.Init(Info.Attributes, this); | ||
|  | 
 | ||
|  |         //如果存在Atk 初始化所有Atk | ||
|  |         if ("attackinfo" in Info) { | ||
|  |             Attackinfo = []; | ||
|  |             foreach(_index, path in Info.attackinfo) { | ||
|  |                 // local AniBuf = Animation(path); | ||
|  |                 // AniBuf.ShowBorder(true); | ||
|  |                 Attackinfo.append(path); | ||
|  |             } | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     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); | ||
|  |         //属性更新 | ||
|  |         if (Attribute) Attribute.Proc(this, dt); | ||
|  |         //原始逻辑 | ||
|  |         base.OnUpdate(dt); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  | } |