Example #1
0
 public void GameOver(int winner)
 {
     if (state == GameState.End)
     {
         state = GameState.Start;
         if (winner == 0)
         {
             map.ResetPieces();
             foreach (var piece in _piecesList)
             {
                 piece.Reset();
                 map.PutPiece(Vector3Int.RoundToInt(piece.CurrentPosition - piece.offset), piece);
             }
             WinHandler?.Invoke();
         }
         else
         {
             if (LossHandler != null)
             {
                 LossHandler(GetTeamAlive(1));
             }
             map.ResetPieces();
         }
         SetDraggable(true, 0);
         currentPiece = _piecesList.GetEnumerator();
         foreach (var piece in _piecesList)
         {
             piece.Reset();
             map.PutPiece(Vector3Int.RoundToInt(piece.CurrentPosition - piece.offset), piece);
         }
     }
 }
Example #2
0
        private void Window_StateChanged(object sender, EventArgs e)
        {
            switch (this.WindowState)
            {
            case WindowState.Maximized:
                break;

            case WindowState.Minimized:
                Router.instance.HideMain();
                Router.instance.DisplayPage(Router.Pages.Main);
                WinHandler?.Invoke(this, new WinState(WinState.State.Hide));
                break;

            case WindowState.Normal:
                WinHandler?.Invoke(this, new WinState(WinState.State.Show));
                break;
            }
        }