public void Initialize()
    {
        ZETBCFCSettings.Load();
        AutoUpdater.CheckUpdate(version);

        Log($"FC version {version}. Discovering class and finding rotation...");
        var type = Type.GetType(wowClass);

        wowVersion = Lua.LuaDoString <string>("v, b, d, t = GetBuildInfo(); return v");
        Log($"Wow version : {wowVersion}");

        if (type != null)
        {
            _isLaunched = true;

            // Fight end
            FightEvents.OnFightEnd += (ulong guid) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = _saveCalcuCombatRangeSetting;
                HMPrunningAway = false;
            };

            // Fight start
            FightEvents.OnFightStart += (WoWUnit unit, CancelEventArgs cancelable) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = false;
                HMPrunningAway = false;
            };

            // HMP run away handler
            robotManager.Events.LoggingEvents.OnAddLog += (Logging.Log log) =>
            {
                if (log.Text == "[HumanMasterPlugin] Starting to run away")
                {
                    Log("HMP's running away feature detected. Disabling FightClass");
                    HMPrunningAway = true;
                }
                else if (log.Text == "[HumanMasterPlugin] Stop fleeing, allow attacks again")
                {
                    Log("Reenabling FightClass");
                    HMPrunningAway = false;
                }
            };

            if (!Talents._isRunning)
            {
                _talentThread.DoWork += Talents.DoTalentPulse;
                _talentThread.RunWorkerAsync();
            }

            type.GetMethod("Initialize").Invoke(null, null);
        }
        else
        {
            LogError("Class not supported.");
            Products.ProductStop();
        }
    }
Beispiel #2
0
    public void Initialize()
    {
        ZETBCFCSettings.Load();
        AutoUpdater.CheckUpdate(version);

        Log($"FC version {version}. Discovering class and finding rotation...");
        var type = Type.GetType(wowClass);

        if (type != null)
        {
            _isLaunched = true;

            // Fight end
            FightEvents.OnFightEnd += (ulong guid) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = _saveCalcuCombatRangeSetting;
            };

            // Fight start
            FightEvents.OnFightStart += (WoWUnit unit, CancelEventArgs cancelable) =>
            {
                wManager.wManagerSetting.CurrentSetting.CalcuCombatRange = false;
            };

            if (!Talents._isRunning)
            {
                _talentThread.DoWork += Talents.DoTalentPulse;
                _talentThread.RunWorkerAsync();
            }

            type.GetMethod("Initialize").Invoke(null, null);
        }
        else
        {
            LogError("Class not supported.");
            Products.ProductStop();
        }
    }