Example #1
0
 private void UpdateAgentWithoutTarget(BaseAgent agent, IEnumerable <LivingEntity> players, float dt)
 {
     foreach (var player in players)
     {
         if (Vector3.Distance(agent.Position, player.Position) < agent.AggroRange)
         {
             agent.Target = player;
         }
     }
 }
Example #2
0
        private void UpdateAgentWithTarget(BaseAgent agent, float dt)
        {
            if (agent.HasCastedAbility())
            {
                foreach (var aData in agent.GetNewlyCastedAbilities())
                {
                    AddAbilityToQueue(aData, agent);
                }
                agent.ClearNewlyCastedAbilities();
            }

            if (agent.AggroRange * BaseAgent.ExtraAggroRange < Vector3.Distance(agent.Position, agent.Target.Position))
            {
                agent.Target = null;
            }
        }
Example #3
0
 public void AddAbilityToQueue(ClientCastAbilityData data, BaseAgent caster)
 {
     this._newCastedAbilities.Add(new AgentCastData(caster, data));
     this._hasCastedAbility = true;
 }
Example #4
0
 public AgentCastData(BaseAgent caster, ClientCastAbilityData castData)
 {
     this.CastData = castData;
     this.Caster   = caster;
 }
Example #5
0
 public void AddSpawnToQueue(BaseAgent agent)
 {
     this._newSpawnData.Add(agent);
     this._agents.Add(agent);
     this._hasSpawnData = true;
 }