Пример #1
0
        private void UpdateUiToReflectJoinedPlayers()
        {
            // To wipe any state that may come from Gum layout:
            MainMenuGum.UnjoinAll();

            if (JoinedPlayerManager.JoinedPlayers.Any())
            {
                // Max crashes if the list is empty
                var best = JoinedPlayerManager.JoinedPlayers.Max(
                    item => item.LastGameKills - item.LastGameDeaths);

                foreach (var player in JoinedPlayerManager.JoinedPlayers)
                {
                    var frame = MainMenuGum.JoinWith(player.ShipType.ToGum());

                    if (player.LastGameKills - player.LastGameDeaths == best)
                    {
                        frame.CurrentWinOrNormalState =
                            GumRuntimes.JoinableShipAndStatusRuntime.WinOrNormal.Winner;
                    }
                    else
                    {
                        frame.CurrentWinOrNormalState =
                            GumRuntimes.JoinableShipAndStatusRuntime.WinOrNormal.Normal;
                    }

                    frame.KillsText  = $"Kills: {player.LastGameKills}";
                    frame.DeathsText = $"Deaths: {player.LastGameDeaths}";
                }
            }
        }
Пример #2
0
        private void UnjoinWith(IInputDevice gamePad)
        {
            var unjoined = JoinedPlayerManager.DropPlayer(gamePad);

            if (unjoined != null)
            {
                MainMenuGum.UnjoinWith(unjoined.ShipType.ToGum());
            }
        }
Пример #3
0
        private void JoinWith(IInputDevice gamePad)
        {
            var newPlayer = JoinedPlayerManager.Join(gamePad);

            if (newPlayer != null)
            {
                MainMenuGum.JoinWith(newPlayer.ShipType.ToGum());
            }
        }