public Scarab hasScarabType(Scarab.ScarabType type) { foreach (Scarab sc in scarabList) { if (sc.type == type) { return(sc); } } return(null); }
public int countScarabsOfType(Scarab.ScarabType type) { int nScarabs = 0; foreach (Scarab sc in scarabList) { if (sc.type == type) { nScarabs++; } } return(nScarabs); }
public Scarab AddScarab(Scarab.ScarabType scarabType) { GameState curGamestate = GameState.GetCurrentGameState(); Scarab prefab = curGamestate.scarabPrefab; GameObject prefabGO = prefab.gameObject; GameObject bugGO = GameObject.Instantiate(prefabGO); GameState.Message("Instantiate bugGO"); Scarab bug = bugGO.GetComponent <Scarab>(); bug.type = scarabType; scarabList.Add(bug); bugGO.transform.parent = this.transform; // put this under the player board hierarchy. PlayerBoardAllUI.RefreshScarabUI(); return(bug); }
public bool UseScarab(Scarab.ScarabType type) { bool bSuccess = false; Scarab hasScarab = hasScarabType(type); if (hasScarab != null) { curScarabInUse = hasScarab; scarabList.Remove(hasScarab); // remove my scarab from the list and hold it in curScarabInUse until we've decided what happens to it. Consumed or Undo. PlayerBoardAllUI.RefreshScarabUI(); // this will wait until the player has selected a die, and then perform the scarab's delegate function on that die. this.AskToChooseDie(curScarabInUse.onDieSelect, type.ToString()); } return(bSuccess); }
// does something when we acquire this tile public override void OnAcquire(PlayerBoard plr) { base.OnAcquire(plr); if (doubleCurrentTokens_Ankh) { nScarabs = plr.CountScarabs(); } for (int ii = 0; ii < nScarabs; ii++) { rndType = (Scarab.ScarabType)Random.Range(0, 2); Scarab bug = plr.AddScarab(rndType); scarabList.Add(bug); bug.name = "Scarab " + rndType.ToString(); } }
List<Scarab> scarabList; // the scarab that is associated with this tile. #endregion Fields #region Methods // does something when we acquire this tile public override void OnAcquire(PlayerBoard plr) { base.OnAcquire(plr); if (doubleCurrentTokens_Ankh) { nScarabs = plr.CountScarabs(); } for (int ii = 0; ii < nScarabs; ii++) { rndType = (Scarab.ScarabType)Random.Range(0, 2); Scarab bug = plr.AddScarab(rndType); scarabList.Add(bug); bug.name = "Scarab " + rndType.ToString(); } }
// ======================================================================================== // scarab stuff public Scarab AddRandomScarab() { Scarab.ScarabType rndScarab = (Scarab.ScarabType)((int)(Random.value * 2.0f)); return(AddScarab(rndScarab)); }