public static void Initialize() { #region Item string[] itemInfoList = Properties.ResourceSetting.Items.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var itemInfo in itemInfoList) { try { string[] itemDetail = itemInfo.Split('\t'); if (itemDetail.Length < 11) { continue; } ItemInfo item = new ItemInfo(); item.Name = itemDetail[0]; item.Code = itemDetail[1]; item.Category = itemDetail[2]; item.AP = itemDetail[3]; item.DP = itemDetail[4]; item.Hit = itemDetail[5]; item.EV = itemDetail[6]; item.Range = itemDetail[7]; item.Exist = itemDetail[8] == "可"; item.Price = itemDetail[9]; item.Special = itemDetail[10]; ItemInfoList.Add(item); } catch (Exception ex) { string exe = ex.ToString(); } } ItemInfoList.RemoveAt(0); #endregion #region MagicAndJob string[] magicAndJobInfoList = Properties.ResourceSetting.MagicAndJob.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var magicAndJobInfo in magicAndJobInfoList) { try { string[] itemDetail = magicAndJobInfo.Split('\t'); if (itemDetail.Length < 4) { continue; } MagicAndJob item = new MagicAndJob(); item.Role = itemDetail[0]; item.Type = itemDetail[1]; item.Job = itemDetail[2]; item.Magic = itemDetail[3].Trim('"'); MagicAndJobInfoList.Add(item); } catch (Exception ex) { string exe = ex.ToString(); } } MagicAndJobInfoList.RemoveAt(0); #endregion #region Job string[] jobInfoList = Properties.ResourceSetting.Job.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var itemInfo in jobInfoList) { try { string[] itemDetail = itemInfo.Split('\t'); if (itemDetail.Length < 2) { continue; } JobInfo item = new JobInfo(); item.Code = itemDetail[0]; item.Name = itemDetail[1]; JobInfoList.Add(item); } catch (Exception ex) { string exe = ex.ToString(); } } JobInfoList.RemoveAt(0); #endregion #region Race string[] raceInfoArray = Properties.ResourceSetting.Race.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var itemInfo in raceInfoArray) { try { string[] itemDetail = itemInfo.Split('\t'); if (itemDetail.Length < 2) { continue; } RaceInfo item = new RaceInfo(); item.Code = itemDetail[0]; item.Name = itemDetail[1]; RaceInfoList.Add(item); } catch (Exception ex) { string exe = ex.ToString(); } } RaceInfoList.RemoveAt(0); #endregion #region Race string[] roleNameInfoArray = Properties.ResourceSetting.Role.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var itemInfo in roleNameInfoArray) { try { string[] itemDetail = itemInfo.Split('\t'); if (itemDetail.Length < 3) { continue; } RoleNameInfo item = new RoleNameInfo(); item.Code = itemDetail[0]; item.Name = itemDetail[1]; item.Job = itemDetail[2]; RoleNameInfoList.Add(item); } catch (Exception ex) { string exe = ex.ToString(); } } RoleNameInfoList.RemoveAt(0); #endregion #region StartAddress //string settingIni = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Setting.ini"); //if (!File.Exists(settingIni)) //{ // List<string> sb = new List<string>(); // sb.Add("[Setting]"); // //0x11700000 // sb.Add("StartSerachAddress=0x00000000"); // File.AppendAllLines(settingIni, sb); //} //IniLib.IniFilePath = settingIni; //settingIni = IniLib.IniRead("StartSerachAddress", "Setting"); //GlobalSpecs.BaseStartAddress = ComLib.GetDec(settingIni); #endregion }
public static RoleNameInfo GetRoleName(MemoryData race) { RoleNameInfo roleNameInfo = SettingsLib.RoleNameInfoList.FirstOrDefault(item => item.Code.ToLower().PadLeft(2, '0') == race.HexVal); return(roleNameInfo); }
private void SetFormValue() { #region title Info txtX.Text = _RoleInfo.M01_X.Value; txtY.Text = _RoleInfo.M02_Y.Value; labJob.Text = RoleLib.GetJob(_RoleInfo.M33_职业).Name; labRace.Text = RoleLib.GetRace(_RoleInfo.M32_人种).Name; RoleNameInfo roleName = RoleLib.GetRoleName(_RoleInfo.M08_人物肖像职业); labName.Text = roleName == null? _RoleInfo.M08_人物肖像职业.HexVal: roleName.Name; labRoleJob.Text = roleName == null ? _RoleInfo.M08_人物肖像职业.Value : roleName.Job; switch (RoleLib.GetCamp(_RoleInfo.M07_人物阵营)) { case RoleCamp.Enemy: labCamp.Text = "(敌人)"; break; case RoleCamp.NPC: labCamp.Text = "(NPC)"; break; case RoleCamp.Ally: labCamp.Text = "(己方)"; break; default: break; } //txtM03.Text = _RoleInfo.M03_人物图形.Value; //txtM04.Text = _RoleInfo.M04_人物方向.Value; //txtM07.Text = _RoleInfo.M07_人物阵营.Value; //txtM08.Text = _RoleInfo.M08_人物肖像职业.Value; //txtM09.Text = _RoleInfo.M09_人物名字.Value; #endregion #region basic info SetOneTxtItem(txtNowHP, _RoleInfo.M47_HP); SetOneTxtItem(txtMaxHP, _RoleInfo.M48_MaxHP); SetOneTxtItem(txtNowMP, _RoleInfo.M49_MP); SetOneTxtItem(txtMaxMP, _RoleInfo.M50_MaxMp); SetOneTxtItem(txtLV, _RoleInfo.M34_等级); SetOneTxtItem(txtMV, _RoleInfo.M44_移动); SetOneTxtItem(txtEx, _RoleInfo.M45_经验); SetOneTxtItem(txtBaseAP, _RoleInfo.M42_基本AP); SetOneTxtItem(txtBaseDP, _RoleInfo.M43_基本DP); SetOneTxtItem(txtDx, _RoleInfo.M46_DX); SetOneTxtItem(txtEv, _RoleInfo.M54_EV); SetOneTxtItem(txtAP, _RoleInfo.M51_AP); SetOneTxtItem(txtHit, _RoleInfo.M53_HIT); SetOneTxtItem(txtDP, _RoleInfo.M52_DP); txtPoison.Text = _RoleInfo.M38_中毒.IntVal == 0 ? "" : _RoleInfo.M38_中毒.Value; txtParalysis.Text = _RoleInfo.M39_麻痹.IntVal == 0 ? "" : _RoleInfo.M39_麻痹.Value; txtCurse.Text = _RoleInfo.M40_禁咒.IntVal == 0 ? "" : _RoleInfo.M40_禁咒.Value; chkAction.Checked = ComLib.GetAction(int.Parse(_RoleInfo.M06_是否可动.Value)); #endregion #region Items SetItem(chkItem1, txtItem1, _RoleInfo.M11_物品1状态, _RoleInfo.M12_物品1); SetItem(chkItem2, txtItem2, _RoleInfo.M13_物品2状态, _RoleInfo.M14_物品2); SetItem(chkItem3, txtItem3, _RoleInfo.M15_物品3状态, _RoleInfo.M16_物品3); SetItem(chkItem4, txtItem4, _RoleInfo.M17_物品4状态, _RoleInfo.M18_物品4); SetItem(chkItem5, txtItem5, _RoleInfo.M19_物品5状态, _RoleInfo.M20_物品5); SetItem(chkItem6, txtItem6, _RoleInfo.M21_物品6状态, _RoleInfo.M22_物品6); SetItem(chkItem7, txtItem7, _RoleInfo.M23_物品7状态, _RoleInfo.M24_物品7); SetItem(chkItem8, txtItem8, _RoleInfo.M25_物品8状态, _RoleInfo.M26_物品8); #endregion #region Magic List <string> tMagicList; int[] pMagicCode = { _RoleInfo.M27_法术1.IntVal, _RoleInfo.M28_法术2.IntVal, _RoleInfo.M29_法术3.IntVal, _RoleInfo.M30_法术4.IntVal, _RoleInfo.M31_法术5.IntVal }; tMagicList = MagicLib.GetMagicName(pMagicCode); listBoxMagic.DataSource = tMagicList.Select(item => new { Name = item }).ToList(); #endregion }