void OnTriggerEnter(Collider coll) { TroopClass tc = coll.gameObject.GetComponent <TroopClass>(); if (tc != null) { Debug.Log("Entered a bush!"); tc.Hide(); } }
private void updateClassCounts() { foreach (GameObject unit in enemyTroops) { TroopClass troopClass = TroopClass.Gatherer; troopClass = unit.GetComponent <Unit>().CurrentTroopClass; classCounts[(int)troopClass]++; } }
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); } }
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]++; } }
public bool trySpawnUnit(TroopClass troopClass) { Unit localUnitScript = objectFactory.CreateUnit(troopClass, thisteamNumber); if (localUnitScript != null) { return(true); } else { return(false); } }
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); }
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); } }
//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; }
public bool purchaseUnit(TroopClass troopClass) { if (scene.canAffordTroop(thisteamNumber, troopClass)) { if (trySpawnUnit(troopClass)) { return(true); } else { return(false); } } else { return(false); } }
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); }
public static void UnmarkTroop(TroopClass troop) { troop.UnmarkSelected(); }
public static void AddTroop(TroopClass troop) { troop.MarkSelected(); selectedTroops.Push(troop); }
public void tryPurchaseUnit(TroopClass troopClass) { //Debug.Log("Spawner : " + spawner); spawner.purchaseUnit(troopClass); }
//Delegated helper function for MoveTroops void MoveTroop(TroopClass troop) { troop.Move(pointSelected, true); }
public void subtractUnitCost(TroopClass troopClass, TeamNumber teamNumber) { playerGoldCounts[(int)teamNumber - 1] -= troopCosts[troopClass]; }
//void SpawnCounterTroop() //{ // //spawnWarrior(); // Task.current.Succeed(); //} public TroopClass findCounterClass() { TroopClass counterClass = sb.matchups[sb.matchups[getMostCommonEnemyClass()]]; return(counterClass); }
void Start() { tc = gameObject.GetComponent <TroopClass>(); }
void Start() { tc = GetComponent <TroopClass>(); SetAnimLayer(); SetCombatParams(); }