Пример #1
0
    /// <summary>
    /// 移除装备
    /// </summary>
    /// <param name="newEquip"></param>
    public void ReMoveEquip(EquipData newEquip)
    {
        if (armorList == null)
        {
            InitEquipTypeList();
        }
        switch (newEquip.equipType)
        {
        case EquipType.Armor:
            armorList.Remove(newEquip);
            break;

        case EquipType.Helmet:
            helmetList.Remove(newEquip);
            break;

        case EquipType.Necklace:
            necklaceList.Remove(newEquip);
            break;

        case EquipType.Ring:
            ringList.Remove(newEquip);
            break;

        case EquipType.shoes:
            shoesList.Remove(newEquip);
            break;

        case EquipType.weapon:
            weaponList.Remove(newEquip);
            break;
        }
        //移除本地数据
        EquipDataList.Remove(newEquip);
    }
Пример #2
0
    public void ShowEquipBar(EquipData equip, EquipItemCallback2 callback = null)
    {
        switch (equip.equipType)
        {
        case EquipType.Armor:
            UpdateEquip(Armor, out hasArmor, out hasUpArmor, equip, callback);
            break;

        case EquipType.Helmet:
            UpdateEquip(Helmet, out hasHelmet, out hasUpHelmet, equip, callback);
            break;

        case EquipType.Necklace:
            UpdateEquip(Necklace, out hasNecklace, out hasUpNecklace, equip, callback);
            break;

        case EquipType.Ring:
            UpdateEquip(Ring, out hasRing, out hasUpRing, equip, callback);
            break;

        case EquipType.shoes:
            UpdateEquip(shoes, out hasshoes, out hasUpshoes, equip, callback);
            break;

        case EquipType.weapon:
            UpdateEquip(Weapon, out hasWeapon, out hasUpWeapon, equip, callback);
            break;
        }
    }
Пример #3
0
    public Equip(int id, int lv = 1)
    {
        ItemData.RootObject  itemData  = ItemData.GetData(id);
        EquipData.RootObject equipData = EquipData.GetData(id);

        if (itemData != null && equipData != null)
        {
            ID   = id;
            Name = itemData.GetName();
            Lv   = lv;
            if (lv > 1)
            {
                Name += "+" + (Lv - 1);
            }
            Comment      = itemData.GetComment();
            Icon         = itemData.Icon;
            Volume       = itemData.Volume;
            Price        = itemData.Price;
            Amount       = 1;
            CanCook      = itemData.CanCook;
            CanBeStacked = itemData.CanBeStacked;
            Type         = itemData.Type;

            EquipType    = equipData.Type;
            ATK          = Mathf.RoundToInt(equipData.ATK * (1 + (Lv - 1) * 0.1f));
            DEF          = Mathf.RoundToInt(equipData.DEF * (1 + (Lv - 1) * 0.1f));
            MTK          = Mathf.RoundToInt(equipData.MTK * (1 + (Lv - 1) * 0.1f));
            MEF          = Mathf.RoundToInt(equipData.MEF * (1 + (Lv - 1) * 0.1f));
            UpgradePrice = equipData.UpgradePrice;
        }
        else
        {
            Debug.Log("裝備資料不存在!");
        }
    }
        public void UnequipItemTo(InventoryData inventory, EquipSlot eslot, int islot)
        {
            InventoryItemData invt_slot  = inventory.GetItem(islot);
            InventoryItemData invt_equip = EquipData.GetEquippedItem(eslot);
            ItemData          idata      = ItemData.Get(invt_slot?.item_id);
            ItemData          edata      = ItemData.Get(invt_equip?.item_id);

            if (edata != null && inventory != EquipData && inventory.uid != invt_equip.uid)
            {
                bool same_item  = idata != null && invt_slot != null && invt_slot.quantity > 0 && idata.id == edata.id && invt_slot.quantity < idata.inventory_max;
                bool slot_empty = invt_slot == null || invt_slot.quantity <= 0;
                if (same_item || slot_empty)
                {
                    //Unequip
                    EquipData.UnequipItem(eslot);
                    inventory.AddItemAt(edata.id, islot, 1, invt_equip.durability, invt_equip.uid);
                }
                else if (idata != null && invt_slot != null && !same_item && idata.type == ItemType.Equipment && idata.equip_slot == edata.equip_slot && invt_slot.quantity == 1)
                {
                    //swap
                    inventory.RemoveItemAt(islot, 1);
                    EquipData.UnequipItem(eslot);
                    EquipData.EquipItem(eslot, idata.id, invt_slot.durability, invt_slot.uid);
                    inventory.AddItemAt(edata.id, islot, 1, invt_equip.durability, invt_equip.uid);
                }
            }
        }
Пример #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="nid"></param>
        /// <returns></returns>
        public IList <EquipData> SELECT_BY_NID(int nid)
        {
            try
            {
                IList <EquipData> result = new List <EquipData>();
                var temp = (from row in db.U_equipdata where row.nid == nid orderby row.x ascending select row).GetEnumerator();
                while (temp.MoveNext())
                {
                    EquipData element = new EquipData();

                    element.Id          = temp.Current.id;
                    element.Nid         = temp.Current.nid;
                    element.X           = temp.Current.x;
                    element.Y           = temp.Current.y;
                    element.Description = temp.Current.description;
                    element.Type        = temp.Current.type;
                    element.Isused      = temp.Current.isused;
                    element.Status      = temp.Current.status;
                    element.Logicid     = temp.Current.logicid;
                    element.Url         = temp.Current.url;

                    result.Add(element);
                }
                return(result);
            }
            catch
            {
                return(null);
            }
        }
Пример #6
0
        /// <summary>
        /// 插入函数
        /// </summary>
        /// <param name="info">Model</param>
        /// <returns>影响数据物理ID</returns>
        public long INSERT(EquipData info)
        {
            try
            {
                U_equipdata temp = new U_equipdata();
                //temp.id = info.Id;
                temp.nid         = info.Nid;
                temp.x           = info.X;
                temp.y           = info.Y;
                temp.description = info.Description;
                temp.type        = info.Type;
                temp.isused      = info.Isused;
                temp.status      = info.Status;
                temp.logicid     = info.Logicid;
                temp.url         = info.Url;

                Table <U_equipdata> table = db.GetTable <U_equipdata>();
                table.InsertOnSubmit(temp);
                db.SubmitChanges();
                return(temp.id);
            }
            catch
            {
                return(-2);
            }
        }
Пример #7
0
        public override bool TakeAction()
        {
            EquipData equip = GetEquips.FindEquipData(equipID);



            if (GetBasis.UserLv <= equip.Lv)
            {
                return(false);
            }

            if (equip.Lv - GetEquips.Weapon.Lv >= 3 ||
                equip.Lv - GetEquips.Coat.Lv >= 3 ||
                equip.Lv - GetEquips.Ring.Lv >= 3 ||
                equip.Lv - GetEquips.Shoe.Lv >= 3 ||
                equip.Lv - GetEquips.Accessory.Lv >= 3)
            {
                return(false);
            }

            var equipcfg = new ShareCacheStruct <Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == (equip.Lv + 1)));

            if (equipcfg == null)
            {
                return(false);
            }
            BigInteger gradeConsumeGold = BigInteger.Parse(equipcfg.GradeConsumeGold);

            if (GetBasis.GoldNum < gradeConsumeGold || GetBasis.DiamondNum < equipcfg.GradeConsumediamond)
            {
                return(false);
            }
            //var nextEquipcfg = new ShareCacheStruct<Config_Equip>().Find(t => (t.EquipID == equip.ID && t.Grade == equip.Lv+1));
            //if (nextEquipcfg == null)
            //{
            //    return false;
            //}

            if (gradeConsumeGold > 0)
            {
                UserHelper.ConsumeGold(Current.UserId, equipcfg.GradeConsumeGold);
            }

            if (equipcfg.GradeConsumediamond > 0)
            {
                UserHelper.ConsumeDiamond(Current.UserId, equipcfg.GradeConsumediamond);
            }

            equip.Lv++;
            UserHelper.RefreshUserFightValue(Current.UserId);

            // 每日
            UserHelper.EveryDayTaskProcess(Current.UserId, TaskType.UpgradeEquip, 1);

            // 成就
            UserHelper.AchievementProcess(Current.UserId, AchievementType.UpgradeEquip);

            receipt = true;
            return(true);
        }
Пример #8
0
        /// <summary>
        /// 根据物理主码查询
        /// </summary>
        /// <param name="id">id</param>
        /// <returns>结果</returns>
        public EquipData SELECT_BY_ID(long id)
        {
            try
            {
                EquipData   rd   = new EquipData();
                U_equipdata temp = (from row in db.U_equipdata where row.id == id select row).First();

                rd.Id          = temp.id;
                rd.Nid         = temp.nid;
                rd.X           = temp.x;
                rd.Y           = temp.y;
                rd.Description = temp.description;
                rd.Type        = temp.type;
                rd.Isused      = temp.isused;
                rd.Status      = temp.status;
                rd.Logicid     = temp.logicid;
                rd.Url         = temp.url;

                return(rd);
            }
            catch
            {
                return(null);
            }
        }
Пример #9
0
    // 删除物品
    private void OnDeleteItem(UserToken token, SocketModel model)
    {
        ReqDeleteItem req = SerializeUtil.Deserialize <ReqDeleteItem>(model.message);

        // 应答
        RespDeleteItem resp = new RespDeleteItem();

        if (req.deleteType == DeleteType.Equip)
        {
            EquipData equipData = CacheManager.instance.GetEquipData(token.characterid, req.slot);
            equipData.itemid = -1;
            resp.dto         = EquipData.GetInvDTO(equipData);
            resp.deleteType  = DeleteType.Equip;

            equipData = CacheManager.instance.GetEquipData(token.characterid, req.slot);
        }
        else
        {
            // 获取背包栏位物品数据
            InventoryData invData = CacheManager.instance.GetInvData(token.characterid, req.slot);
            invData.itemid  = -1;
            invData.num     = 0;
            resp.dto        = InventoryData.GetInvDTO(invData);
            resp.deleteType = DeleteType.Inv;
        }

        NetworkManager.Send(token, (int)MsgID.INV_Delete_Item_SRES, resp);
    }
Пример #10
0
    // Start is called before the first frame update
    private IEnumerator Init()
    {
        JobData.Load();
        SkillData.Load();
        EnemyData.Load();
        BattleTileData.Load();
        BattlefieldData.Load();
        BattleGroupData.Load();
        BattleStatusData.Load();
        ItemData.Load();
        EquipData.Load();
        ItemEffectData.Load();
        LanguageData.Load();
        DungeonData.Load();
        RoomData.Load();
        TreasureData.Load();
        ConversationData.Load();
        ShopData.Load();
        DungeonGroupData.Load();
        ExpData.Load();
        NewCookData.Load();

        yield return(new WaitForEndOfFrame());

        InitManager();

        MySceneManager.Instance.Load();

#if UNITY_EDITOR
        DebugCommand.Start();
#endif
    }
Пример #11
0
        public EquipData FindEquipData(EquipID id)
        {
            EquipData equip = null;

            switch (id)
            {
            case EquipID.Coat:
                equip = Coat;
                break;

            case EquipID.Weapon:
                equip = Weapon;
                break;

            case EquipID.Shoe:
                equip = Shoe;
                break;

            case EquipID.Accessory:
                equip = Accessory;
                break;

            case EquipID.Ring:
                equip = Ring;
                break;
            }
            return(equip);
        }
Пример #12
0
 public void ResetCache()
 {
     Weapon = new EquipData()
     {
         ID = EquipID.Weapon,
         Lv = 1,
     };
     Coat = new EquipData()
     {
         ID = EquipID.Coat,
         Lv = 1,
     };
     Ring = new EquipData()
     {
         ID = EquipID.Ring,
         Lv = 1,
     };
     Shoe = new EquipData()
     {
         ID = EquipID.Shoe,
         Lv = 1,
     };
     Accessory = new EquipData()
     {
         ID = EquipID.Accessory,
         Lv = 1,
     };
 }
 public static EquipData SetArmorTo(this EquipData equipData, out float addedPhysArmor, out float addedMagicArmor, out float addedElectricArmor)
 {
     addedPhysArmor     = equipData.AddedPhysArmor;
     addedMagicArmor    = equipData.AddedMagicArmor;
     addedElectricArmor = equipData.AddedElectricArmor;
     return(equipData);
 }
Пример #14
0
 public EquipModel(EquipData data = null)
 {
     if (data != null)
     {
         Init(data);
     }
 }
Пример #15
0
    void StartAtk()
    {
        state = AtkState.atkbegin;


        if (Vector3.Distance(parent.transform.position, target.transform.position) > parent.GetAtkDis(target))
        {
            state = AtkState.non;
            return;
        }

        if (GameConst.CAMP_ATK[(int)target.camp, (int)parent.camp] == 0)
        {
            if (target.GetObjType() == InGameBaseObj.enObjType.equip)
            {
                InGameBaseEquip equip = (InGameBaseEquip)target;

                parent.StopAction();

                EquipData e = EquipSystem.GetInstance().RandEquipProperty(equip);
                InGameManager.GetInstance().inGamePlayerManager.AddEquip(e);

                MonoBehaviour.Destroy(equip.gameObject);
            }
            return;
        }

        parent.SetAnimatorState(parent.GetAtkAnimator(), parent.GetAtkSpeed());
        atkTime = 0;

        Vector3 v = (target.transform.position - parent.transform.position).normalized;

        parent.transform.forward = v;
    }
Пример #16
0
    void ShowSoul(Soul data)
    {
        if (data.m_config.type == (int)ItemType.Monster_Frage)
        {
            MonsterData mon = Core.Data.monManager.getMonsterByNum(data.m_config.updateId);
            m_txtName.text = data.m_config.name;
            AtlasMgr.mInstance.SetHeadSprite(m_spIcon, mon.ID.ToString());
            m_spBg.spriteName = "star6";
            m_star.SetStar(mon.star);
            m_spAttr.spriteName = "bag-0003";
        }
        else if (data.m_config.type == (int)ItemType.Equip_Frage)
        {
            EquipData equip = Core.Data.EquipManager.getEquipConfig(data.m_config.updateId);
            if (equip != null)
            {
                m_txtName.text = data.m_config.name;

                m_spIcon.atlas      = AtlasMgr.mInstance.equipAtlas;
                m_spIcon.spriteName = data.m_config.updateId.ToString();

                m_spBg.spriteName = "star6";
                m_star.SetStar(equip.star);
                m_spAttr.spriteName = "sui";
            }
        }

        m_spAttr.MakePixelPerfect();

        m_txtLvl.text = "";
        RED.SetActive(true, m_spAttr.gameObject);
    }
Пример #17
0
    public void WriteAccountAll(string account)
    {
        if (!equips.ContainsKey(account))
        {
            return;
        }
        //写入装备数据
        EquipData equip = equips[account];
        string    sql   = string.Format("UPDATE equip SET tank = {0},bullet = {1} WHERE account = '{2}'", equip.tank, equip.bullet, account);

        MysqlManager.instance.ExecNonQuery(sql);

        //写入仓库数据
        sql = string.Format("DELETE FROM warehouse WHERE account = '{0}'", account);
        MysqlManager.instance.ExecNonQuery(sql);

        List <ItemData> accItem = items[account];

        for (int i = 0; i < accItem.Count; i++)
        {
            ItemData item = accItem[i];
            sql = string.Format("INSERT INTO warehouse (account,itemid,count,slot) VALUES ('{0}',{1},{2},{3})", item.account, item.itemid, item.count, item.slot);
            MysqlManager.instance.ExecNonQuery(sql);
        }
    }
Пример #18
0
        /// <summary>
        /// 更新角色装备信息
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        /// <param name="peer"></param>
        /// <param name="sendParameters"></param>
        void UpdateEquipInfo(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            Dictionary <byte, object> m_dic = request.Parameters;
            object value;

            response.ReturnCode = (short)ReturnCode.Fail;
            // 客户端传递过来的参数信息:goodsid,lv
            if (m_dic.TryGetValue((byte)ParameterCode.RoleData, out value))
            {
                string strValue = value.ToString();
                Helper.Log("UpdateEquipList:" + strValue);
                string[] pStr1 = strValue.Split(',');
                if (pStr1.Length == 2)
                {
                    int nId = Helper.IntParse(pStr1[0]);
                    List <EquipData> pList = m_equiplistMgr.GetEquipDataByID(nId);
                    if (pList != null && pList.Count > 0)
                    {
                        EquipData data = pList[0];
                        data.Lv = Helper.IntParse(pStr1[1]);
                        m_equiplistMgr.UpdateEquipList(data);
                        Helper.Log("Update GoodsInfo:" + data);
                        response.ReturnCode = (short)ReturnCode.Success;
                    }
                }
            }
            return;
        }
Пример #19
0
    public void setEquipData(EquipData ed)
    {
        Debug.Log("slotcell. setEquipData "+ ed);
        this.equipData = ed;
        if(ed == null){
            TeamDlg.instance.isHighLight = false;
            Icon_Gear.enabled = false;
            Info.enabled = false;
        }else{
            TeamDlg.instance.isHighLight = true;
            Icon_Gear.enabled = true;
            Info.enabled = true;

            this.Icon_Gear.spriteName = this.equipData.equipDef.iconID;
            if(this.Icon_Gear.GetAtlasSprite()==null){
                if(ed.equipDef.type == EquipData.Type.ISO){
                    this.Icon_Gear.spriteName = "ISO_default";
                }else{
                    this.Icon_Gear.spriteName = "GearDefault";
                }
            }
            if(ed.equipDef.type == EquipData.Type.ISO){
                Info.text = string.Format("{0}",Localization.instance.Get("ISO_Name_"+ed.equipDef.id));
            }else{
                Info.text = string.Format("{0}\n<{1}{2}>",Localization.instance.Get("Gear_Name_"+ed.equipDef.id),Localization.instance.Get("Gear_Uid"),ed.uid);
            }
            Icon_Gear.MakePixelPerfect();
            //Info.text = ed.equipDef.equipName + "\n<" + ed.uid + ">";
        }
    }
Пример #20
0
    public void InitData(EquipData equipData)
    {
        ed         = equipData;
        itemarr[0] = GameLibrary.Instance().ItemStateList[ed.id];

        equipstepfram[0].spriteName = UISign_in.GetspriteName(ed.grade);
        // equipstepicon[0].spriteName = itemarr[0].icon_name;
        equipstepbutton[0].spriteName  = itemarr[0].icon_name;
        select.transform.parent        = equipstepfram[0].transform;
        select.transform.localPosition = Vector3.zero;

        equipLv[0].text = ed.level + "级";

        for (int i = 1; i < 4; i++)
        {
            equipstepfram[i].gameObject.SetActive(false);
        }

        if (!evolveDlg.gameObject.activeSelf)
        {
            evolveDlg.gameObject.SetActive(true);
            equipCompoundPanel.gameObject.SetActive(false);
        }
        evolveDlg.InitData(ed);
    }
Пример #21
0
        /// <summary>
        /// 更新函数
        /// </summary>
        /// <param name="info">Model</param>
        /// <returns>影响数据物理ID,已存在逻辑主码返回-1</returns>
        public long UPDATE(EquipData info)
        {
            try
            {
                U_equipdata         temp  = new U_equipdata();
                Table <U_equipdata> table = db.GetTable <U_equipdata>();
                temp = (from row in db.U_equipdata where row.id == info.Id select row).First();

                //temp.id = info.Id;
                temp.nid         = info.Nid;
                temp.x           = info.X;
                temp.y           = info.Y;
                temp.description = info.Description;
                temp.type        = info.Type;
                temp.isused      = info.Isused;
                temp.status      = info.Status;
                temp.logicid     = info.Logicid;
                temp.url         = info.Url;

                db.SubmitChanges();
                return(temp.id);
            }
            catch
            {
                return(-2);
            }
        }
        public void EquipItemTo(InventoryData inventory, int islot, EquipSlot eslot)
        {
            InventoryItemData invt_slot  = inventory.GetItem(islot);
            InventoryItemData invt_equip = EquipData.GetEquippedItem(eslot);
            ItemData          idata      = ItemData.Get(invt_slot?.item_id);
            ItemData          edata      = ItemData.Get(invt_equip?.item_id);

            if (invt_slot != null && inventory != EquipData && invt_slot.quantity > 0 && idata != null && eslot > 0)
            {
                if (edata == null)
                {
                    //Equip only
                    EquipData.EquipItem(eslot, idata.id, invt_slot.durability, invt_slot.uid);
                    inventory.RemoveItemAt(islot, 1);
                }
                else if (invt_slot.quantity == 1 && idata.type == ItemType.Equipment)
                {
                    //Swap
                    inventory.RemoveItemAt(islot, 1);
                    EquipData.UnequipItem(eslot);
                    EquipData.EquipItem(eslot, idata.id, invt_slot.durability, invt_slot.uid);
                    inventory.AddItemAt(edata.id, islot, 1, invt_equip.durability, invt_equip.uid);
                }
            }
        }
Пример #23
0
    void Start()
    {
        if (HeadID != 0)
        {
            if (DataCore.getDataType(HeadID) == ConfigDataType.Monster)
            {
                MonsterData mon = Core.Data.monManager.getMonsterByNum(HeadID);
                myName = mon.name;
                Border = 4;
                Star   = mon.star;
                AtlasMgr.mInstance.SetHeadSprite(icon, mon.ID.ToString());
            }
            else
            {
                EquipData equip = Core.Data.EquipManager.getEquipConfig(EquipID);
                myName          = equip.name;
                Border          = 4;
                Star            = equip.star;
                icon.atlas      = AtlasMgr.mInstance.equipAtlas;
                icon.spriteName = equip.ID.ToString();
            }
        }

        icon.MakePixelPerfect();
    }
Пример #24
0
    public HeroData(int heroid)
    {
        _heroID = heroid;
        int[] skills = JsonData.skills;
        SkillLevel = new Dictionary <int, int>();
        for (int i = 0; i < skills.Length; ++i)
        {
            SkillLevel.Add(skills[i], 1);
        }

        Totems = new string[0];
        int[] equip = JsonData.equip;
        Equips = new string[equip.Length];

        for (int i = 0, length = equip.Length; i < length; ++i)
        {
            EquipData data = new EquipData(equip[i])
            {
                md5    = equip[i] + heroid.ToString(),
                HeroId = heroid
            };
            EquipMgr.GetSingleton().AddEquip(data);
            Equips[i] = data.md5;
        }

        Piece  = 500;
        UnLock = true;
    }
Пример #25
0
    void OpenFragInfoUI()
    {
        Soul soul = m_selBagItem.curData as Soul;

        if (soul != null)
        {
            if (soul.m_config.type == (int)ItemType.Monster_Frage)
            {
                MonsterData mon = Core.Data.monManager.getMonsterByNum(soul.m_config.updateId);
                if (mon != null)
                {
                    MonFragUI.OpenUI(mon);
                }
                else
                {
                    RED.LogWarning(soul.m_config.ID + "  not find monster by monster frag :: " + soul.m_config.updateId);
                }
            }
            else if (soul.m_config.type == (int)ItemType.Equip_Frage)
            {
                EquipData equip = Core.Data.EquipManager.getEquipConfig(soul.m_config.updateId);
                if (equip != null)
                {
                    YcgEquipInfo.openUI(equip);
                }
                else
                {
                    RED.LogWarning(soul.m_config.ID + "  not find equip by equip frag :: " + soul.m_config.updateId);
                }
            }
        }
    }
Пример #26
0
    public void saveDataAndUpdate_ForISO(EquipData.Slots slot,EquipData tobeUnequip, EquipData tobeEquip)
    {
        EquipSlotCell slotcell = null;
        if(storagePanel != null){
            slotcell = storagePanel.raycastSlotCell ();
        }
        if(tobeUnequip!=null){
            EquipData ed = EquipManager.Instance.getEquipDataByType(tobeUnequip.equipDef.id);
            //ed.count ++;
            //if(slotcell.fuseISODlg != null) ed.count++;
            TeamDlg.instance.heroData.unEquipObj(slot);
        }
        if(tobeEquip != null){
            EquipData ed = EquipManager.Instance.getEquipDataByType(tobeEquip.equipDef.id);
            if(slotcell.fuseISODlg == null) ed.count --;
            TeamDlg.instance.heroData.equipObj(slot,tobeEquip);
        }

        //this.setEquipData(tobeEquip);
        if(storagePanel != null)
        {
            storagePanel.updateISO();
        }
        MusicManager.playEffectMusic("SFX_Equip_1a");
        UserInfo.instance.saveAll();
        TeamDlg.instance.UpdateData();
    }
Пример #27
0
 public override void SetParameters(object[] arg)
 {
     if (arg.Length > 0)
     {
         equip = (EquipData)arg[0];
     }
 }
Пример #28
0
 public List <Pro> EquipAttr()
 {
     if (equipAttr == null)
     {
         equipAttr = new List <Pro>();
         EquipData[] equips = GetEquip();
         for (int i = 0, length = equips.Length; i < length; ++i)
         {
             EquipData ed = equips[i];
             if (ed == null)
             {
                 continue;
             }
             equipAttr.AddRange(ed.Attribute);
             if (ed.Innate.Length > 0)
             {
                 equipAttr.AddRange(ed.Innate);
             }
             if (ed.wishs.Length > 0)
             {
                 for (int j = 0; j < ed.wishs.Length; j++)
                 {
                     equipAttr.Add(ed.wishs[i].wish);
                 }
             }
         }
     }
     return(equipAttr);
 }
Пример #29
0
    /// <summary>
    /// 装备信息赋值
    /// </summary>
    /// <param name="site">site 1武器 2头盔 3胸甲 4腿甲 5护手 6鞋子</param>
    /// <param name="item">装备</param>
    public void Init(int site, ItemNodeState item)
    {
        this.site = site;

        // itemVO = new ItemNodeState();

        itemVO = item;

        mailBtn.normalSprite = item.icon_name;

        HeroData hd = playerData.GetInstance().GetHeroDataByID(Globe.selectHero.hero_id);

        EquipData ed;

        //hd.equipID.TryGetValue(item.props_id, out ed);
        hd.equipSite.TryGetValue(site, out ed);
        equipData = ed;
        if (ed != null)
        {
            label.text = ed.level + "级";
            UpdateBorder(ed.grade);
        }
        else
        {
            label.text = 1 + "级";
            UpdateBorder(0);
        }
    }
Пример #30
0
 //返回当前玩家的装备栏信息
 public List <EquipData> GetBarList()
 {
     if (userName == "")
     {
         userName = UserModel.Instance.GetMyUserId();
     }
     if (barList == null)
     {
         barList = new List <EquipData>();
         barDic  = new Dictionary <EquipType, EquipData>();
         if (!File.Exists(Application.persistentDataPath + "/EquipBarData.Json"))
         {
             allBarList = new List <BarquipData>();
             return(barList);
         }
         else
         {
             string json = File.ReadAllText(Application.persistentDataPath + "/EquipBarData.Json");
             allBarList = JsonMapper.ToObject <List <BarquipData> >(json);
             for (int i = 0; i < allBarList.Count; i++)
             {
                 if (allBarList[i].username == userName)
                 {
                     //数据转换
                     LocalEquipData localEquip = EquipDataMgr.Instance.GetEquipDataById(allBarList[i].id);
                     EquipData      equipData  = EquipDataModel.Instance.Local2MyEquipData(localEquip);
                     barList.Add(equipData);
                     barDic.Add(equipData.equipType, equipData);
                 }
             }
         }
         return(barList);
     }
     return(barList);
 }
Пример #31
0
    //穿装备
    public bool AddEquip(int roleid, int equipid)
    {
        RoleData  data  = GetRoleData(roleid);
        EquipData edata = GetEquip(equipid);

        Debug.Log("AddEquip : " + edata.roleid);
        if (edata.roleid > 0)
        {
            return(false);
        }

        Debug.Log("====== ");
        bool isadd = data.AddEquip(equipid);

        if (!isadd)
        {
            Debug.Log("no add ");
            return(false);
        }

        edata.roleid = roleid;

        SaveData(userDataRole, userDataItemList);
        return(true);
    }
Пример #32
0
    // 装备物品
    private void OnInvEquip(UserToken token, SocketModel model)
    {
        ReqEquipItem req = SerializeUtil.Deserialize <ReqEquipItem>(model.message);

        // 获取背包栏位物品数据
        InventoryData invData = CacheManager.instance.GetInvData(token.characterid, req.slot);

        // 获取装备栏位物品数据
        ItemCfg   itemCfg   = ConfigManager.instance.GetItemCfg(req.itemid);
        EquipData equipData = CacheManager.instance.GetEquipData(token.characterid, (int)itemCfg.EquipType);

        int itemid = invData.itemid;

        invData.itemid   = equipData.itemid;
        equipData.itemid = itemid;

        if (invData.itemid == -1)
        {
            invData.num = 0;
        }

        RespEquipItem resp = new RespEquipItem();

        resp.equip = EquipData.GetInvDTO(equipData);
        resp.inv   = InventoryData.GetInvDTO(invData);

        NetworkManager.Send(token, (int)MsgID.INV_Equip_SRES, resp);
    }
Пример #33
0
    public void initFuseISODlgCell( int selectISOID)
    {
        this.selectISOID = selectISOID;
        fusePanelObj.SetActive(true);
        noFusePanelObj.SetActive(false);

        targetEd = EquipManager.Instance.getEquipDataByType(selectISOID);
        if(targetEd.equipDef.fuseISOCostID.Count==0){
            Debug.LogError("NOFUSE");
            sourceEd1 = null;
            sourceEd2 = null;
        }else{
            sourceEd1 = EquipManager.Instance.getEquipDataByType(int.Parse(targetEd.equipDef.fuseISOCostID[0]));
            sourceEd2 = EquipManager.Instance.getEquipDataByType(int.Parse(targetEd.equipDef.fuseISOCostID[1]));
        }
        Debug.Log("targetEd="+targetEd);
        Debug.Log("sourceEd1="+sourceEd1);
        Debug.Log("sourceEd2="+sourceEd2);

        fuseResult.storagePanel = TeamDlg.instance.storagePanel;
        fuseElement1.storagePanel = TeamDlg.instance.storagePanel;
        fuseElement2.storagePanel = TeamDlg.instance.storagePanel;

        fuseResult.setEquipData(targetEd);
        fuseElement1.setEquipData(sourceEd1);
        fuseElement2.setEquipData(sourceEd2);

        if(targetEd.equipDef.fuseISOCostID.Count == 0)
        {
            fusePanelObj.SetActive(false);
            noFusePanelObj.SetActive(true);
            noFuseElement.setEquipData(targetEd);
        }else
        {
            costInfo.text =""+targetEd.equipDef.silver;// string.Format(Localization.instance.Get("UI_FuseISODlg_Cost"),targetEd.equipDef.silver);
            fusePanelObj.SetActive(true);
            noFusePanelObj.SetActive(false);

            bool canfuse = true;

            if(fuseElement1.equipData.count<=0 || fuseElement2.equipData.count<=0){
                canfuse = false;
            }
            if(fuseElement1.equipData.equipDef.id == fuseElement1.equipData.equipDef.id && fuseElement1.equipData.count<2){
                canfuse = false;
            }
            Debug.Log("enough to fuse: "+canfuse);
            fuseBtn.isEnabled = canfuse;
            fuseBtn.collider.enabled = canfuse;
        }
        setISOInfoBar(targetEd);
    }
Пример #34
0
    public void saveDataAndUpdate_ForGear(EquipData.Slots slot,EquipData tobeUnequip, EquipData tobeEquip)
    {
        if(tobeUnequip!=null){
            EquipManager.Instance.inventoryItemList.Add(tobeUnequip);
            TeamDlg.instance.heroData.unEquipObj(slot);
        }
        EquipManager.Instance.inventoryItemList.Remove(tobeEquip);
        TeamDlg.instance.heroData.equipObj(slot,tobeEquip);

        this.setEquipData(tobeUnequip);
        MusicManager.playEffectMusic("SFX_Equip_1a");
        UserInfo.instance.saveAll();
        TeamDlg.instance.UpdateData();
    }
Пример #35
0
 public void SetEquipData(EquipData ed,UIAtlas atlas,string spriteName)
 {
     if(this != null){
         this.equipData = ed;
         if(ed != null){
     //				Debug.Log("Equip : " + this.equipData.equipDef.equipName + "  in cursor~");
             this.mSprite.enabled = true;
             this.mSprite.atlas = atlas;
             this.mSprite.spriteName = spriteName;
             this.mSprite.MakePixelPerfect();
             this.mSprite.depth = 10;
             this.mSprite.transform.localScale *= .5f;
         }
     }
 }
Пример #36
0
    public EquipDef(
		int id,  
		int dif, 
		EquipData.Type type,
		int showAtLevel, 
		int makeAvailableAtLevel, 
		int display,
		string equipName,
		int silver,
		int gold,
		int commandPoints,
		string graphicsID,
		string iconID,
		bool isLvUp,
		ArrayList specialType,
		string des,
//		int baseValue,
		List<string> fuseISOCostID,
		List<Effect> equipEftList)
    {
        this.id = id;
        this.dif = dif;
        this.type = type;
        this.showAtLevel = showAtLevel;
        this.makeAvailableAtLevel = makeAvailableAtLevel;
        this.display = display;
        this.equipName = equipName;
        this.silver = silver;
        this.gold = gold;
        this.commandPoints = commandPoints;
        this.graphicsID = graphicsID;
        this.iconID = iconID;
        this.isLvUp = isLvUp;
        for(int i = 0; i < specialType.Count; ++i)
        {
            this.specialType.Add(specialType[i]);
        }
        this.des = des;
        //		this.baseValue = baseValue;
        this.fuseISOCostID = fuseISOCostID;
        this.equipEftList = equipEftList;
    }
Пример #37
0
    //    public void addExp ( int xp  ){
    //        if(lv> expList.Count)return;
    //        exp += Mathf.Abs(xp);
    //        for(int i=lv-1; i<expList.Count; i++)
    //        {
    //            int totalExp = (int)expList[i];
    //            if(exp >= totalExp)
    //            {
    //                exp -= totalExp;
    //                levelUp();
    //            }else{
    //                break;
    //            }
    //        }
    //        UserInfo.instance.saveAllheroes();
    //        //print(type+"saved exp");
    //    }
    public EquipData equipObj( EquipData.Slots slot ,   EquipData equipD  )
    {
        //		Debug.LogError("equipObj "+slot +","+ equipD);
        if(equipD == null) return null;
        //		Debug.LogError("equip id= "+equipD.equipDef.id);

        //if(equipInfoStr.Length <= 0) equipD.initUidTemp();		//Add By gsl_2013-10-15
        EquipData oldEquipm = null;
        oldEquipm = equipHash[slot] as EquipData;
        equipHash[slot] = equipD;

        foreach(Effect eft in equipD.equipDef.equipEftList)
        {
            if( eftHash[eft.eName] != null)
            {
                ArrayList tempAry = eftHash[eft.eName] as ArrayList;
                tempAry.Add(eft);
                eftHash[eft.eName] = tempAry as ArrayList;
            }
            else
            {
                eftHash[eft.eName] = new ArrayList(){ eft };
            }
        }

        //		Debug.LogError("equipHash "+ Utils.dumpHashTable(equipHash));

        return oldEquipm;
    }
Пример #38
0
 public void suitEquipUp(EquipData ed)
 {
     Debug.LogError(ed.equipDef.equipName + " were put on~" + ed.equipDef.type);
     if(EquipData.Type.ARMOR == ed.equipDef.type && null != OnEquipArmor){
         OnEquipArmor();
     }
 }
Пример #39
0
 public void unEquipObj( EquipData.Slots slot  )
 {
     equipHash.Remove(slot);
 }
Пример #40
0
 void buildItem( EquipData equipD  )
 {
     //display icon
 }
Пример #41
0
    public void SetInfoBar(EquipData ed, UIAtlas atlas , string spriteName )
    {
        if(ed == null) {
            TeamDlg.instance.infoPriceLabel.text = "";
            TeamDlg.instance.infoDescLabel.text = "";
            TeamDlg.instance.infoTitleLabel.text = "";
            btnBuy.SetActive(false);
            btnFuse.SetActive(false);
            btnSell.SetActive(false);
            btnUpgrade.SetActive(false);
            TeamDlg.instance.IconGearGroup.SetActive(false);
            return;
        }
        TeamDlg.instance.IconGearGroup.SetActive(true);
        if(atlas != null) TeamDlg.instance.Icon.atlas = atlas;
        if(spriteName != null) TeamDlg.instance.Icon.spriteName = spriteName;
        TeamDlg.instance.Icon.MakePixelPerfect();
        string eqname = Localization.instance.Get((ed.equipDef.type==EquipData.Type.ISO?"ISO_Name_":"Gear_Name_")+ed.equipDef.id);
        TeamDlg.instance.infoTitleLabel.text = eqname;
        TeamDlg.instance.infoDescLabel.text = ed.getDescString();

        //		if(ed.equipDef.equipEft != null)
        //		{
        //			infoLabel.text += "\n"+ed.equipDef.equipEft.eName + ": +"+ed.eftNum;
        //		}
        TeamDlg.instance.infoDescLabel.text = ed.getDescString();

        string price = "";
        if(ed.equipDef.gold>0){
            price += ((price == "")?"":"\n") + ed.equipDef.gold + " GOLD";
        }
        if(ed.equipDef.silver>0){
            price += ((price == "")?"":"\n") + ed.equipDef.silver + " SILVER";
        }
        if(ed.equipDef.commandPoints>0){
            price += ((price == "")?"":"\n") + ed.equipDef.commandPoints + " CP";
        }
        Debug.Log("price = "+price + string.Format("  {0},{1},{2},{3}",ed.equipDef.gold,ed.equipDef.silver,ed.equipDef.commandPoints,ed.equipDef.id));

        selectEquipData = ed;

        switch(currentFilter){
            case FILTER.OWN_GEAR:
                btnBuy.SetActive(false);
                btnFuse.SetActive(false);
                btnSell.SetActive(true);
                if(ed.equipDef.type != EquipData.Type.TRINKET && ed.canUpgrade())
                {
                    upgradeFrom.text = "LV "+ed.getCurrentLv();
                    upgradeTo.text = "LV "+ (ed.getCurrentLv()+1);
                    upgradeSilver.text = ed.getLvUpMoney().ToString();;

                    btnUpgrade.SetActive(true);
                }
                else
                {
                    btnUpgrade.SetActive(false);
                }
                TeamDlg.instance.infoIconBgGear.gameObject.SetActive(true);
                TeamDlg.instance.infoIconBgISO.gameObject.SetActive(false);

                TeamDlg.instance.infoPriceLabel.text = "";
                break;
            case FILTER.OWN_ISO:
                btnBuy.SetActive(false);
                //btnFuse.SetActive(true);
                btnSell.SetActive(false);
                btnUpgrade.SetActive(false);
                TeamDlg.instance.infoPriceLabel.text = "";
                TeamDlg.instance.infoIconBgGear.gameObject.SetActive(false);
                TeamDlg.instance.infoIconBgISO.gameObject.SetActive(true);
                break;
            case FILTER.STORE_HERO_APPLICABLE:
            case FILTER.STORE_All_NONE_HERO_SPECIFIC:
            case FILTER.STORE_All_HERO_SPECIFIC:
            case FILTER.STORE_ALL:
                btnBuy.SetActive(true);
                btnFuse.SetActive(false);
                btnSell.SetActive(false);
                btnUpgrade.SetActive(false);
                TeamDlg.instance.infoPriceLabel.text = price;
                TeamDlg.instance.infoIconBgGear.gameObject.SetActive(true);
                TeamDlg.instance.infoIconBgISO.gameObject.SetActive(false);
            break;
        }
    }
Пример #42
0
 public EquipData clone()
 {
     EquipData equipData = new EquipData(this.equipDef.clone());
     return equipData;
 }
Пример #43
0
    public void UpdateFuseView()
    {
        sourceEd1 = fuseElement1.equipData;
        sourceEd2 = fuseElement2.equipData;

        bool canfuse = true;
        if(sourceEd1 == null || sourceEd2 == null){
            canfuse = false;
        }else if(sourceEd1.count<=0 || sourceEd2.count<=0){
            canfuse = false;
        }else if(sourceEd1.equipDef.id == sourceEd2.equipDef.id && sourceEd1.count<2){
            canfuse = false;
        }
        Debug.Log("enough to fuse: "+canfuse);

        if(canfuse){
            targetEd = getResultISO(sourceEd1.equipDef.id,sourceEd2.equipDef.id);
        }else{
            targetEd = null;
        }
        if(sourceEd1 != null && sourceEd1.count <= 0) fuseElement1.setEquipData(null);
        else fuseElement1.setEquipData(sourceEd1);
        if(sourceEd2 != null && sourceEd2.count <= 0) fuseElement2.setEquipData(null);
        else fuseElement2.setEquipData(sourceEd2);
        fuseResult.setEquipData(targetEd);
        if(targetEd != null){
            costPrice.text = "" + targetEd.equipDef.silver;
            string s = "";
            fuseResultISOAttribute.text = "" + targetEd.getDescString();
        }else{
            costPrice.text = "0";
            fuseResultISOAttribute.text = "";
        }
    }
Пример #44
0
 protected void setISOInfoBar(EquipData equipData)
 {
     //		// delete by why 2014.2.10
     //		string numStr = "";
     //		if(equipData.equipDef.equipEft.isPer)
     //		{
     //			numStr =equipData.eftNum.ToString() + "%";
     //		}
     //		else
     //		{
     //			numStr =equipData.eftNum.ToString();
     //		}
     //		//selectISOInfo.text = equipData.equipDef.equipName + "\n" + equipData.equipDef.equipEft.eName + " : " + numStr;
     //		selectISOInfo.text = string.Format("{0}\n{1} : {2}",Localization.instance.Get("ISO_Name_"+equipData.equipDef.id),
     //															Localization.instance.Get("UI_Hero_"+equipData.equipDef.equipEft.eName),numStr);
     selectISOInfo.text = equipData.getDescString();
 }
Пример #45
0
    //        List<EquipData> templist = new List<EquipData>();
    //        foreach(EquipData ed in EquipManager.Instance.inventoryItemList)
    //        {
    //            if(ed.equipDef.type == EquipData.Type.ISO)
    //            {
    //                templist.Add(ed);
    //            }
    //        }
    void Start()
    {
        sourceEd1 = null;
        sourceEd2 = null;
        targetEd = null;

        fuseElement1.setEquipData(sourceEd1);
        fuseElement2.setEquipData(sourceEd2);
        fuseResult.setEquipData(targetEd);

        costPrice.text = "0";
        fuseResultISOAttribute.text = "";
    }
Пример #46
0
 public void victory(Hashtable h,CallBack showCompletedCallback)
 {
     Debug.Log("victory");
     this.showCompletedCallback = showCompletedCallback;
     if(h.Contains("silver"))  input_coins = (int) h["silver"];
     if(h.Contains("star"))  input_starts = (int)  h["star"];
     if(h.Contains("exp"))  input_exp = (int) h["exp"];
     if(h.Contains("cp"))  input_cp = (int) h["cp"];
     if(h.Contains("equipData"))  input_rewardItem = h["equipData"] as EquipData;
     if(h.Contains("herodata"))  input_rewardHero = h["herodata"] as HeroData;
     if(h.Contains("totalWaves"))  input_totalWaves = (int)h["totalWaves"] ;
     if(h.Contains("totalEnemies"))  input_totalEnemies = (int)h["totalEnemies"] ;
     Debug.Log(" rewards: "+Utils.dumpHashTable(h));
 }
Пример #47
0
 //    public int getWeaponValue()
 //    {
 //        EquipData equipD = equipHash[EquipData.Slots.WEAPON] as EquipData;
 //        if(equipD == null)
 //        {
 //            return 0;
 //        }
 //        EquipEft atkEft = equipD.equipDef.equipEft;
 //        return equipD.eftNum;
 //    }
 //    
 //    public int getArmorValue()
 //    {
 //        int defNum;
 //        if(equipHash.Contains(EquipData.Slots.ARMOR))
 //        {
 //            EquipData equipD = equipHash[EquipData.Slots.ARMOR] as EquipData;
 //            if(equipD == null)
 //            {
 //                return 0;
 //            }
 //            EquipEft defEft = equipD.equipDef.equipEft;
 //            defNum = equipD.eftNum;
 //        }
 //        else
 //        {
 //            defNum = 0;
 //        }
 //        
 //        return defNum;
 //    }
 public EquipData getEquipData( EquipData.Slots slot  )
 {
     return equipHash[slot] as EquipData;
 }
Пример #48
0
    //    
    //    public void init (EquipData ed)
    //    {
    //        setEquipData (ed);
    //    }
    public void setEquipData(EquipData ed)
    {
        //Gear
        this.equipData = ed;
        this.Bg.spriteName = (storagePanel.currentFilter == StoragePanel.FILTER.OWN_ISO)? ISO_UnChecked:Gear_UnChecked;
        if (ed != null) {
            gameObject.name = ed.equipDef.equipName;
            if(storagePanel != null) storagePanel.isHighLight = true;
            switch(ed.equipDef.type){
            case EquipData.Type.ISO:

                Icon_Gear.enabled = true;
                labelInfo.enabled = true;
                labelCount.enabled = true;
                this.Icon_Gear.atlas = this.isoAtlas;
                this.Icon_Gear.spriteName = this.equipData.equipDef.iconID;
                this.Bg.depth = 13;
                if (this.Icon_Gear.GetAtlasSprite () == null) {
                    this.Icon_Gear.spriteName = "ISO_default";
                }
                Icon_Gear.MakePixelPerfect ();
                //labelInfo.text = ed.equipDef.equipName ;
                labelInfo.text = string.Format("{0}",Localization.instance.Get("ISO_Name_"+ed.equipDef.id));
                labelCount.text = ed.count.ToString();
                break;

            default:
                Icon_Gear.enabled = true;
                labelInfo.enabled = true;
                labelCount.enabled = false;
                this.Icon_Gear.atlas = this.equipsAtlas;
                this.Icon_Gear.spriteName = this.equipData.equipDef.iconID;
                if (this.Icon_Gear.GetAtlasSprite () == null) {
                    this.Icon_Gear.spriteName = "GearDefault";
                }
                Icon_Gear.MakePixelPerfect ();
                //labelInfo.text = ed.equipDef.equipName + "\n<" + ed.uid + ">";
                labelInfo.text = string.Format("{0}\n<{1}{2}>",Localization.instance.Get("Gear_Name_"+ed.equipDef.id),Localization.instance.Get("Gear_Uid"),ed.uid);
                break;
            }
        } else {
            if(storagePanel != null) storagePanel.isHighLight = false;
            Icon_Gear.enabled = false;
            labelInfo.enabled = false;
            labelCount.enabled = false;
            gameObject.name = "StorageCell(Clone)";
        }
    }
Пример #49
0
    //for 20121107 bug fix   start---->
    public static void loadStaticFromXml(string itemsXml)
    {
        XmlDocument xmlDataRoot = new XmlDocument();
        xmlDataRoot.LoadXml(itemsXml);
        XmlNodeList xmlData = StaticData.getXmlNode(xmlDataRoot, "root").FirstChild.ChildNodes;
        Debug.Log(xmlData.Count);
        XmlNodeList equipList = xmlData;
        //		Debug.Log("---------------------------->"+equipList.Count);
        for(int i=0; i<equipList.Count; i++)
        {
            XmlNode equipNode = equipList[i];
        //			Debug.Log("---------------------------->"+i);
        //			Debug.Log("---------------------------->"+equipNode.Name);
            if("#comment".Equals(equipNode.Name)){
                continue;
            }
            int id = int.Parse(equipNode.Attributes["id"].Value);

            //add by gwp of level display
            int showAt =1;
            int makeAvailableAt = 1;
            int display = 1;
            if(equipNode.Attributes["showAtLevel"] != null)
            {
                showAt = int.Parse(equipNode.Attributes["showAtLevel"].Value);
            }
            if(equipNode.Attributes["makeAvailableAtLevel"] != null)
            {
                makeAvailableAt = int.Parse(equipNode.Attributes["makeAvailableAtLevel"].Value);
            }
            if(equipNode.Attributes["display"] != null)
            {
                display = int.Parse(equipNode.Attributes["display"].Value);
            }

            int dif = 1;
            if(equipNode.Attributes["dif"]!=null){
                dif= int.Parse(equipNode.Attributes["dif"].Value);
            }
            string _type = equipNode.Attributes["type"].Value;
            EquipData.Type type = (EquipData.Type)Enum.Parse(typeof(EquipData.Type),_type);
            string equipName = equipNode.Attributes["name"].Value;
            int silver = 0;
            if(equipNode.Attributes["silver"]!=null){
                silver = int.Parse(equipNode.Attributes["silver"].Value);
            }
            int gold = 0;
            if(equipNode.Attributes["gold"]!=null){
                gold = int.Parse(equipNode.Attributes["gold"].Value);
            }
            int cp = 0;
            if(equipNode.Attributes["cp"]!=null){
                cp = int.Parse(equipNode.Attributes["cp"].Value);
            }
            string graphicsID = "";
            if(equipNode.Attributes["graphicsID"]!=null){
                graphicsID = equipNode.Attributes["graphicsID"].Value;
            }
            string iconID = equipNode.Attributes["iconID"].Value;
            bool  isLvUp = false;
            if(equipNode.Attributes["isLvUp"]!=null){
                isLvUp = "true".Equals(equipNode.Attributes["isLvUp"].Value);
            }

            List<string> fuseCostIDs = new List<string>();
            if(equipNode.Attributes["fuseCostIDs"]!=null)
            {
                string fuseCostIDStr = equipNode.Attributes["fuseCostIDs"].Value;
                if(fuseCostIDStr!="")
                {
                    fuseCostIDs.AddRange(fuseCostIDStr.Split(","[0]));
                }
            }

        //			XmlNode eftNode = StaticData.getXmlNode(equipNode, "eft");// equipNode.Item["eft"];
        //			string eftType = eftNode.Attributes["type"].Value;
        //			int eftNum = int.Parse(eftNode.Attributes["num"].Value);
        //			bool  eftIsPer = "true".Equals(eftNode.Attributes["num"].Value);

            ArrayList specialType = new ArrayList();

            string tempSpecialType = equipNode.Attributes["specialType"].Value;

            if(tempSpecialType != null && tempSpecialType.Length > 0)
            {
                specialType= new ArrayList(tempSpecialType.Split("|"[0]));
            }

            string description = "";//StaticData.getXmlNode(equipNode, "description").InnerText;//equipNode.Item["description"].InnerText;

            List<Effect> equipEftList = getEquipEftList(equipNode);

            EquipDef equipDef = new EquipDef(
                id,
                dif,
                type,
                showAt,
                makeAvailableAt,
                display,
                equipName,
                silver,
                gold,
                cp,
                graphicsID,
                iconID,
                isLvUp,
                specialType,
                description,
        //				equipEft.num,
                fuseCostIDs,
                equipEftList);

            EquipData equipData = new EquipData(equipDef);

            EquipManager.Instance.allEquipHashtable[id] = equipData;

        }
    }
Пример #50
0
    public static void loadFromJson(ICollection al)
    {
        foreach(Hashtable h in al){
            int uid = int.Parse(h["uid"] as string );
            int showAt =1;
            if(h["showlv"]!=null){
                showAt = int.Parse(h["showlv"] as string );
            }
            int makeAvailableAt = 1;
            if(h["unlocklv"]!=null){
                makeAvailableAt = int.Parse(h["unlocklv"] as string );
            }
            int display = 1;
            int dif = 1;
            string _type = h["type"] as string ;
            EquipData.Type type = (EquipData.Type)Enum.Parse(typeof(EquipData.Type),_type);

            string equipName = h["name"] as string ;

            int silver = 0;
            if(h["silver"]!=null){
                silver = int.Parse(h["silver"] as string );
            }
            int gold = 0;
            if(h["gold"]!=null){
                gold = int.Parse(h["gold"] as string );
            }
            int cp = 0;
            if(h["cp"]!=null){
                cp = int.Parse(h["cp"] as string );
            }
            string graphicsID = "";
            if(h["graphicsID"]!=null){
                graphicsID = h["graphicsID"] as string ;
            }
            string iconID = h["iconID"] as string ;

            bool  isLvUp = false;
            if(h["isLvUp"]!=null){
                isLvUp = "true".Equals(h["isLvUp"] as string);
            }

            List<string> fuseCostIDs = new List<string>();
            if(h["fuseCostIDs"]!=null)
            {
                string fuseCostIDStr = h["fuseCostIDs"] as string;
                if(fuseCostIDStr!="")
                {
                    fuseCostIDs.AddRange(fuseCostIDStr.Split(","[0]));
                }
            }

            ArrayList specialType = new ArrayList();
            if(h["specialType"]!=null){
                string tempSpecialType = h["specialType"] as string;
                if(tempSpecialType != null && tempSpecialType.Length > 0)
                {
                    specialType= new ArrayList(tempSpecialType.Split("|"[0]));
                }
            }
            string description = "";//StaticData.getXmlNode(equipNode, "description").InnerText;//equipNode.Item["description"].InnerText;

            List<Effect> equipEftList = getEquipEftList(h);

            EquipDef equipDef = new EquipDef(
                uid,
                dif,
                type,
                showAt,
                makeAvailableAt,
                display,
                equipName,
                silver,
                gold,
                cp,
                graphicsID,
                iconID,
                isLvUp,
                specialType,
                description,
        //				equipEft.num,
                fuseCostIDs,
                equipEftList);

            EquipData equipData = new EquipData(equipDef);

            EquipManager.Instance.allEquipHashtable[uid] = equipData;
        }
    }