示例#1
0
 public Scarab hasScarabType(Scarab.ScarabType type)
 {
     foreach (Scarab sc in scarabList)
     {
         if (sc.type == type)
         {
             return(sc);
         }
     }
     return(null);
 }
示例#2
0
    public int countScarabsOfType(Scarab.ScarabType type)
    {
        int nScarabs = 0;

        foreach (Scarab sc in scarabList)
        {
            if (sc.type == type)
            {
                nScarabs++;
            }
        }
        return(nScarabs);
    }
示例#3
0
    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);
    }
示例#4
0
    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);
    }
示例#5
0
    //	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();
        }
    }
示例#6
0
文件: GetScarab.cs 项目: euming/FotP
    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();
        }
    }
示例#7
0
 //	========================================================================================
 //	scarab stuff
 public Scarab AddRandomScarab()
 {
     Scarab.ScarabType rndScarab = (Scarab.ScarabType)((int)(Random.value * 2.0f));
     return(AddScarab(rndScarab));
 }