local Base = require("Battle/Logic/AI/Decision/Decision_Base") local Decision_Birth = class("Decision_Birth", Base) --[[ 初始化 --]] function Decision_Birth:initialize(entity) --类型 self.Type = LuaConst.DecisionType.Birth --瞬时 self.IsOnce = false end --[[ 能否退出 退出条件:没有出生动画 或 出生动画播放完毕 --]] function Decision_Birth:CanExit(entity, decisionData, command) if string.isNilOrEmpty(entity.components.base.CurCharacterData.BirthAnim) or entity.components.anim.IsCurAnimOver then return true end return false end --[[ 输出指令 --]] function Decision_Birth:SetCommand(entity, decisionData, command) command.DecisionID = decisionData.ID return command end --[[ 执行 --]] function Decision_Birth:Handle(entity, decisionData, stateType, animName) local characterData = entity.components.base.CurCharacterData local comp_AIBase = entity.components.aiBase local comp_Anim = entity.components.anim comp_Anim.BirthAnimPlayed = true if comp_AIBase.CurStateType == LuaConst.StateType.Common or string.isNilOrEmpty(characterData.BirthAnim) then return LuaConst.StateType.None,nil end SystemManager.OnReceivePsEffect(entity, characterData.BirthEffect) return LuaConst.StateType.Common, characterData.BirthAnim end return Decision_Birth