public void TestDoRemovePlayerWithValidInput()
        {
            PlayerComponent playerToRemove = buildValidPlayer();

            playerList.AddChild(playerToRemove);
            adapter = new PlayerDataGridAdapter(playerToRemove, playerList);
            adapter.RemovedMember = true;

            adapter.Do();
            Assert.AreEqual(0, playerList.GetChildren().Count, "PlayerDataGridAdapter does not remove properly.");
        }
Example #2
0
        private void RefreshPlayerList(IReadOnlyList <PlayerInfo> players)
        {
            PlayerList.RemoveAllChildren();
            var playerManager = IoCManager.Resolve <IPlayerManager>();

            PlayerCount.Text = $"Players: {playerManager.PlayerCount}";

            var altColor     = Color.FromHex("#292B38");
            var defaultColor = Color.FromHex("#2F2F3B");

            PlayerList.AddChild(new PlayerTabEntry("Username",
                                                   "Character",
                                                   "Job",
                                                   "Antagonist",
                                                   new StyleBoxFlat(altColor),
                                                   true));
            PlayerList.AddChild(new HSeparator());

            var useAltColor = false;

            foreach (var player in players)
            {
                var entry = new PlayerTabEntry(player.Username,
                                               player.CharacterName,
                                               player.StartingJob,
                                               player.Antag ? "YES" : "NO",
                                               new StyleBoxFlat(useAltColor ? altColor : defaultColor),
                                               player.Connected);
                entry.PlayerUid  = player.EntityUid;
                entry.OnPressed += args => OnEntryPressed?.Invoke(args);
                PlayerList.AddChild(entry);

                useAltColor ^= true;
            }
        }
 /// <summary>
 /// Updates the actual model to reflect the changes in the UI.
 /// </summary>
 public void Do()
 {
     if (CanBeDone())
     {
         if (!removed)
         {
             data.Name  = name;
             data.Race  = race;
             data.Gold  = gold;
             data.Wood  = wood;
             data.Metal = metal;
             if (added)
             {
                 playerList.AddChild(data);
             }
         }
         else
         {
             playerList.RemoveChild(data);
         }
     }
 }
Example #4
0
 /// <summary>
 /// Updates the actual model to reflect the changes in the UI.
 /// </summary>
 public void Do()
 {
     if (CanBeDone())
     {
         if (!removed)
         {
             data.SetName(name);
             data.SetRace(race);
             data.SetGold(gold);
             data.SetWood(wood);
             data.SetMetal(metal);
             if (added)
             {
                 playerList.AddChild(data);
             }
         }
         else
         {
             playerList.RemoveChild(data);
         }
     }
 }
Example #5
0
        public void RefreshPlayerList(IEnumerable <AdminMenuPlayerListMessage.PlayerInfo> players)
        {
            PlayerList.RemoveAllChildren();
            var playerManager = IoCManager.Resolve <IPlayerManager>();

            PlayerCount.Text = $"Players: {playerManager.PlayerCount}";

            var altColor     = Color.FromHex("#292B38");
            var defaultColor = Color.FromHex("#2F2F3B");

            var header = new HBoxContainer
            {
                HorizontalExpand   = true,
                SeparationOverride = 4,
                Children           =
                {
                    new Label
                    {
                        Text = "Username",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    },
                    new VSeparator(),
                    new Label
                    {
                        Text = "Character",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    },
                    new VSeparator(),
                    new Label()
                    {
                        Text = "Antagonist",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true,
                    }
                }
            };

            PlayerList.AddChild(new PanelContainer
            {
                PanelOverride = new StyleBoxFlat
                {
                    BackgroundColor = altColor,
                },
                Children =
                {
                    header
                }
            });
            PlayerList.AddChild(new HSeparator());

            var useAltColor = false;

            foreach (var player in players)
            {
                var hBox = new HBoxContainer
                {
                    HorizontalExpand   = true,
                    SeparationOverride = 4,
                    Children           =
                    {
                        new Label
                        {
                            Text = player.Username,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        },
                        new VSeparator(),
                        new Label
                        {
                            Text = player.CharacterName,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        },
                        new VSeparator(),
                        new Label()
                        {
                            Text = player.Antag ? "YES" : "NO",
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true,
                        }
                    }
                };
                PlayerList.AddChild(new PanelContainer
                {
                    PanelOverride = new StyleBoxFlat
                    {
                        BackgroundColor = useAltColor ? altColor : defaultColor,
                    },
                    Children =
                    {
                        hBox
                    }
                });
                useAltColor ^= true;
            }
        }
Example #6
0
        private void RefreshPlayerList(IReadOnlyList <PlayerInfo> players)
        {
            PlayerList.RemoveAllChildren();
            var playerManager = IoCManager.Resolve <IPlayerManager>();

            PlayerCount.Text = $"Players: {playerManager.PlayerCount}";

            var altColor     = Color.FromHex("#292B38");
            var defaultColor = Color.FromHex("#2F2F3B");

            var header = new BoxContainer
            {
                Orientation        = LayoutOrientation.Horizontal,
                HorizontalExpand   = true,
                SeparationOverride = 4,
                Children           =
                {
                    new Label
                    {
                        Text = "Username",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    },
                    new VSeparator(),
                    new Label
                    {
                        Text = "Character",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    },
                    new VSeparator(),
                    new Label()
                    {
                        Text = "Antagonist",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true,
                    }
                }
            };

            PlayerList.AddChild(new PanelContainer
            {
                PanelOverride = new StyleBoxFlat
                {
                    BackgroundColor = altColor,
                },
                Children =
                {
                    header
                }
            });
            PlayerList.AddChild(new HSeparator());

            var useAltColor = false;

            foreach (var player in players)
            {
                var hBox = new BoxContainer
                {
                    Orientation        = LayoutOrientation.Horizontal,
                    HorizontalExpand   = true,
                    SeparationOverride = 4,
                    Children           =
                    {
                        new Label
                        {
                            Text = player.Username,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        },
                        new VSeparator(),
                        new CommandButton()
                        {
                            Command = $"vv {player.EntityUid}",
                            Text    = player.CharacterName,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        },
                        new VSeparator(),
                        new Label()
                        {
                            Text = player.Antag ? "YES" : "NO",
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true,
                        }
                    }
                };
                PlayerList.AddChild(new PanelContainer
                {
                    PanelOverride = new StyleBoxFlat
                    {
                        BackgroundColor = useAltColor ? altColor : defaultColor,
                    },
                    Children =
                    {
                        hBox
                    }
                });
                useAltColor ^= true;
            }
        }
        public void RefreshPlayerList(Dictionary <string, string> namesToPlayers)
        {
            PlayerList.RemoveAllChildren();
            var playerManager = IoCManager.Resolve <IPlayerManager>();

            PlayerCount.Text = $"Players: {playerManager.PlayerCount}";

            var altColor     = Color.FromHex("#292B38");
            var defaultColor = Color.FromHex("#2F2F3B");

            var header = new HBoxContainer
            {
                HorizontalExpand   = true,
                SeparationOverride = 4,
                Children           =
                {
                    new Label
                    {
                        Text = "Name",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    },
                    new VSeparator(),
                    new Label
                    {
                        Text = "Player",
                        SizeFlagsStretchRatio = 2f,
                        HorizontalExpand      = true
                    }
                }
            };

            PlayerList.AddChild(new PanelContainer
            {
                PanelOverride = new StyleBoxFlat
                {
                    BackgroundColor = altColor,
                },
                Children =
                {
                    header
                }
            });
            PlayerList.AddChild(new HSeparator());

            var useAltColor = false;

            foreach (var(name, player) in namesToPlayers)
            {
                var hBox = new HBoxContainer
                {
                    HorizontalExpand   = true,
                    SeparationOverride = 4,
                    Children           =
                    {
                        new Label
                        {
                            Text = name,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        },
                        new VSeparator(),
                        new Label
                        {
                            Text = player,
                            SizeFlagsStretchRatio = 2f,
                            HorizontalExpand      = true,
                            ClipText = true
                        }
                    }
                };
                PlayerList.AddChild(new PanelContainer
                {
                    PanelOverride = new StyleBoxFlat
                    {
                        BackgroundColor = useAltColor ? altColor : defaultColor,
                    },
                    Children =
                    {
                        hBox
                    }
                });
                useAltColor ^= true;
            }
        }