示例#1
0
    void Add(int index, InvInfo Item)
    {
        note.ItemTransaction(Item, false);
        int AmountLeft = Item.Amount;

        for (int x = 0; x < Contents.Length; x++)                               //check each inventory item
        {
            if (Contents[x].Id == Item.Id)                                      //for the same id/item type
            {
                int SpaceAvailable = Contents[x].StackNum - Contents[x].Amount; //Find space left in slot



                for (int i = 0; (i < SpaceAvailable) && (AmountLeft != 0); i++)               //fill each space left with what's available
                {
                    AmountLeft--;
                    Contents[x].Amount++;
                }

                if (AmountLeft == 0)
                {
                    Destroy(Item.gameObject);
                }
            }
        }

        if (AmountLeft >= 1)
        {
            Item.Amount       = AmountLeft;
            Contents[current] = Item;
            current++;
        }
    }
示例#2
0
 private static void Compare(InvInfo inv, Item it, Item compare)
 {
     var a = compare.stats;
     var b = it.stats;
     inv.compare.text = "Ќаденув вы получете:\r\n";
     for (int i = 0; i < a.stats.Length; i++)
     {
         var dif = b.stats[i] - a.stats[i];
         if (dif != 0 )
             inv.compare.text += (dif > 0 ? "#[00DD00]" : "#[DD0000]") + string.Format(a.texts[i], dif.ToString("+#;-#;0")) + "[-]\r\n";
     }
 }
示例#3
0
    private static void Compare(InvInfo inv, Item it, Item compare)
    {
        var a = compare.stats;
        var b = it.stats;

        inv.compare.text = "Ќаденув вы получете:\r\n";
        for (int i = 0; i < a.stats.Length; i++)
        {
            var dif = b.stats[i] - a.stats[i];
            if (dif != 0)
            {
                inv.compare.text += (dif > 0 ? "#[00DD00]" : "#[DD0000]") + string.Format(a.texts[i], dif.ToString("+#;-#;0")) + "[-]\r\n";
            }
        }
    }
示例#4
0
    private void SetInv(bool show, InvInfo inv, Item it, Item compare = null)
    {
        inv.gameObject.SetActive(show);
        if (show)
        {
            if (it.slotType == SlotType.Hand)
            {
                inv.damage.text     = it.DamagePerSecond.ToString();
                inv.info.text       = string.Format("[6D6D6D]ед. урона в секунду[-]\n\n{0} урон\n{1} јтак в секунду", it.Damage, it.attacksPerSecond);
                inv.durability.text = string.Format("[AF8346]прочность[-]:{0}/{0}", it.durability);
                inv.handType.text   = string.Format("[6D6D6D]{0}[-]\n[AF8346]", it.TwoHanded ? "ƒвуxручное ќружее" : "ќдноручное оружее");
            }
            else
            {
                inv.damage.text    = it.Armor.ToString();
                inv.sellValue.text = string.Format("цена продажи:[-]{0}$", it.sellValue);
                inv.handType.text  = TR(it.slotType.ToString());
                inv.info.text      = "[6D6D6D]Ѕрон¤[-]";
            }
            inv.compare.text          = "";
            inv.Background.color      = it.color;
            inv.type.text             = TR(it.quality.ToString()) + " " + TR(it.weaponSubName.ToString());
            inv.uiTexture.mainTexture = it.Texture;
            inv.Title.text            = it.Name.ToUpper();
            inv.type.color            = it.color;

            inv.level.text = "“ребуемый уровень: " + it.itemLevel;

            if (compare != null)
            {
                Compare(inv, it, compare);
            }

            var stats = it.stats;
            inv.magicSettings.text = "";
            for (int i = 0; i < stats.stats.Length; i++)
            {
                if (stats.stats[i] > 0 && !stats.noRand[i])
                {
                    inv.magicSettings.text += "#[5454CC]" + string.Format(stats.texts[i], (int)stats.stats[i]) + "[-]\r\n";
                }
            }
        }
    }
示例#5
0
    void Pickup()
    {
        GameObject cam = mov.camera;

        RaycastHit hit;

        if (Physics.Raycast(cam.transform.position, cam.transform.forward, out hit, 10))
        {
            try
            {
                InvInfo PickedUp = hit.transform.gameObject.GetComponent <InvInfo>();

                if (PickedUp != null && PickedUp.pickupable && PickedUp.gameObject.transform.parent != equip_space)
                {
                    if (PickedUp.Placeable && !donepickingup)
                    {
                        Pickuptime(hit.transform.gameObject);
                    }
                    else if (donepickingup || !PickedUp.Placeable)
                    {
                        if (hit.transform.gameObject.GetComponent <Rigidbody>())
                        {
                            Destroy(hit.transform.gameObject.GetComponent <Rigidbody>());
                        }

                        hit.transform.gameObject.SetActive(false);
                        hit.transform.SetParent(storage.transform);
                        hit.transform.localPosition = Vector3.zero;

                        Add(current, PickedUp);
                        SortInv();
                        donepickingup     = false;
                        PickupBar.percent = 0f;
                    }
                }
            }
            catch (NullReferenceException) { PickupBar.percent = 0f; }
        }
        else
        {
            PickupBar.percent = 0f;
        }
    }
    public void ItemTransaction(InvInfo Item, bool drop)
    {
        if (MatchFound(Item.Id, drop) != -1)
        {
            notes[MatchFound(Item.Id, drop)].Amount += Item.Amount;
        }
        else
        {
            //ShiftNotifications();

            GameObject    blip     = Instantiate(itemTemplate, new Vector3(0, 0, 0), Quaternion.identity);
            RectTransform blip_t   = blip.GetComponent <RectTransform>();
            RawImage      blip_bg  = blip.GetComponent <RawImage> ();
            RawImage      blip_img = blip.transform.GetChild(0).gameObject.GetComponent <RawImage> ();
            blip.transform.SetParent(this.gameObject.transform);
            blip_t.anchoredPosition     = new Vector3(0, 0, 0);
            blip_t.transform.localScale = Vector3.one;
            blip_t.eulerAngles          = new Vector3(0, 0, 0);
            blip_img.texture            = Item.Icon;
            blip.name = Item.Name;

            Notification note = blip.GetComponent <Notification>();

            note.drop   = drop;
            note.Name   = Item.Name;
            note.Id     = Item.Id;
            note.Amount = Item.Amount;

            notes.Add(note);
            StartCoroutine(IRemove(note));

            if (!drop)
            {
                blip_bg.color = pickupColor;
            }
            else
            {
                blip_bg.color = dropColor;
            }
        }
    }
示例#7
0
 public void Start()
 {
     ToolTip(LevelField, () => string.Format("[C7B377]ќпыт на уровне {0}:[-]{1}/{2}", Level1, xp, expNeeded[Level]));
     ToolTip(StrengthField, () => string.Format("[C7B377]—ила :[-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ варваров.\n#”величивает наносимый етими геро¤ми урон на [00DD00]{0}%[-]\n#ѕовышает показатель брони на [00DD00]{0}[-] ед.", stats.Strength));
     ToolTip(DexterityField, () => string.Format("[C7B377]Ћовкость: [-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ оxотников на демонов и монаxов.\n#”величивает наносимый этими геро¤ми урон на [00DD00]{0}%[-]. \n#”величивает веро¤тность уклонени¤ на [00DD00]{1}%", stats.Dexterity, Math.Round(dodge, 2)));
     ToolTip(IntelligenceField, () => string.Format("[C7B377]»нтеллект: [-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ колдунов и чародеев.\n#”величивает наносимый этими геро¤ми урон на {0}%.\n#”величивает сопротивление на [00DD00]{1}[-] ед.", stats.Intelligence, stats.Intelligence * .1f));
     ToolTip(VitalityField, () => string.Format("[C7B377]∆ивучесть[-][00DD00]{0}[-]\n#”величивает запас здоровь¤, позво뤤 герою пережить больший урон.\n#ќдно очко живучести увеличивает запас здоровь¤ на [00DD00]10[-] ед.", stats.Vitality));
     ToolTip(LifeSlider, () => string.Format("[C7B377]«доровье: {0}/{1}[-]\n «акончитс¤ - и ты мертвец", _Player.life, MaxLife));
     ToolTip(ManaSlider, () => string.Format("ƒуx: {0}/150", (int)Mana));
     ToolTip(ArmorField, () => string.Format("Ѕрон¤: [00DD00]{0}[-]\n#”меньшает урон, наносимый противниками аналогичного уровн¤, на [00DD00]{1}%[-]", stats.Armor, Math.Round((stats.Armor / (50f * Level1 + stats.Armor)) * 100f, 2)));
     ToolTip(DamageField, () => string.Format("”рон в секунду увеличиваетс¤ в зависимости от испозуемого оружи¤,\nxариктеристик геро¤, скорости атаки, веро¤тности критического удара,\nпассивныx умени и скорости атаки при одновременном испозовании двуx видов оружи¤."));
     ToolTip(moneyField, () => "это ваши деньги, нестоит тратить все сразу");
     RefreshStats();
     _Player.life = MaxLife;
     InvInfo2     = (InvInfo)Instantiate(InvInfo1);
     InvInfo2.transform.parent        = InvInfo1.transform.parent;
     InvInfo2.transform.localScale    = InvInfo1.transform.localScale;
     InvInfo2.transform.localPosition = new Vector3(-1094.547f, 228.8786f, 0);
     InvInfo1.gameObject.SetActive(false);
     InvInfo2.gameObject.SetActive(false);
     InvInfo2.uiTexture.material = new Material(InvInfo2.uiTexture.material);
     //StartCoroutine(AddMethod(new WaitForSeconds(1), () => InvInfo2.gameObject.SetActive(false)));
 }
示例#8
0
 public void Start()
 {
     ToolTip(LevelField, () => string.Format("[C7B377]ќпыт на уровне {0}:[-]{1}/{2}", Level1, xp, expNeeded[Level]));
     ToolTip(StrengthField, () => string.Format("[C7B377]—ила :[-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ варваров.\n#”величивает наносимый етими геро¤ми урон на [00DD00]{0}%[-]\n#ѕовышает показатель брони на [00DD00]{0}[-] ед.", stats.Strength));
     ToolTip(DexterityField, () => string.Format("[C7B377]Ћовкость: [-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ оxотников на демонов и монаxов.\n#”величивает наносимый этими геро¤ми урон на [00DD00]{0}%[-]. \n#”величивает веро¤тность уклонени¤ на [00DD00]{1}%", stats.Dexterity, Math.Round(dodge, 2)));
     ToolTip(IntelligenceField, () => string.Format("[C7B377]»нтеллект: [-][00DD00]{0}[-]\n#ќсновна¤ xарактеристика дл¤ колдунов и чародеев.\n#”величивает наносимый этими геро¤ми урон на {0}%.\n#”величивает сопротивление на [00DD00]{1}[-] ед.", stats.Intelligence, stats.Intelligence * .1f));
     ToolTip(VitalityField, () => string.Format("[C7B377]∆ивучесть[-][00DD00]{0}[-]\n#”величивает запас здоровь¤, позво뤤 герою пережить больший урон.\n#ќдно очко живучести увеличивает запас здоровь¤ на [00DD00]10[-] ед.", stats.Vitality));
     ToolTip(LifeSlider, () => string.Format("[C7B377]«доровье: {0}/{1}[-]\n «акончитс¤ - и ты мертвец", _Player.life, MaxLife));
     ToolTip(ManaSlider, () => string.Format("ƒуx: {0}/150", (int)Mana));
     ToolTip(ArmorField, () => string.Format("Ѕрон¤: [00DD00]{0}[-]\n#”меньшает урон, наносимый противниками аналогичного уровн¤, на [00DD00]{1}%[-]", stats.Armor, Math.Round((stats.Armor / (50f * Level1 + stats.Armor)) * 100f, 2)));
     ToolTip(DamageField, () => string.Format("”рон в секунду увеличиваетс¤ в зависимости от испозуемого оружи¤,\nxариктеристик геро¤, скорости атаки, веро¤тности критического удара,\nпассивныx умени и скорости атаки при одновременном испозовании двуx видов оружи¤."));
     ToolTip(moneyField, () => "это ваши деньги, нестоит тратить все сразу");
     RefreshStats();
     _Player.life = MaxLife;
     InvInfo2 = (InvInfo)Instantiate(InvInfo1);
     InvInfo2.transform.parent = InvInfo1.transform.parent;
     InvInfo2.transform.localScale = InvInfo1.transform.localScale;
     InvInfo2.transform.localPosition = new Vector3(-1094.547f, 228.8786f, 0);
     InvInfo1.gameObject.SetActive(false);
     InvInfo2.gameObject.SetActive(false);
     InvInfo2.uiTexture.material = new Material(InvInfo2.uiTexture.material);
     //StartCoroutine(AddMethod(new WaitForSeconds(1), () => InvInfo2.gameObject.SetActive(false)));
 }
示例#9
0
    private void SetInv(bool show, InvInfo inv, Item it, Item compare = null)
    {
        inv.gameObject.SetActive(show);
        if (show)
        {
            if (it.slotType == SlotType.Hand)
            {
                inv.damage.text = it.DamagePerSecond.ToString();
                inv.info.text = string.Format("[6D6D6D]ед. урона в секунду[-]\n\n{0} урон\n{1} јтак в секунду", it.Damage, it.attacksPerSecond);
                inv.durability.text = string.Format("[AF8346]прочность[-]:{0}/{0}", it.durability);
                inv.handType.text = string.Format("[6D6D6D]{0}[-]\n[AF8346]", it.TwoHanded ? "ƒвуxручное ќружее" : "ќдноручное оружее");
            }
            else
            {
                inv.damage.text = it.Armor.ToString();
                inv.sellValue.text = string.Format("цена продажи:[-]{0}$", it.sellValue);
                inv.handType.text = TR(it.slotType.ToString());
                inv.info.text = "[6D6D6D]Ѕрон¤[-]";
            }
            inv.compare.text = "";
            inv.Background.color = it.color;
            inv.type.text = TR(it.quality.ToString()) + " " + TR(it.weaponSubName.ToString());
            inv.uiTexture.mainTexture = it.Texture;
            inv.Title.text = it.Name.ToUpper();
            inv.type.color = it.color;

            inv.level.text = "“ребуемый уровень: " + it.itemLevel;

            if (compare != null)
                Compare(inv, it, compare);

            var stats = it.stats;
            inv.magicSettings.text = "";
            for (int i = 0; i < stats.stats.Length; i++)
            {
                if (stats.stats[i] > 0 && !stats.noRand[i])
                    inv.magicSettings.text += "#[5454CC]" + string.Format(stats.texts[i], (int)stats.stats[i]) + "[-]\r\n";
            }
        }
    }