//You can also get a call when the player's cursor hovers over an icon/button so that you can display info about it
    //Example code below for displaying item info in the hotbar
    public override void ButtonEnter(string name, SegmentEntity targetEntity)
    {
        MyModMachine machine = targetEntity as MyModMachine;

        if (name == "itemicon")
        {
            ItemBase itemForSlot = ItemManager.SpawnItem(100);
            int      count       = itemForSlot.GetAmount();
            if (itemForSlot == null)
            {
                return;
            }
            if (HotBarManager.mbInited)
            {
                HotBarManager.SetCurrentBlockLabel(ItemManager.GetItemName(itemForSlot));
            }
            else
            {
                if (!SurvivalHotBarManager.mbInited)
                {
                    return;
                }
                string name1 = !WorldScript.mLocalPlayer.mResearch.IsKnown(itemForSlot) ? "Unknown Material" : ItemManager.GetItemName(itemForSlot);
                if (count > 1)
                {
                    SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}", count, name1));
                }
                else
                {
                    SurvivalHotBarManager.SetCurrentBlockLabel(name1);
                }
            }
        }
    }
    public override void ButtonEnter(string name, SegmentEntity targetEntity)
    {
        ExtraStorageHoppers hopper = targetEntity as ExtraStorageHoppers;
        string   empty             = string.Empty;
        ItemBase itemForSlot       = this.GetItemForSlot(hopper, name);

        if (itemForSlot == null)
        {
            return;
        }
        if (HotBarManager.mbInited)
        {
            HotBarManager.SetCurrentBlockLabel(ItemManager.GetItemName(itemForSlot));
        }
        else
        {
            if (!SurvivalHotBarManager.mbInited)
            {
                return;
            }
            string text             = WorldScript.mLocalPlayer.mResearch.IsKnown(itemForSlot) ? ItemManager.GetItemName(itemForSlot) : "Unknown Material";
            int    currentStackSize = ItemManager.GetCurrentStackSize(itemForSlot);
            if (currentStackSize > 1)
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}", currentStackSize, text));
            }
            else
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(text);
            }
        }
    }
예제 #3
0
        public override void ButtonEnter(string name, SegmentEntity targetEntity)
        {
            var quantumIoPort = targetEntity as QuantumIoPortMachine;
            var controller    = quantumIoPort.GetController();

            if (controller == null || !controller.IsOperating())
            {
                return;
            }

            if (name.Contains("iconItem"))
            {
                int.TryParse(name.Replace("iconItem", string.Empty), out var slot);
                if (slot > -1 && slot < SlotCount)
                {
                    var item = controller.GetItem(slot);


                    if (item == null)
                    {
                        return;
                    }

                    if (HotBarManager.mbInited)
                    {
                        HotBarManager.SetCurrentBlockLabel(ItemManager.GetItemName(item));
                    }
                    else
                    {
                        if (!SurvivalHotBarManager.mbInited)
                        {
                            return;
                        }

                        var name1 = WorldScript.mLocalPlayer.mResearch.IsKnown(item)
                            ? ItemManager.GetItemName(item)
                            : PersistentSettings.GetString("Unknown_Material");
                        var currentStackSize = ItemManager.GetCurrentStackSize(item);
                        if (currentStackSize > 1)
                        {
                            SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}",
                                                                                     currentStackSize, name1));
                        }
                        else
                        {
                            SurvivalHotBarManager.SetCurrentBlockLabel(name1);
                        }
                    }
                }
            }
        }
예제 #4
0
 public void ButtonEnter(string name)
 {
     this.mHoverButton = name;
     if (name.StartsWith("Suit_Slot"))
     {
         int      num    = int.Parse(name.Substring("Suit_Slot".Length, name.Length - "Suit_Slot".Length - "_Collider".Length)) - 1;
         int      x      = num % 10;
         int      y      = num / 10;
         string   text   = string.Empty;
         ItemBase itemAt = this.SuitInventory.GetItemAt(x, y);
         if (itemAt != null)
         {
             if (HotBarManager.mbInited)
             {
                 text = ItemManager.GetItemName(itemAt);
                 HotBarManager.SetCurrentBlockLabel(text);
             }
             else if (SurvivalHotBarManager.mbInited)
             {
                 if (WorldScript.mLocalPlayer.mResearch.IsKnown(itemAt))
                 {
                     text = ItemManager.GetItemName(itemAt);
                 }
                 else
                 {
                     text = "Unknown Material";
                 }
                 int currentStackSize = ItemManager.GetCurrentStackSize(itemAt);
                 if (currentStackSize > 1)
                 {
                     SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}", currentStackSize, text));
                 }
                 else
                 {
                     SurvivalHotBarManager.SetCurrentBlockLabel(text);
                 }
             }
         }
     }
 }
예제 #5
0
    public override void ButtonEnter(string name, SegmentEntity targetEntity)
    {
        FreightSystemMonitor monitor = targetEntity as FreightSystemMonitor;

        if (this.CurrentWindow != WindowTypes.GlobalInventory)
        {
            return;
        }
        string   str = string.Empty;
        int      count;
        ItemBase itemForSlot = this.GetItemForSlot(name, out count);

        if (itemForSlot == null)
        {
            return;
        }
        if (HotBarManager.mbInited)
        {
            HotBarManager.SetCurrentBlockLabel(ItemManager.GetItemName(itemForSlot));
        }
        else
        {
            if (!SurvivalHotBarManager.mbInited)
            {
                return;
            }
            string name1 = !WorldScript.mLocalPlayer.mResearch.IsKnown(itemForSlot) ? "Unknown Material" : ItemManager.GetItemName(itemForSlot);
            if (count > 1)
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}", count, name1));
            }
            else
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(name1);
            }
        }
    }
예제 #6
0
    public override void ButtonEnter(string name, SegmentEntity targetEntity)
    {
        MSAccessPort port = targetEntity as MSAccessPort;

        if (!name.Contains("itemicon"))
        {
            return;
        }
        string   str = string.Empty;
        int      count;
        ItemBase itemForSlot = this.GetItemForSlot(name, out count, port);

        if (itemForSlot == null)
        {
            return;
        }
        if (HotBarManager.mbInited)
        {
            HotBarManager.SetCurrentBlockLabel(ItemManager.GetItemName(itemForSlot));
        }
        else
        {
            if (!SurvivalHotBarManager.mbInited)
            {
                return;
            }
            string name1 = !WorldScript.mLocalPlayer.mResearch.IsKnown(itemForSlot) ? "Unknown Material" : ItemManager.GetItemName(itemForSlot);
            if (count > 1)
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(string.Format("{0} {1}", count, name1));
            }
            else
            {
                SurvivalHotBarManager.SetCurrentBlockLabel(name1);
            }
        }
    }