56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
/*
|
|
文件名:PassiveObjectClass.nut
|
|
路径:User/GameClass/ObjectClass/PassiveObjectClass.nut
|
|
创建日期:2024-05-11 09:14
|
|
文件用途:被动对象
|
|
*/
|
|
class PassiveObject extends ActiveObject {
|
|
|
|
OnCreateFunction = null;
|
|
OnProcFunction = null;
|
|
OnDestroyFunction = null;
|
|
OnAttackFunction = null;
|
|
|
|
function Init(Idx) {
|
|
Info = ScriptData.GetPassiveObject(Idx);
|
|
|
|
base.Init(Info);
|
|
|
|
//储存图层信息
|
|
if ("layer" in Info)
|
|
Layer = Info.layer.slice(1, -1);
|
|
|
|
|
|
//初始化回调函数
|
|
InitCallBackFunc();
|
|
}
|
|
|
|
function InitCallBackFunc() {
|
|
if ("create function" in Info) OnCreateFunction = Info["create function"].bindenv(this);
|
|
if ("destroy function" in Info) OnDestroyFunction = Info["destroy function"].bindenv(this);
|
|
if ("proc function" in Info) OnProcFunction = Info["proc function"].bindenv(this);
|
|
if ("attack function" in Info) OnAttackFunction = Info["attack function"].bindenv(this);
|
|
}
|
|
|
|
function OnAddchild(Parent) {
|
|
if (OnCreateFunction) OnCreateFunction(Parent);
|
|
base.OnAddchild(Parent);
|
|
}
|
|
|
|
function OnRemove(Parent) {
|
|
if (OnDestroyFunction) OnDestroyFunction(Parent);
|
|
base.OnRemove(Parent);
|
|
}
|
|
|
|
//攻击到其他对象时
|
|
function OnAttack(Damager) {
|
|
if (OnAttackFunction) OnAttackFunction(Damager);
|
|
base.OnAttack(Damager);
|
|
}
|
|
|
|
//被调用
|
|
function OnUpdate(dt) {
|
|
if (OnProcFunction) OnProcFunction(dt);
|
|
base.OnUpdate(dt);
|
|
}
|
|
} |