Example #1
0
    public override void Reveal(int TileValue, Vector3 position)
    {
        GameButtonTile[] Mines = GetComponentsInChildren <GameButtonTile>();


        foreach (GameButtonTile mine in Mines)
        {
            /*    if (mine.GetComponent<TileID>().m_TileID != -1)
             *  {
             *      continue;
             *  }*/
            if (m_GameManger.m_GameState == GAMESTATE.WON)
            {
                position = mine.transform.localPosition;
                foreach (TileButton tb in m_Buttons)
                {
                    tb.ClearButton();
                    // cleanUp();
                }
            }
            else if (m_GameManger.m_GameState == GAMESTATE.LOSE)
            {
                position = mine.transform.localPosition;
                foreach (TileButton tb in m_Buttons)
                {
                    if (tb.m_TileValue == -1)
                    {
                        tb.ClearButton();
                        cleanUp();
                    }
                    else if (tb.m_TileValue >= 0 &&
                             (tb.m_State == BUTTONSTATE.FLAGGED ||
                              tb.m_State == BUTTONSTATE.QUESTIONED))
                    {
                        SwapWrong(tb.transform.localPosition);
                        tb.ClearButton();
                        cleanUp();
                    }
                }
            }
            Animator anim = mine.GetComponent <Animator>();

            if (mine.transform.localPosition == position && (TileValue == mine.GetComponent <TileID>().m_TileID || TileValue == 99))
            {
                if (m_GameManger.m_GameState == GAMESTATE.WON)
                {
                    anim.SetTrigger("Reveal");
                }
                if (TileValue != 99)
                {
                    m_GameManger.SetState(GAMESTATE.LOSE);
                }
                cleanUp();
            }
        }
    }