public void onGetItemList(SocketModel module) { ItemMessage.MsgGetItemListRep msg = MsgSerializer.Deserialize<ItemMessage.MsgGetItemListRep>(module); BagStruct bag = MonoInstancePool.getInstance<BagManager>().getBagByType(msg.type); if (bag == null) { Debug.LogError("have not this bag!"); return; } bag.clear(); //Debug.Log("bag: " + msg.type + " have: " + msg.itemList.Count + " " + msg.equipList.Count); if (msg.type == (int)GlobalDef.BagType.B_EQUIPMENT) { for (int i = 0; i < msg.equipList.Count; i++) { Property.Equip item = msg.equipList[i]; EquipmentItem baseItem = new EquipmentItem(); baseItem.parseData(item); bag.addItem(baseItem); bag.IsDirty = true; } } else { for (int i = 0; i < msg.itemList.Count; i++) { Property.Item item = msg.itemList[i]; BaseItem baseItem = MonoInstancePool.getInstance<BagManager>().createItemByData(item); bag.addItem(baseItem); bag.IsDirty = true; } } }
/// <summary> /// 解析从服务器接收到的数据 /// </summary> public void parseServerHero(Property.Hero data) { //template Data parseData(data.heroid); guid = (long)data.guid; templateID = data.heroid; activate = data.activate; level = data.level; if(data.starLevel > starLevel ){starLevel = data.starLevel;} exp = data.exp; debris = data.debris; realmList.curRealmLevel = data.realm; battle = data.battle; fighting = data.fighting; equipmentList.clear (); for(int j = 0; j < data.items.Count; j++) { EquipmentItem item = new EquipmentItem(); Property.Equip item_data = data.items[j]; item.parseData(data.items[j]); equipmentList.addItem(item.guid, item); item.gemList.Clear(); for(int k = 0; k < item_data.gemAry.Count; k++) { DiamondItem gemItem = new DiamondItem(); Property.Item gemData = item_data.gemAry[k]; gemItem.guid = (long)gemData.guid; gemItem.templateID = (int)gemData.templateid; gemItem.haveNum = (int)gemData.number; // gemItem.type = (int)gemData.type; item.gemList.Add(gemItem.guid, gemItem); } } Property.Horse horse = data.horse; //skill skillList.Clear(); skillList.clearUseSkill(); for(int s = 0; s < data.skills.Count; s++) { Property.Skill skillData = data.skills[s]; int skillId = skillData.skillid; SkillItem skill = new SkillItem(this, skillId); skill.level = skillData.level; skill.active = skillData.activate; skill.slot = skillData.slot; skillList.Add(skill); if(skill.slot != -1 && skill.slot < skillList.useSkills.Length) { skillList.useSkills[skill.slot] = s; } } }
void SetDatas(HeroManager manager, List<HeroDebugData> heroDatas) { HeroDebugData data; HeroData hero; for (int i = 0; i < heroDatas.Count; i++) { hero = new HeroData(); data = heroDatas[i]; //set max for (int j = 0; j < data.equipment.Count; j++) { EquipmentItem item = new EquipmentItem(); Property.Equip e = new Property.Equip(); if (data.equipment[j].equipId > 0 && data.equipment[j].equipLevel > 0) { e.templateid = (uint)data.equipment[j].equipId; item.parseData(e); //Debug.Log(item.equitype); //set level item.equiplev = data.equipment[j].equipLevel; hero.equipmentList.addItem(i * 10 + j, item); } } //set id level if (data.heroId > 0 && data.heroLevel > 0) { hero.templateID = data.heroId; hero.guid = (long)1111111 + i; hero.level = data.heroLevel; hero.property.country = i + 1; hero.activate = false; hero.battle = i; hero.starLevel = data.heroStar; hero.parseData(hero.templateID); hero.refreshProperty(); manager.addHero(hero.guid, hero); Debug.Log("hero is init " + i + " resname : " + hero.resname); } if (i < 3) manager.fightHeroList.setFightHero(hero.battle, hero.guid); } }
public void onUpdateEquipment(SocketModel module) { DataMessage.MsgHeroUpdateEquipRep msg = MsgSerializer.Deserialize<DataMessage.MsgHeroUpdateEquipRep>(module); long heroid = (long)msg.heroGuid; int type = msg.type; HeroData hero = MonoInstancePool.getInstance<HeroManager>().getHero(heroid); if(null == hero) { return; } if(type == (int)GlobalDef.EquipmentChange.E_PUTON) { EquipmentItem item = new EquipmentItem(); item.parseData(msg.equipInfo); Debug.Log(" ********************************* recive" + (long)msg.equipInfo.guid); hero.equipmentList.addItem((long)msg.equipInfo.guid,item); hero.equipmentList.isDirty = true; //背包列表 HeroSysEquipBagWindow window = (HeroSysEquipBagWindow)FindObjectOfType(typeof(HeroSysEquipBagWindow)); if(window != null) { window.refresh(); } //身上装备列表 UIEquipmentList window1 = (UIEquipmentList)FindObjectOfType(typeof(UIEquipmentList)); if(window1 != null) { window1.refresh(hero); } } else if(type == (int)GlobalDef.EquipmentChange.E_PUTOFF) { long guid = (long)msg.guid; // MonoInstancePool.getInstance<BagManager>().getEquipmentBag().removeItem(guid); // MonoInstancePool.getInstance<BagManager>().getEquipmentBag().IsDirty = true; hero.equipmentList.removeItem(guid); hero.equipmentList.isDirty = true; HeroSysEquipBagWindow window = (HeroSysEquipBagWindow)FindObjectOfType(typeof(HeroSysEquipBagWindow)); if(window != null) { window.refresh(); } //身上装备列表 UIEquipmentList window1 = (UIEquipmentList)FindObjectOfType(typeof(UIEquipmentList)); if(window1 != null) { window1.refresh(hero); } } }