void RemoveTeamUiForPlayer(BasePlayer player, IemUtils.IIemTeamGame teamGame) { string gui = "team_overlay_" + teamGame.GetGuid().ToString(); CuiHelper.DestroyUi(player, gui); guiList.Remove(gui); }
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()); } } }
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); }
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); }
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); }