private void ShowPropertyView(int id, int level) { DActor db = ReadCfgActor.GetDataById(id); currPropertyText1.text = string.Empty; currPropertyText2.text = string.Empty; mainPropertyText1.text = string.Empty; mainPropertyText2.text = string.Empty; DPetLevel levelDB = ReadCfgPetLevel.GetDataById(db.Quality * 1000 + level); for (int i = 0; i < levelDB.PropertyNums.Length; i++) { EAttr propertyID = (EAttr)(i + 1); DProperty propertyDB = ReadCfgProperty.GetDataById(propertyID); currPropertyText1.Append(propertyDB.Name); currPropertyText2.Append("+" + levelDB.PropertyNums[i].ToString()); mainPropertyText1.Append(propertyDB.Name); int extendNum = (int)(levelDB.PropertyNums[i] * levelDB.Ratio / 100f); mainPropertyText2.Append("+" + extendNum.ToString()); } }
private void ShowView() { DActor db = ReadCfgActor.GetDataById(mCurPetID); XPet data = DataDBSPet.GetDataById(mCurPetID); data = data == null?GTDataFactory.CreatePet(mCurPetID) : data; DPetLevel levelDB = ReadCfgPetLevel.GetDataById(db.Quality * 1000 + data.Level); GTItemHelper.ShowProgressSlider(expSlider, data.CurExp, levelDB.Exp); GTItemHelper.ShowProgressText(expNum, data.CurExp, levelDB.Exp); for (int i = 0; i < mFoods.Count; i++) { FoodItem tab = mFoods[i]; if (i < mItems.Count) { XItem itemData = mItems[i]; GTItemHelper.ShowItemTexture(tab.itemTexture, itemData.Id); GTItemHelper.ShowItemQuality(tab.itemQuality, itemData.Id); } else { tab.itemQuality.gameObject.SetActive(false); tab.itemTexture.gameObject.SetActive(false); } } string str = GTTools.Format("{0} +{1}", db.Name, data.Level); GTItemHelper.ShowQualityText(title, str, db.Quality); ShowPropertyView(mCurPetID, data.Level); XCharacter role = RoleModule.Instance.GetCurPlayer(); btnBattle.SetActive(role.PetID != mCurPetID); btnUnload.SetActive(role.PetID == mCurPetID); }
private void OnAck_UpgradePet(MessageRecv obj) { System.IO.MemoryStream ms = new System.IO.MemoryStream(obj.Data); AckUpgradePet ack = Serializer.Deserialize <AckUpgradePet>(ms); int id = ack.ID; List <XItem> items = ack.UseItems; DActor db = ReadCfgActor.GetDataById(id); XPet data = DataDBSPet.GetDataById(id); if (data == null) { data = GTDataFactory.CreatePet(id); } int exp = PetModule.Instance.GetExpByItemList(items); DPetLevel levelDB = ReadCfgPetLevel.GetDataById(db.Quality * 1000 + data.Level); int addExp = exp + data.CurExp; while (addExp > levelDB.Exp) { addExp -= levelDB.Exp; data.Level++; levelDB = ReadCfgPetLevel.GetDataById(db.Quality * 1000 + data.Level); } data.CurExp = addExp; DataDBSPet.Update(id, data); for (int i = 0; i < items.Count; i++) { GTDataManager.Instance.UseItemById(items[i].Id, 1); } CharacterManager.Instance.SyncMainPlayerData(ESyncDataType.TYPE_BASEATTR); GTEventCenter.FireEvent(GTEventID.TYPE_UPGRADE_PET); GTEventCenter.FireEvent(GTEventID.TYPE_CHANGE_FIGHTVALUE); }