private static void msg_SC_TREASURE_CHEST_NTF(int iMsgID, ref CMessage msg) { CliProto.SC_TREASURE_CHEST_NTF refMSG = (CliProto.SC_TREASURE_CHEST_NTF)msg; if (sdGameLevel.instance.levelType == sdGameLevel.LevelType.WorldMap) { sdUICharacter.Instance.AddSweepInfo(refMSG); } else { // 保存结算信息aa sdUICharacter.Instance.SetJiesuanMsg(refMSG); } // int count = refMSG.m_ItemList.m_Count; // for(int i = 0; i < count; ++i) // { // sdGameItemMgr.Instance.createItem((int)refMSG.m_ItemList.m_ItemList[i].m_TemplateId, refMSG.m_ItemList.m_ItemList[i].m_UUID, (int)refMSG.m_Pos, refMSG.m_ItemList.m_ItemList[i].m_Count); // } // sdGlobalDatabase.Instance.globalData["MainCharItemInfo"] = sdGameItemMgr.Instance.GetAllItem(2,-1); // sdSlotMgr.Instance.Notify((int)refMSG.m_Pos); // 关卡结束aa sdLevelInfo.EndLevel(refMSG.m_LevelID, refMSG.m_CurGetStar); // 显示胜利动画aa if (sdGameLevel.instance != null) { if (sdGameLevel.instance.mainCamera != null) { sdGameLevel.instance.mainCamera.ShowVictory(); } } }
public void SetInfo(CliProto.SC_TREASURE_CHEST_NTF msg) { float expRate = 1; float moneyRate = 1; Hashtable militarylevelTable = sdConfDataMgr.Instance().GetTable("militarylevel"); if (militarylevelTable.ContainsKey(sdPVPManager.Instance.nMilitaryLevel.ToString())) { Hashtable military = militarylevelTable[(sdPVPManager.Instance.nMilitaryLevel).ToString()] as Hashtable; expRate = float.Parse(military["experience"].ToString()) / 100 + 1; moneyRate = float.Parse(military["money"].ToString()) / 100 + 1; } int exp = (int)(((float)msg.m_Experience) * expRate); int money = (int)(((float)msg.m_Money) * moneyRate); expLbl.text = exp.ToString(); moneyLbl.text = moneyLbl.ToString(); int slotNum = 0; int num = (int)msg.m_Items.m_ItemCount; List <sdGameItem> itemList = new List <sdGameItem>(); List <sdGamePetItem> petItemList = new List <sdGamePetItem>(); List <sdGameItem> petCardList = new List <sdGameItem>(); for (int i = 0; i < num; ++i) { sdGameItem item = sdGameItemMgr.Instance.getItem(msg.m_Items.m_Items[i].m_UID); if (item == null) { sdGamePetItem petItem = sdNewPetMgr.Instance.getPetItem(msg.m_Items.m_Items[i].m_UID); if (petItem == null) { sdGameItem temp = new sdGameItem(); temp.templateID = msg.m_Items.m_Items[i].m_TID; Hashtable tempInfo = sdConfDataMgr.Instance().GetItemById(msg.m_Items.m_Items[i].m_TID.ToString()); if (tempInfo == null) { continue; } if (int.Parse(tempInfo["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Item) { petCardList.Add(temp); } else { itemList.Add(temp); } continue; } petItemList.Add(petItem); continue; } itemList.Add(item); } num = msg.m_PetAboutCount; for (int i = 0; i < num; ++i) { if (table.Length > slotNum && table[slotNum] != null) { sdSweepResultIcon icon = table[slotNum]; if (icon != null) { Hashtable pet = sdConfDataMgr.Instance().GetItemById(msg.m_PetAbout[i].ToString()); if (pet == null) { continue; } if (int.Parse(pet["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Equip) { icon.SetInfo(msg.m_PetAbout[i]); } else if (int.Parse(pet["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Item) { icon.SetInfo(msg.m_PetAbout[i]); } } } ++slotNum; } foreach (sdGameItem item in petCardList) { if (table.Length > slotNum && table[slotNum] != null) { sdSweepResultIcon icon = table[slotNum]; if (icon != null) { if (item != null) { icon.SetInfo(item.instanceID); } } } ++slotNum; } foreach (sdGamePetItem item in petItemList) { if (table.Length > slotNum && table[slotNum] != null) { sdSweepResultIcon icon = table[slotNum]; if (icon != null) { if (item != null) { icon.SetInfo(item.instanceID); } } } ++slotNum; } //itemList.Sort(CompareItem); foreach (sdGameItem item in itemList) { if (table.Length > slotNum && table[slotNum] != null) { sdSweepResultIcon icon = table[slotNum]; if (icon != null) { if (item != null) { icon.SetInfo(item.instanceID); } } } ++slotNum; } while (table.Length > slotNum && table[slotNum] != null) { sdSweepResultIcon icon = table[slotNum]; if (icon != null) { icon.SetInfo(0); } ++slotNum; } int treasureNum = msg.m_GetCount; for (int i = 0; i < treasureNum; ++i) { sdSweepResultIcon icon = table[4]; icon.SetInfo(msg.m_CardInfos[i].m_ItemID); } }
public void SetInfo(CliProto.SC_TREASURE_CHEST_NTF msg) { LoadScoreEffect(sdUICharacter.Instance.fightScore); if (sdUICharacter.Instance.GetBattleType() != (byte)HeaderProto.LEVEL_BATTLE_TYPE.LEVEL_BATTLE_TYPE_ABYSS) { sdUICharacter.Instance.fightScore = 1; } if (sdFriendMgr.Instance.fightFriend != null) { sdFriend fri = sdFriendMgr.Instance.fightFriend; friName.GetComponent <UILabel>().text = fri.name; petName.GetComponent <UILabel>().text = fri.petInfo.m_strName; petFrame.GetComponent <UISprite>().spriteName = sdConfDataMgr.Instance().GetPetQuilityBorder(fri.petInfo.m_iAbility); UIAtlas atlas = null; string headName; //sdConfDataMgr.Instance().SetHeadAtlas += new sdConfDataMgr.HeadAtlas(SetAtlas); sdConfDataMgr.Instance().SetHeadPic(fri.gender, fri.hairStyle, fri.color, friIcon.GetComponent <UISprite>()); //friIcon.GetComponent<UISprite>().atlas = atlas; //friIcon.GetComponent<UISprite>().spriteName = headName; petIcon.GetComponent <UISprite>().atlas = sdConfDataMgr.Instance().PetAtlas; petIcon.GetComponent <UISprite>().spriteName = fri.petInfo.m_strIcon; friLevel.GetComponent <UILabel>().text = "Lv." + fri.level; petLevel.GetComponent <UILabel>().text = "Lv." + fri.petInfo.m_iLevel.ToString(); } float expRate = 1; float moneyRate = 1; Hashtable militarylevelTable = sdConfDataMgr.Instance().GetTable("militarylevel"); if (militarylevelTable.ContainsKey(sdPVPManager.Instance.nMilitaryLevel.ToString())) { Hashtable military = militarylevelTable[(sdPVPManager.Instance.nMilitaryLevel).ToString()] as Hashtable; expRate = float.Parse(military["experience"].ToString()) / 100 + 1; moneyRate = float.Parse(military["money"].ToString()) / 100 + 1; } exp = (int)(((float)msg.m_Experience) * expRate); money = (int)(((float)msg.m_Money) * moneyRate); Hashtable table = sdSlotMgr.Instance.GetIconList(PanelType.Panel_Jiesuan); int slotNum = 0; int num = (int)msg.m_Items.m_ItemCount; List <sdGameItem> itemList = new List <sdGameItem>(); List <sdGamePetItem> petItemList = new List <sdGamePetItem>(); List <sdGameItem> petCardList = new List <sdGameItem>(); for (int i = 0; i < num; ++i) { sdGameItem item = sdGameItemMgr.Instance.getItem(msg.m_Items.m_Items[i].m_UID); if (item == null) { sdGamePetItem petItem = sdNewPetMgr.Instance.getPetItem(msg.m_Items.m_Items[i].m_UID); if (petItem == null) { sdGameItem temp = new sdGameItem(); temp.templateID = msg.m_Items.m_Items[i].m_TID; Hashtable tempInfo = sdConfDataMgr.Instance().GetItemById(msg.m_Items.m_Items[i].m_TID.ToString()); if (tempInfo == null) { continue; } if (int.Parse(tempInfo["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Item) { petCardList.Add(temp); } else { itemList.Add(temp); } continue; } petItemList.Add(petItem); continue; } item.isNew = true; itemList.Add(item); } itemCount = num + msg.m_PetAboutCount; num = msg.m_PetAboutCount; for (int i = 0; i < num; ++i) { if (table.ContainsKey(slotNum) && table[slotNum] != null) { sdSlotIcon icon = table[slotNum] as sdSlotIcon; if (icon != null) { Hashtable pet = sdConfDataMgr.Instance().GetItemById(msg.m_PetAbout[i].ToString()); if (pet == null) { continue; } if (int.Parse(pet["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Equip) { icon.jiesuanType = JiesuanSlotType.PetItem; icon.SetInfo(msg.m_PetAbout[i].ToString(), pet); icon.gameObject.SetActive(false); icon.GetComponent <BoxCollider>().enabled = true; } else if (int.Parse(pet["Class"].ToString()) == (int)HeaderProto.EItemClass.ItemClass_Pet_Item) { icon.jiesuanType = JiesuanSlotType.Pet; icon.SetInfo(msg.m_PetAbout[i].ToString(), pet); icon.gameObject.SetActive(false); icon.GetComponent <BoxCollider>().enabled = true; } } } ++slotNum; } foreach (sdGameItem item in petCardList) { if (table.ContainsKey(slotNum) && table[slotNum] != null) { sdSlotIcon icon = table[slotNum] as sdSlotIcon; if (icon != null) { if (item != null) { Hashtable info = sdConfDataMgr.Instance().GetItemById(item.templateID.ToString()); icon.panel = PanelType.Panel_Jiesuan; icon.jiesuanType = JiesuanSlotType.Pet; icon.SetInfo(item.instanceID.ToString(), info); icon.gameObject.SetActive(false); } icon.enable = false; icon.GetComponent <BoxCollider>().enabled = true; } } ++slotNum; } foreach (sdGamePetItem item in petItemList) { if (table.ContainsKey(slotNum) && table[slotNum] != null) { sdSlotIcon icon = table[slotNum] as sdSlotIcon; if (icon != null) { if (item != null) { Hashtable info = sdConfDataMgr.Instance().GetItemById(item.templateID.ToString()); icon.panel = PanelType.Panel_Jiesuan; icon.jiesuanType = JiesuanSlotType.PetItem; icon.SetInfo(item.instanceID.ToString(), info); icon.gameObject.SetActive(false); } icon.enable = false; icon.GetComponent <BoxCollider>().enabled = true; } } ++slotNum; } itemList.Sort(CompareItem); foreach (sdGameItem item in itemList) { if (table.ContainsKey(slotNum) && table[slotNum] != null) { sdSlotIcon icon = table[slotNum] as sdSlotIcon; if (icon != null) { if (item != null) { Hashtable info = sdConfDataMgr.Instance().GetItemById(item.templateID.ToString()); icon.panel = PanelType.Panel_Jiesuan; icon.SetInfo(item.instanceID.ToString(), info); icon.gameObject.SetActive(false); } icon.enable = false; icon.GetComponent <BoxCollider>().enabled = true; } } ++slotNum; } while (table.ContainsKey(slotNum) && table[slotNum] != null) { sdSlotIcon icon = table[slotNum] as sdSlotIcon; if (icon != null) { icon.SetInfo("0", null); icon.enable = false; icon.GetComponent <BoxCollider>().enabled = false; } ++slotNum; } int treasureNum = msg.m_GetCount; for (int i = 0; i < treasureNum; ++i) { TreasureInfo info = new TreasureInfo(); info.index = msg.m_CardInfos[i].m_IndexID; info.id = (int)msg.m_CardInfos[i].m_ItemID; info.count = (int)msg.m_CardInfos[i].m_Count; info.isTemp = false; realList.Add(info); } treasureNum = msg.m_TempCount; List <int> ranlist = new List <int>(); for (int i = 0; i < treasureNum; ++i) { ranlist.Add(i); } System.Random ran = new System.Random(); while (ranlist.Count > 0) { int index = ran.Next(ranlist.Count); int indexNum = ranlist[index]; TreasureInfo info = new TreasureInfo(); info.index = msg.m_TempCardInfos[indexNum].m_IndexID; info.id = (int)msg.m_TempCardInfos[indexNum].m_ItemID; info.count = (int)msg.m_TempCardInfos[indexNum].m_Count; info.isTemp = true; tempList.Add(info); ranlist.RemoveAt(index); } if (sdGameLevel.instance != null && sdGameLevel.instance.mainChar != null) { if (sdGameLevel.instance.mainChar.Property != null) { curExp = sdUICharacter.Instance.oldExp; m_level = sdUICharacter.Instance.oldLevel; m_job = int.Parse(sdGameLevel.instance.mainChar.Property["Job"].ToString()); int maxExp = sdConfDataMgr.Instance().GetLevelExp(m_job.ToString(), m_level.ToString()); if (maxExp == 0) { lvMax = true; } else { lvMax = false; } if (curLevel != null) { if (maxExp == 0) { curLevel.GetComponent <UILabel>().text = string.Format("Max"); } else { curLevel.GetComponent <UILabel>().text = string.Format("Lv.{0}", m_level.ToString()); } } if (nextLevel != null) { if (maxExp == 0) { nextLevel.GetComponent <UILabel>().text = string.Format(""); } else { nextLevel.GetComponent <UILabel>().text = string.Format("Lv.{0}", (m_level + 1).ToString()); } } if (lvPic != null) { if (maxExp == 0) { lvPic.GetComponent <UISprite>().fillAmount = 0; } else { lvPic.GetComponent <UISprite>().fillAmount = (float)((float)curExp / (float)maxExp); } } } } }