void OnPlayerAttack(BasePlayer attacker, HitInfo hitinfo) { var victim = hitinfo.HitEntity as BasePlayer; if (victim && hitmarkeron.Contains(attacker)) { bool isFriend = (Clans?.Call("HasFriend", attacker.userID, victim.userID) as bool?) ?? false; if (hitinfo.isHeadshot) { if (enablesound == true) { Effect.server.Run(headshotsoundeffect, attacker.transform.position, Vector3.zero, attacker.net.connection); } DestroyLastCui(attacker); core.DrawUI(attacker, "HitMarkerGUI", "menu", Images["hitmarker.hit.head"]); destTimers[attacker] = timer.Once(0.5f, () => core.DestroyUI(attacker, "HitMarkerGUI", "menu")); } else { if (enablesound) { Effect.server.Run(soundeffect, attacker.transform.position, Vector3.zero, attacker.net.connection); } DestroyLastCui(attacker); core.DrawUI(attacker, "HitMarkerGUI", "menu", Images["hitmarker.hit." + (isFriend ? "friend" : "normal")]); destTimers[attacker] = timer.Once(0.5f, () => core.DestroyUI(attacker, "HitMarkerGUI", "menu")); } } }
void OnEntityDeath(BaseCombatEntity entity, HitInfo info) { if (!(entity is BasePlayer)) { return; } var player = (BasePlayer)entity; gathers.Remove(player); core.DestroyUI(player, "GatherAdvanced", "notifier"); }
void BindsMenuClose(ConsoleSystem.Arg arg) { if (arg.Connection == null) { return; } core.DestroyUI(arg.Player(), "HotKeys", "menu"); }
bool?CanWearItem(PlayerInventory inventory, Item item) { var player = inventory.gameObject.ToBaseEntity() as BasePlayer; if (InDuel(player)) { return(true); } var ret = blockedItems.All(entry => !entry.Value.Contains(item.info.shortname)) ? (bool?)null : false; if (ret == false) { core.DrawUI(player, "ItemBlocker", "blockedItem", GetTime(item)); timer.Once(2f, () => core.DestroyUI(player, "ItemBlocker", "blockedItem")); } return(ret); }
void cmdCloseMenu(ConsoleSystem.Arg arg) { if (arg.Connection == null) { return; } var player = arg.Player(); core.DestroyUI(player, "RandomCase", "menu"); }
void DestroyBatteries(BasePlayer player) { if (!uiBatteriesCache.Contains(player.userID)) { return; } Puts("2"); core.DestroyUI(player, "CupboardSystem", "batteries"); uiBatteriesCache.Remove(player.userID); }
void OnEntityBuilt(Planner plan, GameObject go) { if (go == null || plan == null) { return; } if (go.name != "assets/prefabs/deployable/tool cupboard/cupboard.tool.deployed.prefab") { return; } var player = plan.GetOwnerPlayer(); core.DrawUI(player, "CupboardNotify", "main"); timer.Once(15f, () => core.DestroyUI(player, "CupboardNotify", "main")); }
void AddShopPlayer(ulong userId) { if (!players.ContainsKey(userId)) { players[userId] = new ShopPlayer() { Points = 15, TotalOnlineSeconds = 0 } } ; } #endregion #region UI void CreateItemsUI() { float gap = 0.014f; float width = 0.15f; float height = 0.17f; float startxBox = gap; float startyBox = 1f - height - 0.05f; float xmin = startxBox; float ymin = startyBox; itemsUI = new CuiElementContainer(); int i = 0; var mainParent = itemsUI.Add(new CuiPanel() { Image = { Color = "0 0 0 0" } }, "rustyshop.items", "rustyshop.items.customui"); foreach (var item in items) { var min = $"{xmin} {ymin}"; var max = $"{xmin + width} {ymin + height}"; var panelname = itemsUI.Add(new CuiPanel() { Image = { Color = "0 0 0 0" }, RectTransform = { AnchorMin = min, AnchorMax = max } }, mainParent); itemsUI.Add(new CuiButton() { Button = { Command = $"rustyshop.buy {i}", Color = "0.3 0.5 0.4 1" }, RectTransform = { AnchorMin = "0 0", AnchorMax = "1 0.25" }, Text = { Text = $"<color=orange><color=#00ccff>{item.Amount}</color> за <color=#ffcc00>{item.Cost}</color> р.</color>", FontSize = 16, Align = TextAnchor.MiddleCenter } }, panelname); itemsUI.Add(new CuiElement() { Name = CuiHelper.GetGuid(), Parent = panelname, Components = { new CuiRawImageComponent() { Png = ImageStorage.FetchPng(item.DisplayName), Sprite = "assets/content/textures/generic/fulltransparent.tga" }, new CuiRectTransformComponent() { AnchorMin = "0 0.25", AnchorMax = "1 1" } } }); xmin += width + gap; if (xmin + width >= 1) { xmin = startxBox; ymin -= height + gap; } i++; } } void DrawUI(BasePlayer player) { var shopPlayer = players[player.userID]; foreach (var we in itemsUI) { CuiHelper.DestroyUi(player, we.Name); } core.DrawUIWithEx(player, "RustyShop", "menu", itemsUI, shopPlayer.Points, core.TimeToString(shopPlayer.TotalOnlineSeconds)); } void DestroyUI(BasePlayer player) { core.DestroyUI(player, "RustyShop", "menu"); } IEnumerator LoadImages() { foreach (var item in items) { yield return(CommunityEntity.ServerInstance.StartCoroutine(ImageStorage.Store(item.DisplayName, item.URL))); } CreateItemsUI(); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "TestCui", "imgtext"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "SortItems", "menu"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "Remove", "menu"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "BuildingBlockGUI", "menu"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "Skins", "menu"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "ModeratorTools", "menu"); }
void DuelManagerUI_Destroy(BasePlayer player) { core.DestroyUI(player, "DuelManager", "menu"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "InfoPanel", "main"); }
void DestroyUI(BasePlayer player) { core.DestroyUI(player, "BuildingUpgrade", "menu"); }