Esempio n. 1
0
        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"));
                }
            }
        }
Esempio n. 2
0
        void OnEntityDeath(BaseCombatEntity entity, HitInfo info)
        {
            if (!(entity is BasePlayer))
            {
                return;
            }
            var player = (BasePlayer)entity;

            gathers.Remove(player);
            core.DestroyUI(player, "GatherAdvanced", "notifier");
        }
Esempio n. 3
0
 void BindsMenuClose(ConsoleSystem.Arg arg)
 {
     if (arg.Connection == null)
     {
         return;
     }
     core.DestroyUI(arg.Player(), "HotKeys", "menu");
 }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        void cmdCloseMenu(ConsoleSystem.Arg arg)
        {
            if (arg.Connection == null)
            {
                return;
            }
            var player = arg.Player();

            core.DestroyUI(player, "RandomCase", "menu");
        }
Esempio n. 6
0
 void DestroyBatteries(BasePlayer player)
 {
     if (!uiBatteriesCache.Contains(player.userID))
     {
         return;
     }
     Puts("2");
     core.DestroyUI(player, "CupboardSystem", "batteries");
     uiBatteriesCache.Remove(player.userID);
 }
Esempio n. 7
0
        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"));
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "TestCui", "imgtext");
 }
Esempio n. 10
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "SortItems", "menu");
 }
Esempio n. 11
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "Remove", "menu");
 }
Esempio n. 12
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "BuildingBlockGUI", "menu");
 }
Esempio n. 13
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "Skins", "menu");
 }
Esempio n. 14
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "ModeratorTools", "menu");
 }
Esempio n. 15
0
 void DuelManagerUI_Destroy(BasePlayer player)
 {
     core.DestroyUI(player, "DuelManager", "menu");
 }
Esempio n. 16
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "InfoPanel", "main");
 }
Esempio n. 17
0
 void DestroyUI(BasePlayer player)
 {
     core.DestroyUI(player, "BuildingUpgrade", "menu");
 }