Пример #1
0
    void OnTriggerEnter(Collider coll)
    {
        TroopClass tc = coll.gameObject.GetComponent <TroopClass>();

        if (tc != null)
        {
            Debug.Log("Entered a bush!");
            tc.Hide();
        }
    }
Пример #2
0
    private void updateClassCounts()
    {
        foreach (GameObject unit in enemyTroops)
        {
            TroopClass troopClass = TroopClass.Gatherer;

            troopClass = unit.GetComponent <Unit>().CurrentTroopClass;

            classCounts[(int)troopClass]++;
        }
    }
Пример #3
0
    public void spawnRandTroop()
    {
        // int randTroop = Random.Range(0, troopPrefabs.Length);
        int randTroop = 0;

        //troopClass2Spawn = (TroopClass)randTroop;
        troopClass2Spawn = TroopClass.Gatherer;
        if (thisteamNumber != TeamNumber.t2)
        {
            purchaseUnit(troopClass2Spawn);
        }
    }
Пример #4
0
    private void updateClassCounts()
    {
        classCounts = null;
        classCounts = new int[scene.unitPrefabs.Length];
        foreach (GameObject unit in enemyTroops)
        {
            TroopClass troopClass = TroopClass.Gatherer;

            troopClass = unit.GetComponent <Unit>().CurrentTroopClass;

            classCounts[(int)troopClass]++;
        }
    }
Пример #5
0
    public bool trySpawnUnit(TroopClass troopClass)
    {
        Unit localUnitScript = objectFactory.CreateUnit(troopClass, thisteamNumber);

        if (localUnitScript != null)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Пример #6
0
    public TroopClass getMostCommonEnemyClass()
    {
        updateEnemyTroopsList();
        TroopClass mostCommonClass = TroopClass.Warrior;

        for (int i = 0; i < classCounts.Length - 1; i++)
        {
            if (classCounts[i] > classCounts[i + 1])
            {
                mostCommonClass = (TroopClass)i;
            }
        }
        return(mostCommonClass);
    }
Пример #7
0
    public bool canAffordTroop(TeamNumber teamNumber, TroopClass troopClass)
    {
        //Debug.Log("Team Number : " + ((int)teamNumber));
        // Debug.Log("TroopClass  : " + ((int)troopClass));
        int playerGold = playerGoldCounts[(int)teamNumber - 1];
        int troopCost  = troopCosts[troopClass];

        if (playerGold >= troopCost)
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
Пример #8
0
    //OVERLOAD: Applies the command method to every element of the troopstack. ONLY for Stack<TroopClass>
    public static void IterateAll(Stack <TroopClass> troopStack, TroopCommand command)
    {
        Stack <TroopClass> temp = new Stack <TroopClass>();

        while (troopStack.Count > 0)
        {
            TroopClass troop = (TroopClass)troopStack.Pop();
            command(troop);
            temp.Push(troop);
        }
        while (temp.Count > 0)
        {
            troopStack.Push(temp.Pop());
        }
        return;
    }
Пример #9
0
 public bool purchaseUnit(TroopClass troopClass)
 {
     if (scene.canAffordTroop(thisteamNumber, troopClass))
     {
         if (trySpawnUnit(troopClass))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
Пример #10
0
    public Unit CreateUnit(TroopClass troopClass, TeamNumber teamNumber)
    {
        GameObject unitGO     = null;
        Unit       unitScript = null;

        float randSpawnLoc = Random.Range(-(spawner.spawnRange), spawner.spawnRange);

        //Debug.Log("TroopClass of troop about to be spawned is : " + (int)troopClass);
        unitGO     = Instantiate(unitsPrefabs[(int)troopClass], (this.transform.position + new Vector3(0, randSpawnLoc, 0)), Quaternion.identity) as GameObject;
        unitScript = unitGO.GetComponent <Unit>();
        unitScript.Initialize(troopClass, teamNumber);
        scene.subtractUnitCost(troopClass, teamNumber);
        scene.getTroopsList().Add(unitGO);
        //Debug.Log("Troop  Team Number : " + unitGO.GetComponent<Unit>().ThisTeamNumber);
        //Debug.Log("Spawner  Team Number : " + spawner.thisteamNumber);

        return(unitScript);
    }
Пример #11
0
 public static void UnmarkTroop(TroopClass troop)
 {
     troop.UnmarkSelected();
 }
Пример #12
0
 public static void AddTroop(TroopClass troop)
 {
     troop.MarkSelected();
     selectedTroops.Push(troop);
 }
Пример #13
0
 public void tryPurchaseUnit(TroopClass troopClass)
 {
     //Debug.Log("Spawner : " + spawner);
     spawner.purchaseUnit(troopClass);
 }
Пример #14
0
 //Delegated helper function for MoveTroops
 void MoveTroop(TroopClass troop)
 {
     troop.Move(pointSelected, true);
 }
Пример #15
0
 public void subtractUnitCost(TroopClass troopClass, TeamNumber teamNumber)
 {
     playerGoldCounts[(int)teamNumber - 1] -= troopCosts[troopClass];
 }
Пример #16
0
    //void SpawnCounterTroop()
    //{
    //    //spawnWarrior();
    //    Task.current.Succeed();
    //}
    public TroopClass findCounterClass()
    {
        TroopClass counterClass = sb.matchups[sb.matchups[getMostCommonEnemyClass()]];

        return(counterClass);
    }
Пример #17
0
 void Start()
 {
     tc = gameObject.GetComponent <TroopClass>();
 }
Пример #18
0
 void Start()
 {
     tc = GetComponent <TroopClass>();
     SetAnimLayer();
     SetCombatParams();
 }