local Base = require("Battle/Logic/AI/Decision/Decision_KeepDistance") local Decision_PhalanxKeepDistanceLeader = class("Decision_PhalanxKeepDistanceLeader", Base) function Decision_PhalanxKeepDistanceLeader:initialize(entity) --类型 self.Type = LuaConst.DecisionType.PhalanxKeepDistanceLeader --瞬时 self.IsOnce = false end -- IntParam1 : 跟目标保持固定距离的米数,基类使用 -- IntParam2 : 队列间距(毫米),间距在所有队列移动决策里单位都统一为毫米, 目前参数不够了,行间距和列间距都一样,用1个参数 -- IntParam3 : 阵型旋转类型(0=不旋转,1=旋转) -- IntParam4 : 每行最大人数 function Decision_PhalanxKeepDistanceLeader:SetCommand(entity, decisionData, command) if not self:ShouldPhalanxLeaderWait(entity, decisionData, decisionData.IntParam2, decisionData.IntParam2, decisionData.IntParam4) then Base.SetCommand(self, entity, decisionData, command) end if entity.components.target.Target then self:RefreshPhalanxInfo(entity, entity.components.target.Target:GetLogicPos() - entity:GetLogicPos(), decisionData.IntParam2, decisionData.IntParam2, decisionData.IntParam3, decisionData.IntParam4) --(目前都用 IntParam2 ,如果以后要求跟列间距不同,可以加一个参数,其他地方都不用改) end end return Decision_PhalanxKeepDistanceLeader