示例#1
0
 internal void SetFilter(TypeEquipmentCharacter _typeFilter)
 {
     Debug.Log("type filter " + _typeFilter);
     _myTypeBag = _typeFilter;
     FliterByTypeEquipment(_myTypeBag);
     gameObject.SetActive(true);
 }
示例#2
0
    public void FliterByTypeEquipment(TypeEquipmentCharacter _type)
    {
        int _myCurrentLevel = int.Parse(SplitDataFromServe._heroCurrentPLay.level);


        if (_myEquipItems == null)
        {
            _myEquipItems = new List <EquipmentItem>();
        }
        else
        {
            _myEquipItems.Clear();
        }

        SplitDataFromServe._listEquipmentInBag.ForEach((EquipmentItem item) =>
        {
            //Debug.Log(item.idTypeEquipment + " | " + item.typeItem);

            if (item.levelRequired <= _myCurrentLevel && SplitDataFromServe._listSuitableEquipment.Contains(item.idTypeEquipment))
            {
                if (_type == TypeEquipmentCharacter.Weapon || _type == TypeEquipmentCharacter.OffhandWeapon)//vũ khí
                {
                    if (item.typeItem == TypeEquipmentCharacter.Weapon || item.typeItem == TypeEquipmentCharacter.OffhandWeapon)
                    {
                        _myEquipItems.Add(item);
                    }
                }
                else if (item.typeItem == _type)
                {
                    _myEquipItems.Add(item);
                }
            }
        });
    }
示例#3
0
    internal void MappingTempItemToItem(TypeEquipmentCharacter slot, EquipmentItem _tempItem)
    {
        switch (slot)
        {
        case TypeEquipmentCharacter.Head: headItem = _tempItem; break;

        case TypeEquipmentCharacter.Weapon: weaponItem = _tempItem; break;

        case TypeEquipmentCharacter.Shield: shieldItem = _tempItem; break;

        case TypeEquipmentCharacter.OffhandWeapon: shieldItem = _tempItem; break;

        case TypeEquipmentCharacter.Torso: torsoItem = _tempItem; break;

        case TypeEquipmentCharacter.Leg: legItem = _tempItem; break;

        case TypeEquipmentCharacter.Gloves: glovesItem = _tempItem; break;

        case TypeEquipmentCharacter.Boots: bootsItem = _tempItem; break;

        case TypeEquipmentCharacter.Belt: beltItem = _tempItem; break;

        case TypeEquipmentCharacter.Amulet: amuletItem = _tempItem; break;

        case TypeEquipmentCharacter.Ring: ringItem = _tempItem; break;

        case TypeEquipmentCharacter.Buff: buffItem = _tempItem; break;

        case TypeEquipmentCharacter.Avatar: avatarItem = _tempItem; break;
        }
    }
示例#4
0
    internal EquipmentItem MappingTypeItemToItem(TypeEquipmentCharacter slot)
    {
        switch (slot)
        {
        case TypeEquipmentCharacter.Head: return(headItem);

        case TypeEquipmentCharacter.Weapon: return(weaponItem);

        case TypeEquipmentCharacter.Shield: return(shieldItem);

        case TypeEquipmentCharacter.OffhandWeapon: return(shieldItem);

        case TypeEquipmentCharacter.Torso: return(torsoItem);

        case TypeEquipmentCharacter.Leg: return(legItem);

        case TypeEquipmentCharacter.Gloves: return(glovesItem);

        case TypeEquipmentCharacter.Boots: return(bootsItem);

        case TypeEquipmentCharacter.Belt: return(beltItem);

        case TypeEquipmentCharacter.Amulet: return(amuletItem);

        case TypeEquipmentCharacter.Ring: return(ringItem);

        case TypeEquipmentCharacter.Buff: return(buffItem);

        case TypeEquipmentCharacter.Avatar: return(avatarItem);
        }
        return(null);
    }
示例#5
0
    public static TypeEquipmentCharacter ConvertIdItemToType(int typeEquipped, int typeChild, int idClass, bool isEquipped)
    {
        TypeEquipmentCharacter tempType = TypeEquipmentCharacter.None;

        switch (typeEquipped)
        {
        case 1:
            if (isEquipped)
            {
                if (idClass == 1 || idClass == 5 || idClass == 7)
                {
                    tempType = TypeEquipmentCharacter.OffhandWeapon;
                }
                else
                {
                    tempType = TypeEquipmentCharacter.Shield;
                }
            }
            else
            {
                tempType = TypeEquipmentCharacter.Shield;
            }
            break;

        case 2: tempType = TypeEquipmentCharacter.Ring; break;

        case 3: tempType = TypeEquipmentCharacter.Amulet; break;

        case 4:
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
        case 10:
        case 11: tempType = TypeEquipmentCharacter.Weapon; break;

        case 12:
        case 13:
        case 14:
            switch (typeChild)
            {
            case 1: tempType = TypeEquipmentCharacter.Head; break;

            case 2: tempType = TypeEquipmentCharacter.Torso; break;

            case 3: tempType = TypeEquipmentCharacter.Leg; break;

            case 4: tempType = TypeEquipmentCharacter.Belt; break;

            case 5: tempType = TypeEquipmentCharacter.Gloves; break;

            case 6: tempType = TypeEquipmentCharacter.Boots; break;
            }
            break;
        }
        return(tempType);
    }
示例#6
0
 public EquipmentItem(int _idItem, int _idItemInit, TypeEquipmentCharacter _typeItem, ClassCharacterItem _classItem, int idType, int _idGroupSet, string _name, int _lvlRequired, int _lvlUpgraded, int _priceItem, int rareItem)
 {
     idItem          = _idItem;
     idItemInit      = _idItemInit;
     typeItem        = _typeItem;
     classItem       = _classItem;
     idTypeEquipment = idType;
     idGroupSetItems = _idGroupSet;
     nameItem        = _name;
     levelRequired   = _lvlRequired;
     levelUpgraded   = _lvlUpgraded;
     priceItem       = _priceItem;
     this.rarelyItem = rareItem;
 }
示例#7
0
 public EquipmentItem(EquipmentItem _archetype)
 {
     idItem          = _archetype.idItem;
     idItemInit      = _archetype.idItemInit;
     typeItem        = _archetype.typeItem;
     classItem       = _archetype.classItem;
     idTypeEquipment = _archetype.idTypeEquipment;
     rarelyItem      = _archetype.rarelyItem;
     idGroupSetItems = _archetype.idGroupSetItems;
     nameItem        = _archetype.nameItem;
     levelRequired   = _archetype.levelRequired;
     levelUpgraded   = _archetype.levelUpgraded;
     priceItem       = _archetype.priceItem;
     indexes         = new Dictionary <string, object>(_archetype.indexes);
 }
示例#8
0
 internal void EquipItem(TypeEquipmentCharacter slot, EquipmentItem newEquip)
 {
     if (newEquip.typeItem == slot ||
         (slot == TypeEquipmentCharacter.OffhandWeapon && newEquip.typeItem == TypeEquipmentCharacter.Weapon) ||
         (slot == TypeEquipmentCharacter.Weapon && newEquip.typeItem == TypeEquipmentCharacter.OffhandWeapon))    // Mặc đồ mới
     {
         if (CharacterInfo._instance._baseProperties.Level >= newEquip.levelRequired)
         {
             _tempItem          = MappingTypeItemToItem(slot);// = newEquip;
             _tempItem          = newEquip;
             _tempItem.typeItem = slot;
             MappingTempItemToItem(slot, _tempItem);
             _lastEquipmentChangeSlot = slot;
             _lastEquipmentChangeItem = newEquip;
             ChangeItemEvent();
         }
     }
 }
示例#9
0
    public static string ConvertTypeItemToString(TypeEquipmentCharacter _type)
    {
        switch (_type)
        {
        case TypeEquipmentCharacter.Head: return("00");

        case TypeEquipmentCharacter.Weapon: return("01");

        case TypeEquipmentCharacter.Shield: return("02");

        case TypeEquipmentCharacter.Torso: return("03");

        case TypeEquipmentCharacter.Leg: return("04");

        case TypeEquipmentCharacter.Gloves: return("05");

        case TypeEquipmentCharacter.Boots: return("06");

        case TypeEquipmentCharacter.Belt: return("07");

        case TypeEquipmentCharacter.Amulet: return("08");

        case TypeEquipmentCharacter.Ring: return("09");

        case TypeEquipmentCharacter.Buff: return("10");

        case TypeEquipmentCharacter.Avatar: return("11");

        case TypeEquipmentCharacter.Gem: return("12");

        case TypeEquipmentCharacter.AlchemyMaterial: return("13");

        case TypeEquipmentCharacter.LuckMaterial: return("14");

        case TypeEquipmentCharacter.HPRecovery: return("15");

        case TypeEquipmentCharacter.Scroll: return("16");

        case TypeEquipmentCharacter.VIPCard: return("17");
        }
        return("99");
    }
示例#10
0
    public List <EquipmentItem> FliterByTypeEquipment(TypeEquipmentCharacter _type)
    {
        _mapBagToFliter.Clear();
        List <EquipmentItem> _newList = new List <EquipmentItem>();
        int count = 0;

        _myItems.ForEach((EquipmentItem item) =>
        {
            if (_type != TypeEquipmentCharacter.OffhandWeapon)
            {
                if (_type == TypeEquipmentCharacter.Weapon)
                {
                    if (item.typeItem == _type || _type == TypeEquipmentCharacter.OffhandWeapon)
                    {
                        _mapBagToFliter.Add(count, _newList.Count);
                        _newList.Add(item);
                    }
                }
                else
                {
                    if (item.typeItem == _type)
                    {
                        _mapBagToFliter.Add(count, _newList.Count);
                        _newList.Add(item);
                    }
                }
            }
            else
            {
                if (item.typeItem == TypeEquipmentCharacter.Weapon || item.typeItem == TypeEquipmentCharacter.OffhandWeapon)
                {
                    _mapBagToFliter.Add(count, _newList.Count);
                    _newList.Add(item);
                }
            }
            count++;
        });
        return(_newList);
    }
示例#11
0
    internal int numberItem; // dành cho các item có số lượng : nguyên liệu,...

    public EquipmentItem()
    {
        idItem   = 0;
        typeItem = TypeEquipmentCharacter.None;
    }
示例#12
0
    public static IEnumerator ExecuteRemoveItemOnHero(TypeEquipmentCharacter _typeItem, int idItem, System.Action <string> result)
    {
        WaitingPanelScript._instance.ShowWaiting(true);
        WWWForm form = new WWWForm();

        form.AddField("idh", CharacterInfo._instance._baseProperties.idHero);
        form.AddField("idcode", CharacterInfo._instance._baseProperties.idCodeHero);
        switch (_typeItem)
        {
        case TypeEquipmentCharacter.Weapon:
            form.AddField("ide_weapon", 0);
            break;

        case TypeEquipmentCharacter.Head:
            form.AddField("ide_head", 0);
            break;

        case TypeEquipmentCharacter.Shield:
            form.AddField("ide_shield", 0);
            break;

        case TypeEquipmentCharacter.OffhandWeapon:
            form.AddField("ide_shield", 0);
            break;

        case TypeEquipmentCharacter.Gloves:
            form.AddField("ide_gloves", 0);
            break;

        case TypeEquipmentCharacter.Boots:
            form.AddField("ide_boots", 0);
            break;

        case TypeEquipmentCharacter.Torso:
            form.AddField("ide_torso", 0);
            break;

        case TypeEquipmentCharacter.Belt:
            form.AddField("ide_belt", 0);
            break;

        case TypeEquipmentCharacter.Leg:
            form.AddField("ide_leg", 0);
            break;

        case TypeEquipmentCharacter.Ring:
            form.AddField("ide_ring", 0);
            break;

        case TypeEquipmentCharacter.Amulet:
            form.AddField("ide_amulet", 0);
            break;

        case TypeEquipmentCharacter.Buff:
            form.AddField("ide_buff", 0);
            form.AddField("un_buff", idItem);
            //Debug.LogError("Buff không được phép tháo");
            break;

        case TypeEquipmentCharacter.Avatar:
            //form.AddField("ide_avatar", 0);
            //form.AddField("un_avatar", idItem);
            Debug.LogError("Avatar không được phép tháo");
            //Debug.Log(string.Format("idh| {0} idcode| {1} un_avatar|{2}", SplitDataFromServe._heroCurrentPLay.idh, SplitDataFromServe._heroCurrentPLay.idcode, idItem));
            break;
        }
        // Upload to a cgi script
        WWW www = new WWW(serverURL + "/api/hero/wearweapon", form);

        yield return(www);

        WaitingPanelScript._instance.ShowWaiting(false);
        if (!string.IsNullOrEmpty(www.error))
        {
            result("Error Code: " + www.error);
        }
        else
        {
            result(DataReturn(www.text));
        }
    }
示例#13
0
    public static EquipmentItem CreateEquipmentItem(string data)
    {
        //Debug.Log(data);
        var    N                 = SimpleJSON.JSON.Parse(data);
        int    tempIdItem        = N["ide"].AsInt;
        int    tempIdInitItem    = N["idie"].AsInt;
        string tempnameItem      = N["name"].Value.ToString();
        int    templevelRequired = N["levelrequired"].AsInt;
        int    templevelUpgrade  = N["levelupgraded"].AsInt;
        int    tempidSet         = N["idsuit"].AsInt;

        int typeEquipped = N["typequipped"].AsInt;
        int typeChild    = N["childtype"].AsInt;
        ClassCharacterItem _classCharacterItem = ClassCharacterItem.None;

        switch (typeEquipped)
        {
        case 12: _classCharacterItem = ClassCharacterItem.HeavyArmor; break;

        case 13: _classCharacterItem = ClassCharacterItem.SoftArmor; break;

        case 14: _classCharacterItem = ClassCharacterItem.ClothArmor; break;

        default: _classCharacterItem = ClassCharacterItem.None; break;
        }
        TypeEquipmentCharacter tempType = MappingData.ConvertIdItemToType(typeEquipped, typeChild, _heroCurrentPLay.idclass, false);


        int priceItem = N["sellprice"].AsInt;
        int rare      = N["rateitem"].AsInt;

        EquipmentItem item = new EquipmentItem(tempIdItem, tempIdInitItem, tempType, _classCharacterItem, typeEquipped, tempidSet, tempnameItem, templevelRequired, templevelUpgrade, priceItem, rare);

        item.setValue("1", N["mindamage"].AsFloat);
        item.setValue("2", N["maxdamage"].AsFloat);
        item.setValue("3", N["minmagic"].AsFloat);
        item.setValue("4", N["maxmagic"].AsFloat);
        item.setValue("5", N["critmax"].AsFloat);
        item.setValue("6", N["multicastmax"].AsFloat);
        item.setValue("7", N["min_incrdamage"].AsFloat);
        item.setValue("8", N["max_incrdamage"].AsFloat);
        item.setValue("9", N["min_incrmagic"].AsFloat);
        item.setValue("10", N["max_incrmagic"].AsFloat);
        item.setValue("11", N["min_rate"].AsFloat);
        item.setValue("12", N["max_rate"].AsFloat);
        item.setValue("13", N["minparryrate"].AsFloat);
        item.setValue("14", N["maxparryrate"].AsFloat);
        item.setValue("15", N["min_block"].AsFloat);
        item.setValue("16", N["max_block"].AsFloat);
        item.setValue("17", N["minphydef"].AsFloat);
        item.setValue("18", N["maxphydef"].AsFloat);
        item.setValue("19", N["minmagicdef"].AsFloat);
        item.setValue("20", N["maxmagicdef"].AsFloat);
        item.setValue("21", N["minphyreduction"].AsFloat);
        item.setValue("22", N["maxphyreduction"].AsFloat);
        item.setValue("23", N["minmagicreduction"].AsFloat);
        item.setValue("24", N["maxmagicreduction"].AsFloat);
        item.setValue("25", N["minphyabsorb"].AsFloat);
        item.setValue("26", N["maxphyabsorb"].AsFloat);
        item.setValue("27", N["minmagicabsorb"].AsFloat);
        item.setValue("28", N["maxmagicabsorb"].AsFloat);

        item.setValue("listidproperty", N["listidproperty"].Value.ToString());
        return(item);
    }
示例#14
0
    public static void ReadDetailDataHeroCurrentPlay(string data)
    {
        //Debug.Log(data);
        var N = SimpleJSON.JSON.Parse(data);

        _heroCurrentPLay = JsonUtility.FromJson <HeroCurrentPlay>(N["hero"].ToString());

        int        numberItemEquip    = N["equipped"].Count;
        List <int> listIdWearEquipped = new List <int>();

        for (int i = 0; i < N["wear_equipped"].Count; i++)
        {
            if (N["wear_equipped"][i].AsInt != 0)
            {
                listIdWearEquipped.Add(N["wear_equipped"][i].AsInt);
            }
        }
        List <EquipmentItem> _listEquippedInHero = new List <EquipmentItem>();

        for (int i = 0; i < numberItemEquip; i++)
        {
            int    tempIdItem        = N["equipped"][i]["ide"].AsInt;
            int    tempIdInitItem    = N["equipped"][i]["idie"].AsInt;
            string tempnameItem      = N["equipped"][i]["name"].Value;
            int    templevelRequired = N["equipped"][i]["levelrequired"].AsInt;
            int    templevelUpgrade  = N["equipped"][i]["levelupgraded"].AsInt;
            int    tempidSet         = N["equipped"][i]["idsuit"].AsInt;
            int    temTypeEquipped   = N["equipped"][i]["typequipped"].AsInt;
            int    temChildType      = N["equipped"][i]["childtype"].AsInt;

            int typeEquipped = N["equipped"][i]["typequipped"].AsInt;
            int typeChild    = N["equipped"][i]["childtype"].AsInt;
            ClassCharacterItem _classCharacterItem = ClassCharacterItem.None;
            switch (typeEquipped)
            {
            case 12: _classCharacterItem = ClassCharacterItem.HeavyArmor; break;

            case 13: _classCharacterItem = ClassCharacterItem.SoftArmor; break;

            case 14: _classCharacterItem = ClassCharacterItem.ClothArmor; break;

            default: _classCharacterItem = ClassCharacterItem.None; break;
            }

            TypeEquipmentCharacter tempType = MappingData.ConvertIdItemToType(typeEquipped, typeChild, _heroCurrentPLay.idclass, listIdWearEquipped.Contains(tempIdItem));

            if (N["wear_equipped"]["ide_weapon"].AsInt == tempIdItem)
            {
                tempType = TypeEquipmentCharacter.Weapon;
            }
            else if (N["wear_equipped"]["ide_shield"].AsInt == tempIdItem)
            {
                if (_heroCurrentPLay.idclass == 1 || _heroCurrentPLay.idclass == 5 || _heroCurrentPLay.idclass == 7)
                {
                    tempType = TypeEquipmentCharacter.OffhandWeapon;
                }
                else
                {
                    tempType = TypeEquipmentCharacter.Shield;
                }
            }

            int priceItem = N["equipped"][i]["sellprice"].AsInt;
            int rare      = N["equipped"][i]["rateitem"].AsInt;

            EquipmentItem item = new EquipmentItem(tempIdItem, tempIdInitItem, tempType, _classCharacterItem, typeEquipped, tempidSet, tempnameItem, templevelRequired, templevelUpgrade, priceItem, rare);
            item.setValue("1", N["equipped"][i]["mindamage"].AsFloat);
            item.setValue("2", N["equipped"][i]["maxdamage"].AsFloat);
            item.setValue("3", N["equipped"][i]["minmagic"].AsFloat);
            item.setValue("4", N["equipped"][i]["maxmagic"].AsFloat);
            item.setValue("5", N["equipped"][i]["critmax"].AsFloat);
            item.setValue("6", N["equipped"][i]["multicastmax"].AsFloat);
            item.setValue("7", N["equipped"][i]["min_incrdamage"].AsFloat);
            item.setValue("8", N["equipped"][i]["max_incrdamage"].AsFloat);
            item.setValue("9", N["equipped"][i]["min_incrmagic"].AsFloat);
            item.setValue("10", N["equipped"][i]["max_incrmagic"].AsFloat);
            item.setValue("11", N["equipped"][i]["min_rate"].AsFloat);
            item.setValue("12", N["equipped"][i]["max_rate"].AsFloat);
            item.setValue("13", N["equipped"][i]["minparryrate"].AsFloat);
            item.setValue("14", N["equipped"][i]["maxparryrate"].AsFloat);
            item.setValue("15", N["equipped"][i]["min_block"].AsFloat);
            item.setValue("16", N["equipped"][i]["max_block"].AsFloat);
            item.setValue("17", N["equipped"][i]["minphydef"].AsFloat);
            item.setValue("18", N["equipped"][i]["maxphydef"].AsFloat);
            item.setValue("19", N["equipped"][i]["minmagicdef"].AsFloat);
            item.setValue("20", N["equipped"][i]["maxmagicdef"].AsFloat);
            item.setValue("21", N["equipped"][i]["minphyreduction"].AsFloat);
            item.setValue("22", N["equipped"][i]["maxphyreduction"].AsFloat);
            item.setValue("23", N["equipped"][i]["minmagicreduction"].AsFloat);
            item.setValue("24", N["equipped"][i]["maxmagicreduction"].AsFloat);
            item.setValue("25", N["equipped"][i]["minphyabsorb"].AsFloat);
            item.setValue("26", N["equipped"][i]["maxphyabsorb"].AsFloat);
            item.setValue("27", N["equipped"][i]["minmagicabsorb"].AsFloat);
            item.setValue("28", N["equipped"][i]["maxmagicabsorb"].AsFloat);
            item.priceItem = N["equipped"][i]["sellprice"].AsInt;
            string _valueProperty = N["equipped"][i]["listidproperty"].Value;
            item.setValue("listidproperty", _valueProperty);

            if (_valueProperty.Equals("null") || _valueProperty.Equals("[]") || string.IsNullOrEmpty(_valueProperty))
            {
            }
            else
            {
                try
                {
                    var M = CoreLib.JSON.Parse(_valueProperty);
                    foreach (KeyValuePair <string, CoreLib.JSONNode> _temp in M.AsObject)
                    {
                        //Debug.Log(_temp.Key.ToString());
                        item.setValue(_temp.Key.ToString(), float.Parse(_temp.Value.AsFloat.ToString()));
                    }
                }
                catch (Exception e)
                {
                    Debug.Log(e);
                    Debug.Log(tempIdItem + " " + _valueProperty);
                }
            }

            //Debug.Log(item.typeItem);
            if (listIdWearEquipped.Contains(tempIdItem))
            {
                _listEquippedInHero.Add(item);
            }
            else
            {
                _listEquipmentInBag.Add(item);
            }
        }

        int numberAvatar = N["avatar"].Count;

        for (int i = 0; i < numberAvatar; i++)
        {
            int tempIdItem = N["avatar"][i]["idha"].AsInt;

            //int tempIdInitItem = N["avatar"][i]["idia"].AsInt;
            string        tempnameItem      = N["avatar"][i]["name"].Value.ToString();
            int           templevelRequired = 1;
            int           templevelUpgrade  = int.Parse(N["avatar"][i]["level"].Value.ToString());
            int           tempidSet         = 0;
            int           priceItem         = 0;
            int           rare = 0;
            EquipmentItem item = new EquipmentItem(tempIdItem, 1, TypeEquipmentCharacter.Avatar, ClassCharacterItem.None, 0, tempidSet, tempnameItem, templevelRequired, templevelUpgrade, priceItem, rare);

            //Thêm các dòng trắng
            item.setValue("97", float.Parse(N["avatar"][i]["hp"].Value.ToString()));
            item.setValue("98", float.Parse(N["avatar"][i]["physical_damage"].Value.ToString()));
            item.setValue("99", float.Parse(N["avatar"][i]["magical_damage"].Value.ToString()));
            item.setValue("100", float.Parse(N["avatar"][i]["physical_absorption"].Value.ToString()));
            item.setValue("101", float.Parse(N["avatar"][i]["magical_absorption"].Value.ToString()));
            item.setValue("999", N["avatar"][i]["maxlist"].AsInt);
            item.setValue("listidproperty", N["avatar"][i]["listidproperty"].Value.ToString());
            try
            {
                var M = SimpleJSON.JSON.Parse(N["avatar"][i]["listidproperty"].Value.ToString());
                foreach (KeyValuePair <string, SimpleJSON.JSONNode> _temp in M.AsObject)
                {
                    //Debug.Log(_temp.Key.ToString());
                    item.setValue(_temp.Key.ToString(), float.Parse(_temp.Value.AsFloat.ToString()));
                }
            }
            catch (Exception e)
            {
            }
            //check trong túi hay người
            if (listIdWearEquipped.Contains(tempIdItem))
            {
                _listEquippedInHero.Add(item);
            }
            else
            {
                _listEquipmentInBag.Add(item);
            }
        }

        int numberBuff = N["buff"].Count;

        for (int i = 0; i < numberBuff; i++)
        {
            int           tempIdItem        = N["buff"][i]["idbf"].AsInt;
            int           tempIdInit        = N["buff"][i]["idibf"].AsInt;
            string        tempnameItem      = N["buff"][i]["name"].Value.ToString();
            int           templevelRequired = 1;
            int           templevelUpgrade  = int.Parse(N["buff"][i]["level"].Value.ToString());
            int           tempidSet         = 0;
            int           priceItem         = N["buff"][i]["sellprice"].AsInt;
            int           rare = 0;
            EquipmentItem item = new EquipmentItem(tempIdItem, tempIdInit, TypeEquipmentCharacter.Buff, ClassCharacterItem.None, 0, tempidSet, tempnameItem, templevelRequired, templevelUpgrade, priceItem, rare);

            float _rate   = N["buff"][i]["rate"].AsFloat;
            int   _idRate = MappingData.ConvertIdBuffToAttribute(tempIdInit);
            item.setValue(_idRate.ToString(), _rate);
            //check trong túi hay người
            if (listIdWearEquipped.Contains(tempIdItem))
            {
                _listEquippedInHero.Add(item);
            }
            else
            {
                _listEquipmentInBag.Add(item);
            }
        }
        _equipmentCurrentHero = new EquipmentsCharacter(_listEquippedInHero);
    }
示例#15
0
 internal bool isHaveItem(TypeEquipmentCharacter slot)
 {
     return(MappingTypeItemToItem(slot).idItem == 0 ? false : true);
 }
示例#16
0
    public static void ReadDetailDataHeroEnemyPlay(string data)
    {
        var N = SimpleJSON.JSON.Parse(data);

        _heroEnemyPlay = JsonUtility.FromJson <HeroCurrentPlay>(N["hero"].ToString());

        int        numberItemEquip    = N["equipped"].Count;
        List <int> listIdWearEquipped = new List <int>();

        for (int i = 0; i < N["wear_equipped"].Count; i++)
        {
            if (N["wear_equipped"][i].AsInt != 0)
            {
                listIdWearEquipped.Add(N["wear_equipped"][i].AsInt);
            }
        }
        List <EquipmentItem> _listEquippedInHero = new List <EquipmentItem>();

        for (int i = 0; i < numberItemEquip; i++)
        {
            if (listIdWearEquipped.Contains(N["equipped"][i]["ide"].AsInt))
            {
                int    tempIdItem        = N["equipped"][i]["ide"].AsInt;
                int    tempIdInitItem    = N["equipped"][i]["idie"].AsInt;
                string tempnameItem      = N["equipped"][i]["name"].Value;
                int    templevelRequired = N["equipped"][i]["levelrequired"].AsInt;
                int    templevelUpgrade  = N["equipped"][i]["levelupgraded"].AsInt;
                int    tempidSet         = N["equipped"][i]["idsuit"].AsInt;

                int temTypeEquipped = N["equipped"][i]["typequipped"].AsInt;
                int temChildType    = N["equipped"][i]["childtype"].AsInt;

                //TypeEquipmentCharacter tempType = GetSlotWearEquipped(data, tempIdItem, _heroEnemyPlay.idclass);

                int priceItem = N["equipped"][i]["sellprice"].AsInt;
                int rareItem  = N["equipped"][i]["rateitem"].AsInt;

                int typeEquipped = N["equipped"][i]["typequipped"].AsInt;
                int typeChild    = N["equipped"][i]["childtype"].AsInt;
                ClassCharacterItem _classCharacterItem = ClassCharacterItem.None;
                switch (typeEquipped)
                {
                case 12: _classCharacterItem = ClassCharacterItem.HeavyArmor; break;

                case 13: _classCharacterItem = ClassCharacterItem.SoftArmor; break;

                case 14: _classCharacterItem = ClassCharacterItem.ClothArmor; break;

                default: _classCharacterItem = ClassCharacterItem.None; break;
                }

                TypeEquipmentCharacter tempType = MappingData.ConvertIdItemToType(typeEquipped, typeChild, _heroCurrentPLay.idclass, listIdWearEquipped.Contains(tempIdItem));

                if (N["wear_equipped"]["ide_weapon"].AsInt == tempIdItem)
                {
                    tempType = TypeEquipmentCharacter.Weapon;
                }
                else if (N["wear_equipped"]["ide_shield"].AsInt == tempIdItem)
                {
                    if (_heroCurrentPLay.idclass == 1 || _heroCurrentPLay.idclass == 5 || _heroCurrentPLay.idclass == 7)
                    {
                        tempType = TypeEquipmentCharacter.OffhandWeapon;
                    }
                    else
                    {
                        tempType = TypeEquipmentCharacter.Shield;
                    }
                }



                EquipmentItem item = new EquipmentItem(tempIdItem, tempIdInitItem, tempType, _classCharacterItem, typeEquipped, tempidSet, tempnameItem, templevelRequired, templevelUpgrade, priceItem, rareItem);
                item.setValue("1", N["equipped"][i]["mindamage"].AsFloat);
                item.setValue("2", N["equipped"][i]["maxdamage"].AsFloat);
                item.setValue("3", N["equipped"][i]["minmagic"].AsFloat);
                item.setValue("4", N["equipped"][i]["maxmagic"].AsFloat);
                item.setValue("5", N["equipped"][i]["critmax"].AsFloat);
                item.setValue("6", N["equipped"][i]["multicastmax"].AsFloat);
                item.setValue("7", N["equipped"][i]["min_incrdamage"].AsFloat);
                item.setValue("8", N["equipped"][i]["max_incrdamage"].AsFloat);
                item.setValue("9", N["equipped"][i]["min_incrmagic"].AsFloat);
                item.setValue("10", N["equipped"][i]["max_incrmagic"].AsFloat);
                item.setValue("11", N["equipped"][i]["min_rate"].AsFloat);
                item.setValue("12", N["equipped"][i]["max_rate"].AsFloat);
                item.setValue("13", N["equipped"][i]["minparryrate"].AsFloat);
                item.setValue("14", N["equipped"][i]["maxparryrate"].AsFloat);
                item.setValue("15", N["equipped"][i]["min_block"].AsFloat);
                item.setValue("16", N["equipped"][i]["max_block"].AsFloat);
                item.setValue("17", N["equipped"][i]["minphydef"].AsFloat);
                item.setValue("18", N["equipped"][i]["maxphydef"].AsFloat);
                item.setValue("19", N["equipped"][i]["minmagicdef"].AsFloat);
                item.setValue("20", N["equipped"][i]["maxmagicdef"].AsFloat);
                item.setValue("21", N["equipped"][i]["minphyreduction"].AsFloat);
                item.setValue("22", N["equipped"][i]["maxphyreduction"].AsFloat);
                item.setValue("23", N["equipped"][i]["minmagicreduction"].AsFloat);
                item.setValue("24", N["equipped"][i]["maxmagicreduction"].AsFloat);
                item.setValue("25", N["equipped"][i]["minphyabsorb"].AsFloat);
                item.setValue("26", N["equipped"][i]["maxphyabsorb"].AsFloat);
                item.setValue("27", N["equipped"][i]["minmagicabsorb"].AsFloat);
                item.setValue("28", N["equipped"][i]["maxmagicabsorb"].AsFloat);

                item.setValue("listidproperty", N["equipped"][i]["maxmagicabsorb"].Value.ToString());

                _listEquippedInHero.Add(item);
            }
        }

        _equipmentCurrentEnemy = new EquipmentsCharacter(_listEquippedInHero);
    }
示例#17
0
 public EquipmentItem(int id, TypeEquipmentCharacter _type)
 {
     idItem        = id;
     typeItem      = _type;
     levelRequired = 0;
 }
示例#18
0
    private void BtnItemInforClick()
    {
        string param = ItemInforController.Message;

        if (!isActiveStorageUI)
        {
            return;
        }

        if (param.Equals("UseItem"))
        {
            StartCoroutine(ServerAdapter.UseItemInShop(CharacterInfo._instance._baseProperties.idHero, CharacterInfo._instance._baseProperties.idCodeHero,
                                                       int.Parse(SplitDataFromServe._listItemInBag[idItemSelected].getValue("idht").ToString()), 1,
                                                       result =>
            {
                if (result.StartsWith("Error"))
                {
                    TextNotifyScript.instance.SetData(result);
                }
                else
                {
                    var N      = SimpleJSON.JSON.Parse(result);
                    int idItem = int.Parse(SplitDataFromServe._listItemInBag[idItemSelected].getValue("idit").ToString());
                    if (idItem == 31)          //dùng thẻ protect
                    {
                        long timeSticks      = long.Parse(N["timeprotection"].Value);
                        DateTime _timeActive = new DateTime(timeSticks * 10000000 + new DateTime(1969, 12, 31, 12, 0, 0).Ticks);
                        _rewardItem.SetData("Used Item: " + SplitDataFromServe._listItemInBag[idItemSelected].getValue("name").ToString(), "Time Active: " + _timeActive.ToLocalTime());
                    }
                    else if (idItem >= 65 && idItem <= 68)          //dùng thẻ
                    {
                        long timeSticks      = long.Parse(N["timedaypremium"].Value);
                        DateTime _timeActive = new DateTime(timeSticks * 10000000 + new DateTime(1969, 12, 31, 12, 0, 0).Ticks);
                        _rewardItem.SetData("Used Item: " + SplitDataFromServe._listItemInBag[idItemSelected].getValue("name").ToString(), "Time Active: " + _timeActive.ToLocalTime());
                    }
                    else if (idItem == 70)         //reset skill point
                    {
                        SplitDataFromServe._heroSkill.Clear();
                        int numberSkillPoint = N["skillpoint"].AsInt;
                        CharacterInfo._instance._skillPoints += numberSkillPoint;
                        _rewardItem.SetData("Used Item: " + SplitDataFromServe._listItemInBag[idItemSelected].getValue("name").ToString(), "Skill point return: " + numberSkillPoint);
                    }
                    SplitDataFromServe.SubItemInBag(idItemSelected, 1);
                    DisplayItemInBag();
                }
            }));
        }
        else if (param.Equals("SellItem"))
        {
            _infoItemPanel.SetData(false, SplitDataFromServe._listItemInBag[idItemSelected], _listSlotItem[idItemSelected]._iconImg.sprite);
        }
        else if (param.Equals("UpdateEquipment"))
        {
            DisplayEquipmentInBag();
        }
        else if (param.Equals("SellEquipment"))//Chọn đồ
        {
            if (SplitDataFromServe._listEquipmentInBag[idItemSelected].typeItem == TypeEquipmentCharacter.Buff)
            {
                StartCoroutine(ServerAdapter.SellBuff(CharacterInfo._instance._baseProperties.idHero, CharacterInfo._instance._baseProperties.idCodeHero, SplitDataFromServe._listEquipmentInBag[idItemSelected].idItem,
                                                      result =>
                {
                    if (result.StartsWith("Error"))
                    {
                        TextNotifyScript.instance.SetData(result);
                    }
                    else
                    {
                        var N = SimpleJSON.JSON.Parse(result);
                        CharacterInfo._instance._baseProperties.Gold += N["plusgold"].AsInt;
                        this.PostEvent(EventID.OnPropertiesChange);

                        SplitDataFromServe._listEquipmentInBag.RemoveAt(idItemSelected);
                        DisplayEquipmentInBag();
                    }
                }));
            }
            else
            {
                StartCoroutine(ServerAdapter.SellEquipment(CharacterInfo._instance._baseProperties.idHero, CharacterInfo._instance._baseProperties.idCodeHero, SplitDataFromServe._listEquipmentInBag[idItemSelected].idItem,
                                                           result =>
                {
                    if (result.StartsWith("Error"))
                    {
                        TextNotifyScript.instance.SetData(result);
                    }
                    else
                    {
                        var N = SimpleJSON.JSON.Parse(result);
                        CharacterInfo._instance._baseProperties.Gold += N["plusgold"].AsInt;
                        this.PostEvent(EventID.OnPropertiesChange);

                        SplitDataFromServe._listEquipmentInBag.RemoveAt(idItemSelected);
                        DisplayEquipmentInBag();
                    }
                }));
            }
        }
        else if (param.Equals("ReplaceEquipmentFromBag"))
        {
            _myEquipment = SplitDataFromServe._listEquipmentInBag[idItemSelected];
            isCanUse     = true;
            _myTypeBag   = _myEquipment.typeItem;
            if (_myEquipment.levelRequired <= _myCurrentLevel && SplitDataFromServe._listSuitableEquipment.Contains(_myEquipment.idTypeEquipment))
            {
                if (_myEquipment.typeItem == TypeEquipmentCharacter.Weapon)
                {
                    if (!CharacterInfo._instance._baseProperties._classCharacter.Equals(MappingData.GetSuitableClassForWeapon(_myEquipment.idTypeEquipment)))
                    {
                        isCanUse = false;
                    }
                }
            }
            else
            {
                isCanUse = false;
            }

            //Debug.Log("is can use this equipment " + isCanUse);
            if (isCanUse)
            {
                StartCoroutine(ServerAdapter.ExecuteChangeEquipment(_myEquipment, result =>
                {
                    if (result.StartsWith("Error"))
                    {
                        TextNotifyScript.instance.SetData(result);
                    }
                    else
                    {
                        _tempItem = _equipmentsCharacter.MappingTypeItemToItem(_myTypeBag);
                        if (_tempItem != null)
                        {
                            SplitDataFromServe._listEquipmentInBag.Add(_tempItem);
                        }
                        _equipmentsCharacter.EquipItem(_myTypeBag, _myEquipment);
                        SplitDataFromServe._listEquipmentInBag.Remove(_myEquipment);
                        //CharacterInfo._instance._baseProperties.AddBonusItem(_myEquipItems[id]);
                        DisplayEquipmentInBag();
                    }
                }));
            }
        }
    }