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); } } }
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; } }