public override void Start() { PBLog.Debug("Start Called"); IsRunning = true; AttachEvents(); // make sure bank frame is closed on start to ensure Util.IsGBankFrameOpen is synced Util.CloseBankFrames(); if (IsExecutingActionWhileHonorbuddyIsStopped) { IsExecutingActionWhileHonorbuddyIsStopped = false; ResetSecondaryBot(); } else { // reset all actions Reset(); if (DynamicCodeCompiler.CodeIsModified) { DynamicCodeCompiler.GenorateDynamicCode(); } } if (MainForm.IsValid) { MainForm.Instance.UpdateControls(); } if (!SecondaryBot.Initialized) { SecondaryBot.DoInitialize(); } }
public override void Stop() { IsRunning = false; DetachEvents(); PBLog.Debug("Stop Called"); if (MainForm.IsValid) { MainForm.Instance.UpdateControls(); } if (SecondaryBot != null) { SecondaryBot.Stop(); } }
private void OnSkillUpdate(object obj, LuaEventArgs args) { if (_onSkillUpdateTimer.IsFinished) { try { lock (tradeSkillLocker) { UpdateMaterials(); // check if there was any tradeskills added or removed. WoWSkill[] skills = SupportedTradeSkills; bool changed = skills.Count(s => TradeSkillList.Count(l => l.SkillLine == (SkillLine)s.Id) == 1) != TradeSkillList.Count || skills.Length != TradeSkillList.Count; if (changed) { PBLog.Debug("A profession was added or removed. Reloading Tradeskills (OnSkillUpdateTimerCB)"); OnTradeSkillsLoaded += Professionbuddy_OnTradeSkillsLoaded; LoadTradeSkills(); } else { PBLog.Debug("Updated tradeskills from OnSkillUpdateTimerCB"); foreach (TradeSkill ts in TradeSkillList) { ts.PulseSkill(); } if (MainForm.IsValid) { MainForm.Instance.RefreshTradeSkillTabs(); MainForm.Instance.RefreshActionTree(typeof(CastSpellAction)); } } } } catch (Exception ex) { PBLog.Warn(ex.ToString()); } _onSkillUpdateTimer.Reset(); } }
public static void Debug(string format, params object[] args) { PBLog.Debug(format, args); }
public override void Initialize() { try { if (!_init) { PBLog.Debug("Initializing ..."); Util.ScanForOffsets(); if (!Directory.Exists(BotPath)) { Directory.CreateDirectory(BotPath); } DynamicCodeCompiler.WipeTempFolder(); // force Tripper.Tools.dll to load........ new Vector3(0, 0, 0); MySettings = new ProfessionBuddySettings( Path.Combine( Utilities.AssemblyDirectory, string.Format(@"Settings\{0}\{0}[{1}-{2}].xml", Name, Me.Name, Lua.GetReturnVal <string>("return GetRealmName()", 0)))); IsTradeSkillsLoaded = false; LoadTradeSkills(); DataStore = new DataStore(); DataStore.ImportDataStore(); LoadTradeskillTools(); // load localized strings LoadStrings(); // load the previous BotBase bot = BotManager.Instance.Bots.Values.FirstOrDefault( b => b.Name.IndexOf(MySettings.LastBotBase, StringComparison.InvariantCultureIgnoreCase) >= 0); if (bot == null) { // look for combat bot, otherwise select first bot if combat bot is not found bot = BotManager.Instance.Bots.Values.FirstOrDefault(b => b.GetType().ToString() == "CombatBot") ?? BotManager.Instance.Bots.Values.FirstOrDefault(); MySettings.LastBotBase = bot.Name; MySettings.Save(); } SecondaryBot = bot; bot.DoInitialize(); try { if (!string.IsNullOrEmpty(_profileToLoad)) { LoadPBProfile(_profileToLoad); } else if (!string.IsNullOrEmpty(MySettings.LastProfile)) { LoadPBProfile(MySettings.LastProfile); } } catch (Exception ex) { PBLog.Warn(ex.ToString()); } _init = true; } } catch (Exception ex) { Logging.Write(Colors.Red, ex.ToString()); } }