Exemple #1
0
    public GameObject FindLeastBloodFriend(Soldier checksoldier)
    {
        Soldier.Side soldSide = checksoldier.side;

        float      leastBlood = 101;
        GameObject result     = null;

        foreach (KeyValuePair <Soldier.Side, ArrayList> item in side2Troop)
        {
            if (item.Key == soldSide)
            {
                foreach (GameObject soldier in item.Value)
                {
                    if (checksoldier.gameObject.name == soldier.name)
                    {
                        continue;
                    }

                    if (soldier.GetComponent <Soldier>().blood < leastBlood)
                    {
                        result     = soldier;
                        leastBlood = soldier.GetComponent <Soldier>().blood;
                    }
                }
            }
        }

        return(result);
    }
Exemple #2
0
    public GameObject FindTauntWarrior(Soldier soldier)
    {
        Soldier.Side soldSide = soldier.side;

        GameObject result = null;

        foreach (KeyValuePair <Soldier.Side, ArrayList> item in side2Troop)
        {
            if (item.Key == soldSide)
            {
                continue;
            }
            foreach (GameObject enemy in item.Value)
            {
                if (enemy.GetComponent <Soldier>().isDead)
                {
                    continue;
                }

                if (enemy.name == "warrior")
                {
                    result = enemy;
                }
            }
        }

        return(result);
    }
Exemple #3
0
    public List <GameObject> FindFriendsInRange(Soldier checksoldier, float range)
    {
        Soldier.Side soldSide = checksoldier.side;

        List <GameObject> result = new List <GameObject>();

        foreach (KeyValuePair <Soldier.Side, ArrayList> item in side2Troop)
        {
            if (item.Key == soldSide)
            {
                foreach (GameObject soldier in item.Value)
                {
                    if (checksoldier.gameObject.name == soldier.name)
                    {
                        continue;
                    }

                    if (Vector3.Distance(checksoldier.transform.position, soldier.transform.position) < range)
                    {
                        result.Add(soldier);
                    }
                }
            }
        }

        return(result);
    }
Exemple #4
0
    public GameObject FindMyEnemy(Soldier soldier)
    {
        Soldier.Side soldSide = soldier.side;

        float      mixDis = citySize[0] + citySize[1];
        GameObject result = null;

        foreach (KeyValuePair <Soldier.Side, ArrayList> item in side2Troop)
        {
            if (item.Key == soldSide)
            {
                continue;
            }
            foreach (GameObject enemy in item.Value)
            {
                if (enemy.GetComponent <Soldier>().isDead)
                {
                    continue;
                }

                float enyDis = Vector3.Distance(soldier.transform.position, enemy.transform.position);
                if (enyDis < mixDis)
                {
                    result = enemy;
                    mixDis = enyDis;
                }
            }
        }

        return(result);
    }