public async Task DoAction(Manager.NeededAction action, Mouth mouth, CancellationToken cancellationToken) { string actionKey = ""; int sleepTime = 0; switch (action) { case Manager.NeededAction.HearthStone: { actionKey = Properties.Settings.Default.HearthKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_HEARTHSTONE")); sleepTime = 0; break; } case Manager.NeededAction.Lure: { actionKey = Properties.Settings.Default.LureKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_LURE")); sleepTime = 3; break; } case Manager.NeededAction.Charm: { actionKey = Properties.Settings.Default.CharmKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_CHARM")); sleepTime = 3; break; } case Manager.NeededAction.Raft: { actionKey = Properties.Settings.Default.RaftKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_RAFT")); sleepTime = 2; break; } case Manager.NeededAction.Bait: { int baitIndex = 0; if (Properties.Settings.Default.CycleThroughBaitList) { if (m_baitIndex >= 6) { m_baitIndex = 0; } baitIndex = m_baitIndex++; } actionKey = m_baitKeys[baitIndex]; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_BAIT", baitIndex)); sleepTime = 3; break; } default: return; } Log.Information("Send key start: " + actionKey); Win32.ActivateWow(this.Wow); await Task.Delay(1000, cancellationToken); Win32.SendKey(actionKey); Log.Information("Sent key: " + actionKey); await Task.Delay(sleepTime * 1000, cancellationToken); }
public void DoAction(Manager.NeededAction action, Mouth mouth) { string actionKey = ""; int sleepTime = 0; switch (action) { case Manager.NeededAction.HearthStone: { actionKey = Properties.Settings.Default.HearthKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_HEARTHSTONE")); sleepTime = 0; break; } case Manager.NeededAction.Lure: { actionKey = Properties.Settings.Default.LureKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_LURE")); sleepTime = 3; break; } case Manager.NeededAction.Charm: { actionKey = Properties.Settings.Default.CharmKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_CHARM")); sleepTime = 3; break; } case Manager.NeededAction.Raft: { actionKey = Properties.Settings.Default.RaftKey; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_RAFT")); sleepTime = 2; break; } case Manager.NeededAction.Bait: { int baitIndex = 0; if (Properties.Settings.Default.CycleThroughBaitList) { if (m_baitIndex >= 6) { m_baitIndex = 0; } baitIndex = m_baitIndex++; } actionKey = m_baitKeys[baitIndex]; mouth.Say(Translate.GetTranslate("manager", "LABEL_APPLY_BAIT", baitIndex)); sleepTime = 3; break; } default: return; } Win32.ActivateWow(); Win32.SendKey(actionKey); Thread.Sleep(sleepTime * 1000); }