private Script_IEntity GetHighestThreat(List <Script_IEntity> p_entityList)
    {
        int            threat = 0;
        Script_IEntity highestThreatEntity = null;

        foreach (Script_IEntity entity in p_entityList.ToList())
        {
            Script_IFriendly friendly = entity as Script_IFriendly;

            if (_threatReceiver.GetThreat(friendly) > threat)
            {
                highestThreatEntity = entity;
                threat = _threatReceiver.GetThreat(friendly);
            }
        }

        return(highestThreatEntity);
    }
Exemplo n.º 2
0
    public override NodeState RunNode(float p_delta)
    {
        List <Script_IEntity> entityList = _tree.GetBlackBoardElement <List <Script_IEntity> > (_entityListFlag);

        if (entityList.Count > 0)
        {
            foreach (Script_IEntity entity in entityList.ToList())
            {
                if (_threatReceiver.GetThreat(entity) > _threatThreshold)
                {
                    return(NodeState.Success);
                }
            }
        }
        return(NodeState.Failed);
    }