Exemple #1
0
        void RemoveTeamUiForPlayer(BasePlayer player, IemUtils.IIemTeamGame teamGame)
        {
            string gui = "team_overlay_" + teamGame.GetGuid().ToString();

            CuiHelper.DestroyUi(player, gui);
            guiList.Remove(gui);
        }
Exemple #2
0
 public static void UpdateUiForPlayers(IemUtils.IIemTeamGame teamGame)
 {
     foreach (IemGameBase.IemPlayer iemPlayer in teamGame.Players.Values)
     {
         BasePlayer player = IemUtils.FindPlayerByID(iemPlayer.PlayerId);
         ShowTeamUiForPlayer(player, teamGame);
         if (!teamGame.CanStart())
         {
             CreateGameBanner(player, teamGame.CanStartCriteria());
         }
     }
 }
Exemple #3
0
        public static Timer ShowResultsUiFor(List <IemUtils.IIemPlayer> iemPlayers,
                                             IemUtils.IIemTeamGame teamData,
                                             int showForSeconds)
        {
            foreach (IemUtils.IIemTeamPlayer iemPlayer in iemPlayers)
            {
                ShowResultsUiFor(iemPlayer.AsBasePlayer(),
                                 teamData);

                iemUI.timer.Once(10f, () =>
                {
                    CuiHelper.DestroyUi(iemPlayer.AsBasePlayer(), "game_results_overlay");
                });
            }
            return(null);
        }
Exemple #4
0
        void ShowTeamUiForPlayer(BasePlayer player, IemUtils.IIemTeamGame teamGame)
        {
            int teamSlot = 0;

            string gui = "team_overlay_" + teamGame.GetGuid().ToString();

            guiList.Add(gui);
            CuiHelper.DestroyUi(player, gui);

            var container = Hud.CreateElementContainer(
                gui,
                "0.3 0.3 0.3 0.0",
                "0.0 0.12",
                "1.0 1.0",
                false);

            string[,] teamSlots =
            {
                { "0.0 0.55",  "0.15 0.9"  },
                { "0.85 0.55", "1.0 0.9"   },
                { "0.0 0.1",   "0.15 0.50" },
                { "0.85 0.1",  "1.0 0.50"  }
            };

            foreach (IemUtils.IIemTeam team in teamGame.Teams.Values)
            {
                IemUtils.DLog(team.Name);
                string team_gui = "team_";
                //CuiHelper.DestroyUi(player, item.GetGuid().To);

                //IemUtils.DLog("teamSlots[teamSlot,0] = " + teamSlots[teamSlot, 0]);
                //IemUtils.DLog("teamSlots[teamSlot,1] = " + teamSlots[teamSlot, 1]);



                Hud.CreatePanel(ref container,
                                gui,
                                "1.0 1.0 1.0 0.6",
                                team.Name,
                                14,
                                teamSlots[teamSlot, 0],
                                teamSlots[teamSlot, 1],
                                TextAnchor.UpperCenter);

                Hud.CreateLabel(ref container,
                                gui,
                                GetColor(team.Color),
                                team.Name,
                                22,
                                teamSlots[teamSlot, 0],
                                teamSlots[teamSlot, 1],
                                TextAnchor.UpperCenter);



                string playerListString = "\n\n";
                foreach (var playerName in team.Players.Values)
                {
                    IemUtils.DLog("adding player: " + playerName.Name);
                    playerListString = playerListString + playerName.Name + "\n";
                }

                Hud.CreateLabel(ref container, gui, "",
                                $"{playerListString}",
                                18,
                                teamSlots[teamSlot, 0],
                                teamSlots[teamSlot, 1],
                                TextAnchor.UpperCenter);

                teamSlot++;
            }
            CuiHelper.AddUi(player, container);
        }
Exemple #5
0
        public static void ShowResultsUiFor(BasePlayer player,
                                            IemUtils.IIemTeamGame teamData)
        {
            int    teamSlot = 0;
            string gui      = "game_results_overlay";

            guiList.Add(gui);
            CuiHelper.DestroyUi(player, gui);

            var elements = new CuiElementContainer();
            var mainName = elements.Add(new CuiPanel
            {
                Image =
                {
                    Color = "0.6 0.3 0.3 1.0"
                },
                RectTransform =
                {
                    AnchorMin = "0.15 0.12",
                    AnchorMax = "0.85 0.9"
                },
                CursorEnabled = true
            }, "Overlay", gui);



            elements.Add(new CuiButton
            {
                Button =
                {
                    //Command = "iem.menu toggle",
                    Close = mainName,
                    Color = "128 64 0 1"
                },
                RectTransform =
                {
                    AnchorMin = "0.94 0.94",
                    AnchorMax = "0.98 0.98",
                },
                Text =
                {
                    Text     = "X",
                    FontSize =                      22,
                    Align    = TextAnchor.MiddleCenter,
                    Color    = "255 255 255             1"
                }
            }, mainName);

            elements.Add(new CuiButton
            {
                Button =
                {
                    Close = mainName,
                    Color = "0 255 0 1"
                },
                RectTransform =
                {
                    AnchorMin = "0.4 0.16",
                    AnchorMax = "0.6 0.2"
                },
                Text =
                {
                    Text     = "OK",
                    FontSize =   22,
                    Align    = TextAnchor.MiddleCenter
                }
            }, mainName);

            string winnerMessage = "";

            if (teamData.Winner() != null)
            {
                winnerMessage += "Team " + teamData.Winner().Name + "won!";
            }

            elements.Add(new CuiLabel
            {
                Text =
                {
                    Text     = winnerMessage,
                    FontSize =            28,
                    Align    = TextAnchor.UpperCenter
                },
                RectTransform =
                {
                    AnchorMin = "0.2 0.8",
                    AnchorMax = "0.8 0.95"
                }
            }, mainName);

            foreach (var team in teamData.Teams.Values)
            {
                //IemUtils.DLog(item.TeamName);
                CuiHelper.DestroyUi(player, team.Name);



                elements.Add(new CuiLabel
                {
                    Text =
                    {
                        Text     = team.Name,
                        FontSize =        28,
                        Align    = TextAnchor.UpperCenter
                    },
                    RectTransform =
                    {
                        AnchorMin = teamSlotsResults[teamSlot, 0],
                        AnchorMax = teamSlotsResults[teamSlot, 1]
                    }
                }, mainName);

                string playerListString = "\n\n";
                foreach (var teamPlayer in team.Players.Values)
                {
                    playerListString = playerListString + teamPlayer.Name + ":" + teamPlayer.Score + "\n";
                }

                elements.Add(new CuiLabel
                {
                    Text =
                    {
                        Text     = $"{playerListString}",
                        FontSize =                    18,
                        Align    = TextAnchor.UpperCenter
                    },
                    RectTransform =
                    {
                        AnchorMin = teamSlotsResults[teamSlot, 0],
                        AnchorMax = teamSlotsResults[teamSlot, 1]
                    }
                }, mainName);


                teamSlot++;
            }
            CuiHelper.AddUi(player, elements);
        }