Exemplo n.º 1
0
                public static PlayerItem CreateAndAddToList(ListView list,
                                                            Screen screen,
                                                            PlayerInsignia insignia,
                                                            int initialTeamID,
                                                            PlayerTypeCategory playerTypeCategory)
                {
                    var newItem = new PlayerItem(screen, insignia, initialTeamID, playerTypeCategory);

                    list.AddItem(newItem);
                    newItem.SetStyle("PlayerItem");
                    return(newItem);
                }
Exemplo n.º 2
0
                protected PlayerItem(Screen screen, PlayerInsignia insignia, int initialTeamID, PlayerTypeCategory playerTypeCategory)
                {
                    this.Insignia = insignia;

                    elementToTypeMap = new Dictionary <UIElement, PlayerType>();
                    elementToTeamMap = new Dictionary <UIElement, int>();

                    var child =
                        screen.Game.UI.LoadLayout(screen.Game.PackageManager.GetXmlFile("UI/PlayerItemLayout.xml", true));

                    AddChild(child);

                    BorderImage playerShield = (BorderImage)child.GetChild("PlayerShield", true);

                    playerTypeList = (DropDownList)child.GetChild("PlayerTypeList", true);
                    teamList       = (DropDownList)child.GetChild("TeamList", true);

                    playerShield.Texture   = insignia.ShieldTexture;
                    playerShield.ImageRect = insignia.ShieldRectangle;

                    foreach (var player in screen.Level.GamePack.GetPlayersWithTypeCategory(playerTypeCategory))
                    {
                        var item = InitTypeItem(player, screen.Game, screen.MenuUIManager);
                        playerTypeList.AddItem(item);
                        elementToTypeMap.Add(item, player);
                    }

                    if (playerTypeCategory != PlayerTypeCategory.Neutral)
                    {
                        for (int teamID = 1; teamID <= screen.Level.MaxNumberOfPlayers; teamID++)
                        {
                            UIElement item = InitTeamItem(teamID, screen.Game, screen.MenuUIManager);
                            teamList.AddItem(item);
                            elementToTeamMap.Add(item, teamID);

                            if (teamID == initialTeamID)
                            {
                                teamList.Selection = teamList.NumItems - 1;
                            }
                        }
                    }
                    else
                    {
                        teamList.Visible = false;
                    }
                }