Ejemplo n.º 1
0
    public void OnGetEquipment(ItemEquipment equip)
    {
        if (MogoWorld.thePlayer.level <= 1)
        {
            return;
        }
        if (!MogoWorld.inCity)
        {
            m_equipQueue.Enqueue(equip);
            return;
        }

        if (InventoryManager.Instance.IsEquipmentBetter(equip.templateId))
        {
            //uint timerId = TimerHeap.AddTimer(TIME_LENGTH, 0, () => { TipUIManager.Instance.Hide(TIP_TYPE_EQUIP); });
            TipViewData viewData = GetTipViewDataByEquip(equip);
            TipUIManager.Instance.AddTipViewData(viewData);
        }
        else if (InventoryManager.Instance.EquipmentInBagList.Count >= 10 &&
                 InventoryManager.Instance.IsRubbish((equip.templateId), 4))
        {
            //uint timerId = TimerHeap.AddTimer(TIME_LENGTH, 0, () => { TipUIManager.Instance.Hide(TIP_TYPE_EQUIP); });
            TipViewData viewData = GetTipViewDataByEquipToDecompose(equip);
            TipUIManager.Instance.AddTipViewData(viewData);
        }
    }
Ejemplo n.º 2
0
 public void AddItem(ItemEquipment newItem)
 {
     item                = newItem;
     icon.sprite         = item.icon;
     icon.enabled        = true;
     button.interactable = true;
 }
Ejemplo n.º 3
0
    /// <summary>
    /// Removes the item from the inventory
    /// </summary>
    /// <param name="itemToRemove">desired item to be removed</param>
    /// <returns>If removal was successful</returns>
    public bool RemoveItem(ItemBase itemToRemove)
    {
        ItemSlot slot = _itemSlotsMap[itemToRemove];

        // did not find the item
        if (slot == null)
        {
            return(false);
        }

        // unequiping from owner
        if (itemToRemove.properties.IsTypeEquipment())
        {
            ItemEquipment equip = (ItemEquipment)itemToRemove;
            equip.Unequip();
        }

        // remove owner reference
        itemToRemove.owner = null;

        // remove item reference
        itemRows[slot.row].items[slot.col] = null;

        // remove from map
        _itemSlotsMap.Remove(itemToRemove);

        itemToRemove.OnDisposal -= DisposeItemEventListener;

        if (OnItemRemoved != null)
        {
            OnItemRemoved(slot);
        }

        return(true);
    }
Ejemplo n.º 4
0
    private TipViewData GetTipViewDataByEquipToDecompose(ItemEquipment equip)
    {
        TipViewData viewData = new TipViewData()
        {
            priority  = TIP_TYPE_ENHANCE,
            itemId    = equip.templateId,
            tipText   = LanguageData.GetContent(3028) + "\n" + LanguageData.GetContent(3029),
            btnName   = LanguageData.GetContent(3030),
            btnAction = () =>
            {
                //TimerHeap.DelTimer(timerId);
                TipUIManager.Instance.HideAll(TIP_TYPE_ENHANCE);
                ItemParent temp = InventoryManager.Instance.GetItemByItemID(equip.templateId);
                if (temp == null)
                {
                    MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(472));
                }
                else
                {
                    MogoWorld.thePlayer.StopMove();
                    MogoUIManager.Instance.SwitchDecomposeUI();
                }
            }
        };

        return(viewData);
    }
Ejemplo n.º 5
0
    public void SetData(int strength, int intellect, int agility, int stamina, EquipmentType et, int id, string name, ItemQuality quality, ItemType type, string description, int amount, int capacity, int buyprice, int sellprice)
    {
        ItemEquipment dataTmp = new ItemEquipment();

        dataTmp.SetData(strength, intellect, agility, stamina, et, id, name, quality, type, description, amount, capacity, buyprice, sellprice);
        data = dataTmp;
    }
Ejemplo n.º 6
0
 public void ClearSlot()
 {
     item                = null;
     icon.sprite         = null;
     icon.enabled        = false;
     button.interactable = false;
 }
Ejemplo n.º 7
0
 public void AddItem(ItemEquipment item)
 {
     equippedItem        = item;
     itemIcon.sprite     = equippedItem.image;
     button.interactable = true;
     itemIcon.gameObject.SetActive(true);
 }
Ejemplo n.º 8
0
 void UpdateEquipmentSprite(ItemEquipment newItem, ItemEquipment oldItem)
 {
     if (newItem != null)
     {
         if (newItem.equipSlot == slot)
         {
             if (newItem.parts != null)
             {
                 for (int i = 0; i < newItem.parts.Length; i++)
                 {
                     if (newItem.parts[i].part == part)
                     {
                         equipmentSprite.sprite = newItem.parts[i].image;
                         return;
                     }
                 }
             }
         }
         return;
     }
     if (oldItem != null)
     {
         if (oldItem.equipSlot == slot)
         {
             equipmentSprite.sprite = null;
         }
         return;
     }
 }
Ejemplo n.º 9
0
    private TipViewData GetTipViewDataByEquip(ItemEquipment equip)
    {
        TipViewData viewData = new TipViewData()
        {
            priority  = TIP_TYPE_EQUIP,
            itemId    = equip.templateId,
            tipText   = LanguageData.GetContent(3020) + "\n" + equip.name,
            btnName   = LanguageData.GetContent(3021),
            btnAction = () =>
            {
                //TimerHeap.DelTimer(timerId);
                TipUIManager.Instance.Hide(TIP_TYPE_EQUIP);
                ItemParent temp = InventoryManager.Instance.GetItemByItemID(equip.templateId);
                if (temp == null)
                {
                    MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(472));
                }
                else
                {
                    MogoWorld.thePlayer.RpcCall("ExchangeEquipment", temp.id, (byte)temp.gridIndex);
                }
            }
        };

        return(viewData);
    }
Ejemplo n.º 10
0
 /// <summary>
 /// Unequips the weapon and removes the bonuses
 /// </summary>
 public void UnequipWeapon()
 {
     if (weapon != null)
     {
         weapon.RemoveBonusStats();
         weapon = null;
     }
 }
Ejemplo n.º 11
0
        public void ClearSlot()
        {
            itemIcon.sprite = null;
            itemIcon.gameObject.SetActive(false);
            button.interactable = false;

            equippedItem = null;
        }
Ejemplo n.º 12
0
    public void GetItem(int ID, ItemEquipmentSelect itemEquip)
    {
        ItemEquipment item = GameManager.Instance.lsItemEquip[ID];

        item.objOpen.SetActive(true);
        item.iconHero.sprite            = itemEquip.iconHero.sprite;
        item.iconEquip.sprite           = itemEquip.iconEquip.sprite;
        item.txtPercent.text            = itemEquip.txtPercent.text;
        itemEquip.btnEquip.image.sprite = arrImgBtnEquip[2];
    }
Ejemplo n.º 13
0
    /// <summary>
    /// 解析装备
    /// </summary>
    private void ParseEquipment()
    {
        var jsonData = SerializeTool.JsonDeserialize(Contract.Instance.equipmentDataPath);

        for (int i = 0; i < jsonData.Count; i++)
        {
            var equipmentData = new ItemEquipment();
            equipmentData.SetData(jsonData[i]);
            allItems.Add(equipmentData.id, equipmentData);//向物品管理器中添加该数据
        }
    }
Ejemplo n.º 14
0
    /// <summary>
    /// Attempts to automaticly equip the item
    /// </summary>
    /// <param name="equipment"></param>
    public void Equip(ItemEquipment equipment)
    {
        switch (equipment.properties.type)
        {
        case ItemProperties.Type.EQUIPMENT_WEAPON:
            EquipWeapon(equipment);
            break;

        default:
            break;
        }
    }
Ejemplo n.º 15
0
    /// <summary>
    /// Equips the give weapon and replaces the old one if any
    /// </summary>
    /// <param name="wpn"></param>
    public void EquipWeapon(ItemEquipment wpn)
    {
        Debug.Assert(wpn.properties.type == ItemProperties.Type.EQUIPMENT_WEAPON, wpn.properties.name + " is not a weapon?");

        if (weapon != null)
        {
            weapon.RemoveBonusStats();
        }

        weapon = wpn;

        wpn.AddBonusStats();
    }
Ejemplo n.º 16
0
        // unequips the specified item, returns true if successful
        public bool UnequipItem(int itemID)
        {
            ItemEquipment item = Equipment.SingleOrDefault(ie => ie.ID == itemID);

            if (item != null)
            {
                Equipment.Remove(item);
                AddItemToInventory(itemID);
                RecalculateStats();
                return(true);
            }
            return(false);
        }
Ejemplo n.º 17
0
    public void ShowRespInfo(int errorId, int slot = 0)
    {
        if (errorId == 5 && slot != 0 && InventoryManager.Instance.EquipOnDic.ContainsKey(slot))
        {
            ItemEquipment equip = InventoryManager.Instance.EquipOnDic.Get(slot);

            MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(1385, ItemParentData.GetItem(equip.GetEnhantMaterialId()).Name));
        }
        else if (errorId != 0)
        {
            MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(errorId + 1380));
        }
    }
Ejemplo n.º 18
0
        public void MarkOccupied(ItemWeaponBase weaponItem)
        {
            itemIcon.sprite     = weaponItem.image;
            button.interactable = false;
            itemIcon.gameObject.SetActive(true);

            var iconColor = itemIcon.color;

            iconColor.a = 0.5f;

            itemIcon.color = iconColor;

            equippedItem = null;
        }
Ejemplo n.º 19
0
    public void Unequip(int slotIndex)
    {
        if (currentEquipment[slotIndex] != null)
        {
            ItemEquipment oldItem = currentEquipment[slotIndex];
            PlayerInventory.instance.AddItem(oldItem);

            currentEquipment[slotIndex] = null;
            if (onEquipmentChanged != null)
            {
                onEquipmentChanged.Invoke(null, oldItem);
            }
        }
    }
Ejemplo n.º 20
0
    void OnEquipmentChanged(ItemEquipment newItem, ItemEquipment oldItem)
    {
        if (newItem != null)
        {
            armour.AddModifier(newItem.armorModifier);
            damage.AddModifier(newItem.damageModifier);
        }

        if (oldItem != null)
        {
            armour.RemoveModifier(oldItem.armorModifier);
            damage.RemoveModifier(oldItem.damageModifier);
        }
    }
Ejemplo n.º 21
0
    public void InitView(ItemModel[] models)
    {
        GameObject go;

        for (int i = 0; i < models.Length; i++)
        {
            go = Instantiate(ItemEquipment);
            go.transform.SetParent(GridEquipment);
            go.transform.localScale = Vector3.one;
            ItemEquipment item = go.GetComponent <ItemEquipment>();
            item.InitView(models[i]);

            m_ItemDict.Add(item.ItemId, item);
        }
    }
Ejemplo n.º 22
0
        //-----------------------------------------------------------------------------
        // Overridden methods
        //-----------------------------------------------------------------------------

        public override void Update()
        {
            base.Update();

            // Equip equipment.
            if (Controls.A.IsPressed())
            {
                if (currentSlotGroup.CurrentSlotIndex >= currentSlotGroup.NumSlots - 6)
                {
                    AudioSystem.PlaySound(GameData.SOUND_MENU_SELECT);
                    ItemEquipment selectedItem = currentSlotGroup.CurrentSlot.SlotItem as ItemEquipment;
                    GameControl.Inventory.EquipEquipment(selectedItem);
                }
            }
        }
Ejemplo n.º 23
0
    public void Unequip(ItemEquipment equipment)
    {
        switch (equipment.properties.type)
        {
        case ItemProperties.Type.EQUIPMENT_WEAPON:
            // if that equipment is actually equiped
            if (weapon != null && weapon.Equals(equipment))
            {
                UnequipWeapon();
            }
            break;

        default:
            break;
        }
    }
Ejemplo n.º 24
0
    public JobMusician()
    {
        JobName       = "Musician";
        AbilityPoints = 0;

        ItemEquipment baseChest = new ItemEquipment("Dirty T-Shirt");

        baseChest.Defense      = 2;
        baseChest.EnergyRegen  = 0;
        baseChest.SmartsMod    = 0;
        baseChest.SwiftMod     = 0;
        baseChest.AwesomeMod   = 1;
        baseChest.GutsMod      = 1;
        baseChest.Damage       = 0;
        baseChest.MaxHealthMod = 0;

        ItemEquipment baseWeapon = new ItemEquipment("Broken Guitar");

        baseWeapon.Defense      = 0;
        baseWeapon.EnergyRegen  = 0;
        baseWeapon.SmartsMod    = 0;
        baseWeapon.SwiftMod     = 0;
        baseWeapon.AwesomeMod   = 0;
        baseWeapon.GutsMod      = 0;
        baseWeapon.Damage       = 2;
        baseWeapon.MaxHealthMod = 0;

        ItemEquipment baseAccessory = new ItemEquipment("Red Bandana");

        baseAccessory.Defense      = 0;
        baseAccessory.EnergyRegen  = 1;
        baseAccessory.SmartsMod    = 0;
        baseAccessory.SwiftMod     = 0;
        baseAccessory.AwesomeMod   = 1;
        baseAccessory.GutsMod      = 0;
        baseAccessory.Damage       = 0;
        baseAccessory.MaxHealthMod = 2;

        ItemChest     = baseChest;
        ItemWeapon    = baseWeapon;
        ItemAccessory = baseAccessory;

        AddAbility(new BaseAbilityClass("Single Attack"));
        AddAbility(new BaseAbilityClass("Area Attack"));
        AddAbility(new BaseAbilityClass("Single Buff"));
        AddAbility(new BaseAbilityClass("Area Buff"));
    }
Ejemplo n.º 25
0
        private void UpdateUISlot(ItemEquipment newItem, ItemEquipment oldItem)
        {
            if (oldItem)
            {
                int equipmenSlotIndex = (int)oldItem.equipmentSlot;

                equipmentSlots[equipmenSlotIndex].ClearSlot();

                if (oldItem is ItemWeapon && oldItem.equipmentSlot == ItemEquipment.EquipmentSlot.WeaponRightHand)
                {
                    var itemWeapon = oldItem as ItemWeapon;

                    if (itemWeapon.isTwoHandedWeapon)
                    {
                        equipmentSlots[equipmenSlotIndex + 1].UnmarkOccupied();
                    }
                }
            }

            if (newItem)
            {
                int equipmenSlotIndex = (int)newItem.equipmentSlot;

                equipmentSlots[equipmenSlotIndex].AddItem(newItem);

                if (newItem is ItemWeapon && newItem.equipmentSlot == ItemEquipment.EquipmentSlot.WeaponRightHand)
                {
                    var itemWeapon = newItem as ItemWeapon;

                    if (itemWeapon.isTwoHandedWeapon)
                    {
                        equipmentSlots[equipmenSlotIndex + 1].MarkOccupied(itemWeapon);
                    }
                }
                else if (newItem is ItemShield && newItem.equipmentSlot == ItemEquipment.EquipmentSlot.WeaponLeftHand)
                {
                    var twoHandedWeaponSlot = equipmentSlots[equipmenSlotIndex - 1];

                    var twoHandedWeapon = twoHandedWeaponSlot.equippedItem as ItemWeapon;

                    if (twoHandedWeapon && twoHandedWeapon.isTwoHandedWeapon)
                    {
                        twoHandedWeaponSlot.ClearSlot();
                    }
                }
            }
        }
Ejemplo n.º 26
0
    /// <summary>
    /// Removes the item at the slot
    /// </summary>
    /// <param name="row"></param>
    /// <param name="col"></param>
    /// <returns>null if removal was unsuccessful</returns>
    public ItemBase RemoveItemAt(int row, int col)
    {
        // check row
        if (row >= itemRows.Length || row < 0)
        {
            return(null);
        }

        // check col
        if (col >= itemRows[row].items.Length || col < 0)
        {
            return(null);
        }

        ItemBase item = GetItem(row, col);

        // no item to remove
        if (item == null)
        {
            return(null);
        }

        // unequiping from owner
        if (item.properties.IsTypeEquipment())
        {
            ItemEquipment equip = (ItemEquipment)item;
            equip.Unequip();
        }

        // remove owner reference
        item.owner = null;

        // remove item reference
        itemRows[row].items[col] = null;

        // remove from map
        _itemSlotsMap.Remove(item);

        item.OnDisposal -= DisposeItemEventListener;

        if (OnItemRemoved != null)
        {
            OnItemRemoved(new ItemSlot(row, col));
        }

        return(item);
    }
Ejemplo n.º 27
0
    public JobComedian()
    {
        JobName       = "Comedian";
        AbilityPoints = 0;

        ItemEquipment baseChest = new ItemEquipment("Cheap Suit");

        baseChest.Defense      = 2;
        baseChest.EnergyRegen  = 0;
        baseChest.SmartsMod    = 0;
        baseChest.SwiftMod     = 0;
        baseChest.AwesomeMod   = 1;
        baseChest.GutsMod      = 1;
        baseChest.Damage       = 0;
        baseChest.MaxHealthMod = 0;

        ItemEquipment baseWeapon = new ItemEquipment("Broken Microphone");

        baseWeapon.Defense      = 0;
        baseWeapon.EnergyRegen  = 0;
        baseWeapon.SmartsMod    = 0;
        baseWeapon.SwiftMod     = 0;
        baseWeapon.AwesomeMod   = 0;
        baseWeapon.GutsMod      = 0;
        baseWeapon.Damage       = 2;
        baseWeapon.MaxHealthMod = 0;

        ItemEquipment baseAccessory = new ItemEquipment("Old Joke Book");

        baseAccessory.Defense      = 0;
        baseAccessory.EnergyRegen  = 1;
        baseAccessory.SmartsMod    = 0;
        baseAccessory.SwiftMod     = 0;
        baseAccessory.AwesomeMod   = 1;
        baseAccessory.GutsMod      = 0;
        baseAccessory.Damage       = 0;
        baseAccessory.MaxHealthMod = 2;

        ItemChest     = baseChest;
        ItemWeapon    = baseWeapon;
        ItemAccessory = baseAccessory;

        AddAbility(new BaseAbilityClass("Single Attack"));
        AddAbility(new BaseAbilityClass("Area Attack"));
        AddAbility(new BaseAbilityClass("Single Buff"));
        AddAbility(new BaseAbilityClass("Area Buff"));
    }
Ejemplo n.º 28
0
    public JobChef()
    {
        JobName       = "Chef";
        AbilityPoints = 0;

        ItemEquipment baseChest = new ItemEquipment("Dirty Apron");

        baseChest.Defense      = 2;
        baseChest.EnergyRegen  = 0;
        baseChest.SmartsMod    = 0;
        baseChest.SwiftMod     = 0;
        baseChest.AwesomeMod   = 1;
        baseChest.GutsMod      = 1;
        baseChest.Damage       = 0;
        baseChest.MaxHealthMod = 0;

        ItemEquipment baseWeapon = new ItemEquipment("Rusty Suacepan");

        baseWeapon.Defense      = 0;
        baseWeapon.EnergyRegen  = 0;
        baseWeapon.SmartsMod    = 0;
        baseWeapon.SwiftMod     = 0;
        baseWeapon.AwesomeMod   = 0;
        baseWeapon.GutsMod      = 0;
        baseWeapon.Damage       = 2;
        baseWeapon.MaxHealthMod = 0;

        ItemEquipment baseAccessory = new ItemEquipment("Moldy Chef Hat");

        baseAccessory.Defense      = 0;
        baseAccessory.EnergyRegen  = 1;
        baseAccessory.SmartsMod    = 0;
        baseAccessory.SwiftMod     = 0;
        baseAccessory.AwesomeMod   = 1;
        baseAccessory.GutsMod      = 0;
        baseAccessory.Damage       = 0;
        baseAccessory.MaxHealthMod = 2;

        ItemChest     = baseChest;
        ItemWeapon    = baseWeapon;
        ItemAccessory = baseAccessory;

        AddAbility(new BaseAbilityClass("Single Attack"));
        AddAbility(new BaseAbilityClass("Area Attack"));
        AddAbility(new BaseAbilityClass("Single Buff"));
        AddAbility(new BaseAbilityClass("Area Buff"));
    }
Ejemplo n.º 29
0
    private bool IsFull(int slot)
    {
        ItemEquipment         equip  = InventoryManager.Instance.EquipOnDic[slot];
        Dictionary <int, int> enhant = equip.enchant;
        int fumoSum = 0;

        foreach (int num in enhant.Values)
        {
            fumoSum = num;
            break;
        }
        if (m_data[slot].Count >= fumoSum)
        {
            return(true);
        }
        return(false);
    }
Ejemplo n.º 30
0
 void UpdateEquipmentUI(ItemEquipment newItem, ItemEquipment oldItem)
 {
     if (newItem != null)
     {
         for (int i = 0; i < equipSlots.Length; i++)
         {
             if (i == (int)newItem.equipSlot)
             {
                 equipSlots[i].AddItem(newItem);
             }
         }
     }
     else
     {
         equipSlots[(int)oldItem.equipSlot].ClearSlot();
     }
 }
Ejemplo n.º 31
0
    private EquipUpgradeViewManager.EquipUpgradeViewData GetViewdata(ItemEquipment m_equip)
    {

        EquipUpgradeViewManager.EquipUpgradeViewData viewData = new EquipUpgradeViewManager.EquipUpgradeViewData();
        viewData.oldEquipId = m_equip.templateId;

        ItemEffectData itemEffect = ItemEffectData.dataMap.Get(m_equip.effectId);
        ItemEquipmentData newEquip = null;
        foreach (int id in itemEffect.reward1.Keys)
        {
            newEquip = ItemEquipmentData.dataMap.Get(id);
            viewData.newEquipId = newEquip.id;
            break;
        }
        viewData.materialIdList = new List<int>();
        viewData.materilNumStrList = new List<string>();
        foreach (KeyValuePair<int, int> pair in itemEffect.costId)
        {
            Mogo.Util.LoggerHelper.Debug(pair.Key);
            ItemParentData item = ItemParentData.GetItem(pair.Key);
            if (item.itemType > 0)
            {
                viewData.materialIdList.Add(item.id);
                string numStr = string.Empty;
                int num = InventoryManager.Instance.GetItemNumByIdAndType(item.id, item.itemType);
                int needNum = pair.Value;
                numStr = string.Concat(num, "/", needNum);
                if (needNum > num)
                {
                    numStr = MogoUtils.GetRedString(numStr);
                }
                viewData.materilNumStrList.Add(numStr);
            }
            else
            {
                viewData.needGold = "X" + pair.Value;
            }
        }

        int level = MogoWorld.thePlayer.level;
        viewData.power = LanguageData.GetContent(190000, newEquip.GetScore(level) - m_equip.GetScore(level));

        return viewData;
    }
Ejemplo n.º 32
0
 private void RefreshDialog2UI()
 {
     InsetUIViewManager view = InsetUIViewManager.Instance;
     ItemEquipment equip;
     if ((equip = m_inventoryManager.GetRecommendEquipBySlot(CurrentSlot)) != null)
     {
         view.ShowInsetDialog2EquipDetail(true);
         view.SetDialog2Title(LanguageData.GetContent(447));
         view.SetDialog2EquipImage(equip.templateId);
         view.SetDialog2EquipName(equip.name);
         view.SetDialog2EquipLevelNeed(LanguageData.GetContent(911, equip.levelNeed));
         m_currentEquipment = equip;
     }
     else
     {
         view.ShowInsetDialog2EquipDetail(false);
         view.SetDialog2Title(LanguageData.GetContent(448));
         Mogo.Util.LoggerHelper.Debug("m_currentSlot" + CurrentSlot);
         view.SetDialog2EquipImageFg(EquipSlotIcon.icons[CurrentSlot]);
     }
 }
Ejemplo n.º 33
0
    /// <summary>
    /// Add an item to the inventory.
    /// </summary>
    /// <param name="newItem">ItemEquipment</param>
    public void inventoryAddItem(ItemEquipment newItem)
    {
        if (newItem == null)
            return;

        switch (newItem.type)
        {
            case ItemBase.tItemType.Armor:
                armors.Add(newItem);
                break;

            case ItemBase.tItemType.Component:
                components.Add(newItem);
                break;
            case ItemBase.tItemType.Weapon:
                inventoryAddItem((ItemWeapon)newItem);
                break;
            default:
                break;
        }
    }
Ejemplo n.º 34
0
    //generic to equip any itemEquipment. will replace it in the appropriate spot.
    public void inventoryEquipItem(ItemEquipment itemToEquip)
    {
        //equip items if applicaple.
        if(itemToEquip is ItemWeapon)
        {
            equipedWeapon = (ItemWeapon)itemToEquip;
        }
        else if(itemToEquip is ItemArmor)
        {
            ItemArmor armorToEquip = itemToEquip as ItemArmor;
            switch (armorToEquip.armorPart)
            {
                case ItemArmor.tArmorPart.Chest:
                    equipedChest = armorToEquip;
                break;
                case ItemArmor.tArmorPart.Head:
                    equipedHelmet = armorToEquip;
                break;
                case ItemArmor.tArmorPart.Legs:
                    equipedLegs = armorToEquip;
                break;
            }
        }
        else
        {
            return; //change nothing if it was not equipable equipment....
        }

        calculateAndApplyStats();
    }
Ejemplo n.º 35
0
 private TipViewData GetTipViewDataByEquipToDecompose(ItemEquipment equip)
 {
     TipViewData viewData = new TipViewData()
     {
         priority = TIP_TYPE_ENHANCE,
         itemId = equip.templateId,
         tipText = LanguageData.GetContent(3028) + "\n" + LanguageData.GetContent(3029),
         btnName = LanguageData.GetContent(3030),
         btnAction = () =>
         {
             //TimerHeap.DelTimer(timerId);
             TipUIManager.Instance.HideAll(TIP_TYPE_ENHANCE);
             ItemParent temp = InventoryManager.Instance.GetItemByItemID(equip.templateId);
             if (temp == null)
             {
                 MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(472));
             }
             else
             {
                 MogoWorld.thePlayer.StopMove();
                 MogoUIManager.Instance.SwitchDecomposeUI();
             }
         }
     };
     return viewData;
 }
Ejemplo n.º 36
0
    private TipViewData GetTipViewDataByEquip(ItemEquipment equip)
    {
        TipViewData viewData = new TipViewData()
        {
            priority = TIP_TYPE_EQUIP,
            itemId = equip.templateId,
            tipText = LanguageData.GetContent(3020) + "\n" + equip.name,
            btnName = LanguageData.GetContent(3021),
            btnAction = () =>
            {
                //TimerHeap.DelTimer(timerId);
                TipUIManager.Instance.Hide(TIP_TYPE_EQUIP);
                ItemParent temp = InventoryManager.Instance.GetItemByItemID(equip.templateId);
                if (temp == null)
                {
                    MogoMsgBox.Instance.ShowFloatingText(LanguageData.GetContent(472));
                }
                else
                {
                    MogoWorld.thePlayer.RpcCall("ExchangeEquipment", temp.id, (byte)temp.gridIndex);
                }

            }
        };
        return viewData;
    }
Ejemplo n.º 37
0
    //private void ShowEquipInfo(ItemParent item)
    //{
    //    ItemEquipment ie = (ItemEquipment)item;

    //    //view.SetEquipDetailInfoNeedLevel(data.levelNeed);
    //    //view.SetEquipDetailInfoGrowLevel(data.growLevel);
    //    //for (int i = 0; i < 9; i++)
    //    //{
    //    //    view.SetDiamondHoleInfo(data.holeInfos[i], i);
    //    //}
    //    //for (int i = 0; i < 4; i++)
    //    //{
    //    //    view.SetDiamondHoleInfo(data.jewelHoles[i], i + 9);
    //    //    view.ShowNewDiamondHoleIcon(i + 9, (data.jewelHoles[i] != EquipTipViewData.NONE_JEWEL));
    //    //}
    //    //view.SetEquipDetailInfoNeedJob(data.job);
    //    ie.level = ie.levelNeed;
    //    EquipTipViewData data = GetEquipInfoByItem(ie);
    //    MenuUIViewManager view = MenuUIViewManager.Instance;

    //    view.SetEquipDetailInfoImage(data.iconName);
    //    view.ShowEquipDetailInfoImageUsed(data.isEquipOn);
    //    view.SetEquipDetailInfoName(data.name);
    //    view.SetEquipDetailInfoImageBg(IconData.GetIconByQuality(ie.quality));


    //    List<string> attrList = ie.GetAttrDescriptionList(MogoWorld.thePlayer);
    //    List<string> jewelList = new List<string>();
    //    foreach (string s in data.jewelHoles)
    //    {
    //        if (s == "") continue;
    //        jewelList.Add(s);
    //    }
    //    MenuUIViewManager.Instance.ShowEquipInfoDetail(attrList, jewelList, ie.levelNeed + "", LanguageData.dataMap[ie.vocation].content);

    //}



    //public EquipTipViewData GetEquipInfoByItem(int _templateId, List<int> _jewelSlots)
    //{
    //    ItemEquipmentInstance instance = new ItemEquipmentInstance() { templeId = _templateId, jewelSlots = _jewelSlots };
    //    return GetEquipInfoByItem(new ItemEquipment(instance),);
    //}

    static public EquipTipViewData GetEquipInfoByItem(ItemEquipment ie, int level)
    {
        //LoggerHelper.Debug("GetEquipInfoByItem:" + ie.templateId+"!!!!!!!!!!!!!!");
        EquipTipViewData data = new EquipTipViewData();
        data.levelNeed = ie.levelNeed;
        //ie.level跟玩家level相关,不实时更新,需要使用时设置,其具体属性根据此值变化
        ie.level = MogoWorld.thePlayer.level;
        if (ie.level <= 0) ie.level = 99;
        data.growLevel = ie.level + "/" + ie.levelLimit;
        ie.level = ie.levelNeed;
        List<string> attrList = ie.GetAttrDescriptionList(level);
        int m = 0;
        for (m = 0; m < attrList.Count && m < 9; m++)
        {
            data.holeInfos[m] = attrList[m];
        }
        for (; m < 9; m++)
        {
            data.holeInfos[m] = "";
        }

        data.job = LanguageData.dataMap[ie.vocation].content;

        data.iconName = ie.icon;
        data.isEquipOn = (ie.bagType == ITEM_TYPE_ONEQUIP);
        for (int i = 0; i < 4; i++)
        {
            data.jewelHoles[i] = "";
        }
        if (ie.jewelSlotsType != null)
        {
            data.jewelSlotIcons = new List<string>();
            for (int i = 0; i < ie.jewelSlotsType.Count; i++)
            {
                data.jewelHoles[i] = LanguageData.GetContent(910);//+ ie.jewelSlotsType[i];
                data.jewelSlotIcons.Add(IconData.dataMap.Get(30018 + ie.jewelSlotsType[i]).path);
            }

            for (int i = 0; i < ie.jewelSlots.Count; i++)
            {
                int id = ie.jewelSlots[i];
                if (id == -1) continue;
                data.jewelSlotIcons[i] = IconData.dataMap.Get(30027 + ie.jewelSlotsType[i]).path;
                ItemJewelData jewel = ItemJewelData.dataMap[id];
                string jewelInfo = jewel.effectDescriptionStr + "";
                data.jewelHoles[i] = jewelInfo;
            }
        }

        data.name = ie.name;
        return data;
    }
Ejemplo n.º 38
0
    /// <summary>
    /// 
    /// </summary>
    /// <param name="equip"></param>
    /// <param name="buttonList">若无按钮即传null</param>
    public void ShowEquipTip(ItemEquipment equip, List<ButtonInfo> buttonList, int _level, bool needFumoInfo = false, int slot = -1)
    {
        EquipTipViewData data = GetEquipInfoByItem(equip, _level);
        //MenuUIViewManager view = MenuUIViewManager.Instance;
        EquipTipManager view = EquipTipManager.Instance;

        //界面静态部分
        //view.SetEquipDetailInfoImage(data.iconName);
        view.ShowEquipDetailInfoImageUsed(data.isEquipOn);
        view.SetEquipDetailInfoName(data.name);//
        view.SetEquipImage(equip.templateId);
        view.SetEquipDetailInfoScoreNum(equip.score);
        //view.SetEquipDetailInfoImageBg(IconData.GetIconByQuality(equip.quality));

        //界面动态排版部分
        List<string> attrList = equip.GetAttrDescriptionList(_level);
        List<string> jewelList = new List<string>();
        foreach (string s in data.jewelHoles)
        {
            if (s == "") continue;
            jewelList.Add(s);
        }

        string suitName = "";
        List<string> suitAttr = new List<string>();
        if (equip.suitId > 0)
        {
            suitName = ItemSuitEquipmentsData.GetSuitName(equip.suitId);
            if (!equip.isActive) suitName += LanguageData.GetContent(1137);
            int suitPutOnNum = GetSuitPutonNum(equip.suitId);
            int suitMaxNum = ItemSuitEquipmentsData.GetSuitMaxNum(equip.suitId);
            suitName = String.Concat(suitName, "(", suitPutOnNum, "/", suitMaxNum, ")");
            suitAttr = ItemSuitEquipmentsData.GetSuitAttrList(equip.suitId, suitPutOnNum);
        }

        string levelDesp = equip.levelDesp;
        view.SetEquipDetailInfoLevelText(levelDesp);

        string vocation = LanguageData.dataMap[equip.vocation].content;
        vocation = LanguageData.GetContent(912, vocation);
        if (equip.vocation != (int)MogoWorld.thePlayer.vocation)
        {
            vocation = MogoUtils.GetRedString(vocation);

        }
        view.SetVocationNeedText(vocation);
        FumoTipUIInfo fumoInfo = null;
        if (needFumoInfo)
        {
            fumoInfo = FumoManager.Instance.GetFumoTipUIInfo(slot);
        }
        view.ShowEquipTip(suitName, suitAttr, attrList, jewelList, data.jewelSlotIcons, buttonList, fumoInfo);
    }
Ejemplo n.º 39
0
    private void _InitData(List<ItemParentInstance> listFromServer)
    {
        //根据从服务器得到的所有item实例初始化
        Dictionary<int, ItemParent> normalItems = new Dictionary<int, ItemParent>();
        Dictionary<int, ItemParent> jewelItems = new Dictionary<int, ItemParent>();
        Dictionary<int, ItemParent> spiritItems = new Dictionary<int, ItemParent>();

        foreach (ItemParentInstance itemInstance in listFromServer)
        {
            ItemParent item;
            switch (itemInstance.bagType)
            {

                case ITEM_TYPE_EQUIPMENT:
                    item = new ItemEquipment((ItemEquipmentInstance)itemInstance);
                    normalItems[item.gridIndex] = item;
                    break;
                case ITEM_TYPE_JEWEL:
                    item = new ItemJewel((ItemJewelInstance)itemInstance);

                    jewelItems[item.gridIndex] = item;
                    break;
                case ITEM_TYPE_MATERIAL:
                    //itemParent = new ItemJewel(itemInstance);
                    //spiritItems[itemParent.GridIndex] = itemParent;
                    break;
            }
        }
        m_itemsInBag[ITEM_TYPE_EQUIPMENT] = normalItems;
        m_itemsInBag[ITEM_TYPE_JEWEL] = jewelItems;
        m_versionId++;
    }
Ejemplo n.º 40
0
    public void EquipItem(ItemEquipment item, int index)
    {
        UpdateCount+=1;
        for (int i=0; i<itemStickers.Length; i++) {
            if (itemStickers [i] != null && item != null) {
                if (itemStickers [i].equipType == item.itemType && itemStickers [i].Primary) {
                    AttachItem (itemStickers [i], item);
                    itemStickers [i].ItemIndex = index;
                    return;
                }
            }
        }
        for (int i=0; i<itemStickers.Length; i++) {
            if (itemStickers [i] != null && item != null) {
                if (itemStickers [i].equipType == item.itemType) {

                    AttachItem (itemStickers [i], item);
                    itemStickers [i].ItemIndex = index;
                    return;
                }
            }
        }
    }
Ejemplo n.º 41
0
 public void AttachItem(ItemSticker sticker, ItemEquipment item)
 {
     UpdateCount+=1;
     if (sticker != null && item != null) {
         RemoveEquipItem (sticker);
         Quaternion rotationTemp = sticker.transform.rotation;
         rotationTemp.eulerAngles += sticker.RotationOffset;
         GameObject newitem = (GameObject)GameObject.Instantiate (item.gameObject, sticker.transform.position, rotationTemp);
         newitem.transform.parent = sticker.gameObject.transform;
         if (sticker.equipType == EquipType.Weapon) {
             TDEquipment = newitem.GetComponent<ItemEquipment> ();
         }
     }
 }
Ejemplo n.º 42
0
    public void OnGetEquipment(ItemEquipment equip)
    {
        if (MogoWorld.thePlayer.level <= 1) return;
        if (!MogoWorld.inCity)
        {
            m_equipQueue.Enqueue(equip);
            return;
        }

        if (InventoryManager.Instance.IsEquipmentBetter(equip.templateId))
        {
            //uint timerId = TimerHeap.AddTimer(TIME_LENGTH, 0, () => { TipUIManager.Instance.Hide(TIP_TYPE_EQUIP); });
            TipViewData viewData = GetTipViewDataByEquip(equip);
            TipUIManager.Instance.AddTipViewData(viewData);
        }
        else if (InventoryManager.Instance.EquipmentInBagList.Count >= 10
            && InventoryManager.Instance.IsRubbish((equip.templateId), 4))
        {
            //uint timerId = TimerHeap.AddTimer(TIME_LENGTH, 0, () => { TipUIManager.Instance.Hide(TIP_TYPE_EQUIP); });
            TipViewData viewData = GetTipViewDataByEquipToDecompose(equip);
            TipUIManager.Instance.AddTipViewData(viewData);
        }
    }