local Base = require("Battle/Logic/AI/Decision/Decision_Base") local Decision_SwitchAiRecord = class("Decision_SwitchAiRecord", Base) local KEY_END_FRAME = "keyEndFrame" --[[ 初始化 --]] function Decision_SwitchAiRecord:initialize(entity) --类型 self.Type = LuaConst.DecisionType.SwitchAiRecord --瞬时 self.IsOnce = false end function Decision_SwitchAiRecord:DecisionIn(entity, decisionData) entity.components.aiBase:SetAiRecord(decisionData, decisionData.IntParam1, decisionData.IntParam2) entity.components.aiBase:SetDecisionRecord(decisionData, KEY_END_FRAME, LogicUpdateManager._clientHandleFrame + decisionData.IntParam4) end --[[ 退出该Decision --]] function Decision_SwitchAiRecord:DecisionOut(entity, decisionData) Base.DecisionOut(self,entity, decisionData) entity.components.aiBase:SetAiRecord(decisionData, decisionData.IntParam1, decisionData.IntParam3) end --[[ 能否退出 退出条件:一定距离之内 --]] function Decision_SwitchAiRecord:CanExit(entity, decisionData, command) return LogicUpdateManager._clientHandleFrame >= entity.components.aiBase:GetDecisionRecord(decisionData, KEY_END_FRAME) end return Decision_SwitchAiRecord