コード例 #1
0
ファイル: ItemSlot.cs プロジェクト: jesst3r/3DGame
 public override void MouseMove(float X, float Y)
 {
     if (WM.MouseStillSeconds > 0.5f && this.Item != null)
     {
         ToolTipWindow tip = new ToolTipWindow(this.WM, this.Item.GetTooltip(), WM.MouseX, WM.MouseY, true);
         WM.Add(tip);
     }
 }
コード例 #2
0
ファイル: EquipWindow.cs プロジェクト: jesst3r/3DGame
        ItemSlot makeslot(int id, GameObject.MapEntities.Actors.Player Player)
        {
            ItemSlot s = new ItemSlot(Player.Equipment[id]);

            s.X                  = 0;
            s.Y                  = 0;
            s.CanGrab            = true;
            s.CanPut             = true;
            s.BeforeItemChanged += new ItemSlot.ItemEventHandler((sender, e) =>
            {
                GameObject.Item item = (GameObject.Item)(e as ItemSlot.ItemEventArgs).Item;
                if ((item as GameObject.Items.ItemEquip) == null)
                {
                    e.Cancel = true;
                    if (item == null)
                    {
                        Console.Write("^FF0000 No item.");
                    }
                    else
                    {
                        List <string> ToolTip = item.GetTooltip();
                        Console.WriteEx("^BEGINLINK " + GUI.Renderer.ColourToCode(item.NameColour) + "[" + item.GetName() + "] ^ENDLINK ^FF0000 is not a suitable item.", new List <Action> {
                            new Action(() => { GUI.ToolTipWindow tip = new GUI.ToolTipWindow(this.WM, ToolTip, WM.MouseX, WM.MouseY, false);
                                               WM.Add(tip); })
                        });
                    }
                }
            });
            s.ItemOut += new ItemSlot.ItemEventHandler((sender, e) =>
            {
                int thisslot = id;
                GameObject.Items.ItemEquip item = (GameObject.Items.ItemEquip)(e as ItemSlot.ItemEventArgs).Item;
                List <string> ToolTip           = item.GetTooltip();
                Console.WriteEx("^BEGINLINK " + GUI.Renderer.ColourToCode(item.NameColour) + "[" + item.GetName() + "] ^ENDLINK ^FFFFFF is removed.", new List <Action> {
                    new Action(() => { GUI.ToolTipWindow tip = new GUI.ToolTipWindow(this.WM, ToolTip, WM.MouseX, WM.MouseY, false);
                                       WM.Add(tip); })
                });
                Player.UnequipItem(item, thisslot);
            });
            s.ItemIn += new ItemSlot.ItemEventHandler((sender, e) =>
            {
                int thisslot = id;
                GameObject.Items.ItemEquip item = (GameObject.Items.ItemEquip)(e as ItemSlot.ItemEventArgs).Item;
                List <string> ToolTip           = item.GetTooltip();
                Console.WriteEx("^BEGINLINK " + GUI.Renderer.ColourToCode(item.NameColour) + "[" + item.GetName() + "] ^ENDLINK ^FFFFFF is equipped.", new List <Action> {
                    new Action(() => { GUI.ToolTipWindow tip = new GUI.ToolTipWindow(this.WM, ToolTip, WM.MouseX, WM.MouseY, false);
                                       WM.Add(tip); })
                });
                Player.EquipItem(item, thisslot);
            });

            return(s);
        }
コード例 #3
0
        private void MakeNewItem()
        {
            GameObject.Item Item = MakeRandomMat();

            Item = MakeRandomEquip();
            Item = MakeRandomGem();
            List <string> ToolTip = Item.GetTooltip();

            this.slot.Item = Item;
            Console.WriteEx("New item is ^BEGINLINK " + Renderer.ColourToCode(Item.NameColour) + "[" + Item.GetName() + "] ^ENDLINK .^FFFFFF Click name to see more.", new List <Action> {
                new Action(() => { ToolTipWindow tip = new ToolTipWindow(this.WM, ToolTip, WM.MouseX, WM.MouseY, false);
                                   WM.Add(tip); })
            });
        }
コード例 #4
0
        void OpenShop(NPCShop shop)
        {
            ShopWindow w = new ShopWindow(shop, player);
            Window     p = this.GetParentWindow();

            if (p != null)
            {
                w.X = p.X;
                w.Y = p.Y;
                p.Close();
            }
            WM.Add(w);
            w.Visible = true;
        }
コード例 #5
0
        private void OKButton_Clicked(object sender, EventArgs e)
        {
            GameObject.Item Item;
            Item                = GameObject.Items.Material.MaterialTemplates.GetRandomMaterial();
            Item.SubType        = GameObject.RNG.Next(GameObject.Items.Material.MaterialType.Max);
            Item.Description    = "A " + GameObject.Items.Material.MaterialType.GetTypeName(Item.SubType) + " made from " + Item.Name + ". Used in crafting equipment.";
            this.OKButton.Title = Item.GetName();
            this.slot.Item      = Item;
            ItemEquip eq = new ItemEquip();
            BonusPool p  = BonusPool.Load("heavy_0_10");

            eq.Bonuses.Add(p.PickBonus());
            eq.Bonuses.Add(p.PickBonus());
            Enchantment enc     = new Enchantment();
            int         enctype = GameObject.RNG.Next(0, 3);

            switch (enctype)
            {
            case 0:
            {
                enc = new Enchantment()
                {
                    Effecttext = "Fire damage +{0}%", Type = "dmg_scale_fire"
                };
                enc.LineColour = new Color(255, 50, 30);
                enc.Multiplier = 0.15f;
                break;
            }

            case 1:
            {
                enc = new Enchantment()
                {
                    Effecttext = "Water resistance +{0}%", Type = "element_multiplier_water"
                };
                enc.LineColour = new Color(0, 50, 200);
                enc.Multiplier = 0.05f;
                break;
            }

            case 2:
            {
                enc = new Enchantment()
                {
                    Effecttext = "Reduces poisoning duration by +{0}%", Type = "element_dot_time_poison"
                };
                enc.LineColour = new Color(0, 150, 20);
                enc.Multiplier = 0.33f;
                break;
            }
            }
            eq.Enchant = enc;
            eq.SubType = GameObject.RNG.Next(0, 10);
            if (eq.SubType == 7)
            {
                eq.SubType = 18;
            }
            if (eq.SubType == 8)
            {
                eq.SubType = 27;
            }
            if (eq.SubType == 9)
            {
                eq.SubType = 15;
            }
            eq.PrimaryMaterial   = Material.MaterialTemplates.GetRandomMaterial();
            eq.SecondaryMaterial = Material.MaterialTemplates.GetRandomMaterial();
            List <string> ToolTip = eq.GetTooltip();

            this.slot.Item = eq;
            Console.WriteEx("New item is ^BEGINLINK " + Renderer.ColourToCode(eq.NameColour) + "[" + eq.GetName() + "] ^ENDLINK .^FFFFFF Click name to see more.", new List <Action> {
                new Action(() => { ToolTipWindow tip = new ToolTipWindow(this.WM, ToolTip, WM.MouseX, WM.MouseY, false);
                                   WM.Add(tip); })
            });
            //this.Player.EquipItem(eq);
            this.Title = this.Player.CalculateStat("HP").ToString();
        }