/// <summary> /// 武学学习或升级结果,更新武学列表 /// </summary> /// <param name="sMsgActionStudyWuXue_SC">S message action study wu xue_ S.</param> public void UpdatePlayerMartialData(SMsgAcitonStudyWuXue_SC sMsgActionStudyWuXue_SC) { int martialID = sMsgActionStudyWuXue_SC.dwWuXueID; byte martialLevel = sMsgActionStudyWuXue_SC.byWuXueLevel; MartialIndex martialIndex = new MartialIndex() { MartialArtsID = martialID, MartialArtsLevel = (int)martialLevel - 1 }; PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex); if (martialArtsData.MartialArtsUnlock != 0) //如果有解锁新武学 { MartialDataList.Add(new SSendWuXueData() { dwWuXueID = martialArtsData.MartialArtsUnlock, byWuXueLevel = 0 }); } for (int i = 0; i < MartialDataList.Count; i++) { if (MartialDataList[i].dwWuXueID == martialID) { SSendWuXueData tempData = new SSendWuXueData() { dwWuXueID = martialID, byWuXueLevel = martialLevel }; MartialDataList[i] = tempData; break; } } }
//指定ID的武学学习后是否解锁新武学 public int UnlockNewMartialId(int martialID) { int level = GetMartialLevelByID(martialID); MartialIndex martialIndex = new MartialIndex() { MartialArtsID = martialID, MartialArtsLevel = level - 1 }; PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex); return(martialArtsData.MartialArtsUnlock != 0 ? martialArtsData.MartialArtsUnlock:0); }
/// <summary> /// 初始化 /// </summary> /// <param name="SendWuXueData">Send wu xue data.</param> /// <param name="Callback">Callback.</param> public void Init(SSendWuXueData SendWuXueData, ButtonCallBack Callback) { MartialIndex martialIndex = new MartialIndex() { MartialArtsID = SendWuXueData.dwWuXueID, MartialArtsLevel = SendWuXueData.byWuXueLevel }; PlayerMartialData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex); MartialId = SendWuXueData.dwWuXueID; GameObject Icon = UI.CreatObjectToNGUI.InstantiateObj(PlayerMartialData.MartialArtsIconPrefab, IconPoint); this.gameObject.GetComponent <SingleButtonCallBack>().SetCallBackFuntion(Callback, MartialId); UpdateIconBg(SendWuXueData.byWuXueLevel); UpdateLevel(SendWuXueData.dwWuXueID); UpdateArrow(); }
//更新某个武学信息 public void UpdateInfo(int martialId) { MartialId = martialId; MartialLevel = PlayerMartialDataManager.Instance.GetMartialLevelByID(martialId); MartialIndex martialIndex = new MartialIndex() { MartialArtsID = MartialId, MartialArtsLevel = MartialLevel }; MartialData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex); IconBG.GetComponent <SpriteSwith>().ChangeSprite(MartialLevel <= 1 ? 1 : MartialLevel); IconPoint.ClearChild(); GameObject icon = UI.CreatObjectToNGUI.InstantiateObj(MartialData.MartialArtsIconPrefab, IconPoint); MartialNameLabel.text = LanguageTextManager.GetString(MartialData.MartialArtsName); MartialDesLabel.text = LanguageTextManager.GetString(MartialData.MartialArtsDes); MartialEffDesLabel.text = LanguageTextManager.GetString(MartialData.MartialArtsParamDes); NeedConLabel.text = MartialData.MartialArtsContribution.ToString(); if (MartialLevel == 0) //没解锁 { EffBackground.transform.localScale = new Vector3(292, 74, 0); ConBackground.transform.localScale = new Vector3(292, 176, 0); LineMartialLevel.SetActive(false); LineHonor.SetActive(true); LineLearnLabel.SetActive(true); LineUpgradeLabel.SetActive(false); MaxHonorN.text = LanguageTextManager.GetString("IDS_I38_23"); MaxHonorLabel.text = MartialData.MartialArtsMaxScore.ToString(); NeedConN.text = LanguageTextManager.GetString("IDS_I38_24"); //Button.GetComponentInChildren<UILabel>().text = LanguageTextManager.GetString("IDS_I38_26"); //学习 Button.SetButtonText(LanguageTextManager.GetString("IDS_I38_26")); } else //已解锁 { EffBackground.transform.localScale = new Vector3(292, 115, 0); ConBackground.transform.localScale = new Vector3(292, 137, 0); LineMartialLevel.SetActive(true); LineHonor.SetActive(false); LineLearnLabel.SetActive(false); LineUpgradeLabel.SetActive(true); MartialLevelN.text = LanguageTextManager.GetString("IDS_I38_25"); MartialLevelLabel.text = MartialLevel.ToString() + "/" + MartialData.MartialArtsMaxLevels; //Button.GetComponentInChildren<UILabel>().text = LanguageTextManager.GetString("IDS_I38_27"); //升级 Button.SetButtonText(LanguageTextManager.GetString("IDS_I38_27")); } }
/// <summary> /// 根据武学类型获取相应列表 /// </summary> /// <returns>The martial list by type.</returns> /// <param name="martialType">Martial type.</param> public List <SSendWuXueData> GetMartialListByType(MartialType martialType) { List <SSendWuXueData> tempWuXueData = new List <SSendWuXueData>(); MartialDataList.ApplyAllItem(p => { MartialIndex martialIndex = new MartialIndex() { MartialArtsID = p.dwWuXueID, MartialArtsLevel = (int)p.byWuXueLevel }; PlayerMartialArtsData martialArtsData = PlayerDataManager.Instance.GetPlayerMartialArtConfigData(martialIndex); if (martialArtsData.MartialArtsType == (byte)martialType) { tempWuXueData.Add(p); } }); return(tempWuXueData); }
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromPath) { if (CheckResModified(importedAssets) || CheckResModified(deletedAssets) || CheckResModified(movedAssets)) { string path = Path.Combine(RESOURCE_MARTIAL_CONFIG_FOLOER, "PlayerMartialArts.xml"); TextReader tr = new StreamReader(path); string text = tr.ReadToEnd(); if (text == null) { Debug.LogError("Player MartialArts config file not exit!"); return; } else { XmlSpreadSheetReader.ReadSheet(text); XmlSpreadSheet sheet = XmlSpreadSheetReader.Output; string[] keys = XmlSpreadSheetReader.Keys; //列 object[] levelIds = sheet[keys[0]]; //行数 List <PlayerMartialArtsData> tempList = new List <PlayerMartialArtsData>(); for (int i = 0; i < levelIds.Length; i++) { if (i == 0 || i == 1) { continue; //过滤第一、二行 } PlayerMartialArtsData data = new PlayerMartialArtsData(); data.MartialArtsType = Convert.ToByte(sheet["MartialArtsType"][i]); data.MartialArtsID = Convert.ToInt32(sheet["MartialArtsID"][i]); data.MartialArtsUnlock = Convert.ToInt32(sheet["MartialArtsUnlock"][i]); data.MartialArtsLevels = Convert.ToInt32(sheet["MartialArtsLevels"][i]); data.MartialArtsMaxLevels = Convert.ToInt32(sheet["MartialArtsMaxLevels"][i]); data.MartialArtsName = Convert.ToString(sheet["MartialArtsName"][i]); //data.MartialArtsIcon = Convert.ToString(sheet["MartialArtsIcon"][i]); string prefabName = Convert.ToString(sheet["MartialArtsIcon"][i]); string prefabPath = System.IO.Path.Combine(ASSET_TRAP_RES_CONFIG_FOLDER, prefabName + ".prefab"); data.MartialArtsIconPrefab = (GameObject)AssetDatabase.LoadAssetAtPath(prefabPath, typeof(GameObject)); data.MartialArtsDes = Convert.ToString(sheet["MartialArtsDes"][i]); data.MartialArtsMaxScore = Convert.ToInt32(sheet["MartialArtsMaxScore"][i]); data.MartialArtsContribution = Convert.ToInt32(sheet["MartialArtsContribution"][i]); data.MartialArtsParamDes = Convert.ToString(sheet["MartialArtsParamDes"][i]); data.EffType = Convert.ToByte(sheet["EffType"][i]); data.EctypeType = Convert.ToByte(sheet["EctypeType"][i]); data.MartialArtsStrengthParam = Convert.ToString(sheet["MartialArtsStrengthParam"][i]); data.EctypeBuffID = Convert.ToInt32(sheet["EctypeBuffID"][i]); data.ReviveTime = Convert.ToInt32(sheet["ReviveTime"][i]); data.FollowerPropParam = Convert.ToString(sheet["FollowerPropParam"][i]); data.MonsSkillReplace = Convert.ToString(sheet["MonsSkillReplace"][i]); data.SkillID1 = Convert.ToString(sheet["SkillID1"][i]); data.AttExtraAccRate1 = Convert.ToInt32(sheet["AttExtraAccRate1"][i]); data.Accid1 = Convert.ToInt32(sheet["Accid1"][i]); data.SkillID2 = Convert.ToString(sheet["SkillID2"][i]); data.AttExtraAccRate2 = Convert.ToInt32(sheet["AttExtraAccRate2"][i]); data.Accid2 = Convert.ToInt32(sheet["Accid2"][i]); data.DefAccRate1 = Convert.ToInt32(sheet["DefAccRate1"][i]); data.DefAccid1 = Convert.ToInt32(sheet["DefAccid1"][i]); data.DefAccRate2 = Convert.ToInt32(sheet["DefAccRate2"][i]); data.DefAccid2 = Convert.ToInt32(sheet["DefAccid2"][i]); data.JumpTigRate = Convert.ToInt32(sheet["JumpTigRate"][i]); data.QiID = Convert.ToInt32(sheet["QiID"][i]); data.AvoidTrgRate = Convert.ToInt32(sheet["AvoidTrgRate"][i]); data.AvoidID = Convert.ToInt32(sheet["AvoidID"][i]); data.martialIndex = new MartialIndex() { MartialArtsID = data.MartialArtsID, MartialArtsLevel = data.MartialArtsLevels }; tempList.Add(data); } CreateMartialsDataList(tempList); } } }