// 从数据库读取文件,写入相关位置 public static bool initme() { RUNNING = false; if (!ObjectManager.Initialized) ObjectManager.Initialize(SpyLogin.WOW_P.Id); Thread.Sleep(1000); // 获取当前执行路径 var executableFileInfo = new FileInfo(Application.ExecutablePath); string executableDirectoryName = executableFileInfo.DirectoryName; // 根据角色职业和地图获取角色的战斗文件和地图文件 string stringClass = ""; switch (ObjectManager.MyPlayer.UnitClassId) { case (uint)Constants.UnitClass.UnitClass_Warrior: stringClass = "战士"; break; case (uint)Constants.UnitClass.UnitClass_Paladin: stringClass = "骑士"; break; case (uint)Constants.UnitClass.UnitClass_Hunter: stringClass = "猎人"; break; case (uint)Constants.UnitClass.UnitClass_Rogue: stringClass = "盗贼"; break; case (uint)Constants.UnitClass.UnitClass_Priest: stringClass = "牧师"; break; case (uint)Constants.UnitClass.UnitClass_Shaman: stringClass = "萨满"; break; case (uint)Constants.UnitClass.UnitClass_Mage: stringClass = "法师"; break; case (uint)Constants.UnitClass.UnitClass_Warlock: stringClass = "术士"; break; case (uint)Constants.UnitClass.UnitClass_Druid: stringClass = "德鲁伊"; break; case (uint)Constants.UnitClass.UnitClass_DeathKnight: stringClass = "死骑"; break; default: stringClass = "未知"; break; } if (!OraData.GetFileFromDB(2, stringClass, executableDirectoryName + "\\Behaviors")) { Logging.Write("SpyCJ:initme 错误:角色文件写入失败"); return false; } //调用Behavior var pIniManager = new IniManager(executableDirectoryName + PveBehaviorSettings.SettingsName); pIniManager.IniWriteValue("Config", "LoadedBeharvior", stringClass); //下载地图文件 string map = ObjectManager.MyPlayer.ZoneText; if (!OraData.GetFileFromDB(1, map, executableDirectoryName + "\\FlyingProfiles")) { Logging.Write("SpyCJ:initme 错误:下载地图文件失败"); return false; } //调用Profile FlyingProfile hh = new FlyingProfile(); hh.LoadFile(executableDirectoryName + "\\FlyingProfiles\\" + map + ".xml"); FlyingEngine.CurrentProfile = hh; FlyingSettings.Herb = true; FlyingSettings.Mine = true; FlyingSettings.SaveSettings(); //获得采集物品列表 List<string> rtv = SpyDB.GetMapCollect(map); if (rtv == null) return false; string[] toCollect; toCollect = rtv[0].Split('$'); Mine.Clear(); for (int iloop = 0; iloop < toCollect.Length; iloop++) { if (string.IsNullOrWhiteSpace(toCollect[iloop])) continue; Mine.AddMine(toCollect[iloop]); } Mine.HasLoaded = true; toCollect = rtv[1].Split('$'); Herb.Clear(); for (int iloop = 0; iloop < toCollect.Length; iloop++) { if (string.IsNullOrWhiteSpace(toCollect[iloop])) continue; Herb.AddHerb(toCollect[iloop]); } Herb.HasLoaded = true; // 设置飞行状态和战斗状态 LazySettings.SelectedEngine = "Flying Engine"; LazySettings.SelectedCombat = "Behavior Engine"; LazySettings.SaveSettings(); return true; }
public void Load() { var executableFileInfo = new FileInfo(Application.ExecutablePath); string executableDirectoryName = executableFileInfo.DirectoryName; OurDirectory = executableDirectoryName; FlyingSettings.LoadSettings(); CurrentMode = Mode.Normal; if (!string.IsNullOrEmpty(FlyingSettings.Profile) && File.Exists(FlyingSettings.Profile)) { CurrentProfile = new FlyingProfile(); CurrentProfile.LoadFile(FlyingSettings.Profile); } else { CurrentProfile = null; Logging.Write("Could not load a valid flying profile"); } }