示例#1
0
文件: SpyWOW.cs 项目: civicacid/myevo
        // 从数据库读取文件,写入相关位置
        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;
        }
示例#2
0
 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");
     }
 }