public BehaviorForm(BehaviorController behaviorController) { InitializeComponent(); var executableFileInfo = new FileInfo(Application.ExecutablePath); string executableDirectoryName = executableFileInfo.DirectoryName; _ourDirectory = executableDirectoryName; PveBehaviorSettings.LoadSettings(); _behavior = behaviorController ?? new BehaviorController(); }
public override void BotStarted() { if (File.Exists(OurDirectory + "\\Behaviors\\" + PveBehaviorSettings.LoadedBeharvior + ".xml")) { Behavior = new BehaviorController(); Behavior.Load(OurDirectory + "\\Behaviors\\" + PveBehaviorSettings.LoadedBeharvior + ".xml"); } CheckBuffAndKeys(Behavior.PullController.GetRules); CheckBuffAndKeys(Behavior.CombatController.GetRules); CheckBuffAndKeys(Behavior.BuffController.GetRules); CheckBuffAndKeys(Behavior.RestController.GetRules); Behavior.CombatController.GetRules.Sort(); Behavior.BuffController.GetRules.Sort(); Behavior.BuffController.GetRules.Sort(); Behavior.PrePullController.GetRules.Sort(); Behavior.PullController.GetRules.Sort(); }
private void LoadBehavior() { _behavior = new BehaviorController(); ClearTree(BeComRules); ClearTree(BePullRules); ClearTree(BeRestRules); ClearTree(BeBuffRules); ClearTree(BePrePullRules); _behavior.Load(_ourDirectory + "\\Behaviors\\" + BeTBSelectBehavior.SelectedItem + ".xml"); _behavior.CombatController.GetRules.Sort(); _behavior.RestController.GetRules.Sort(); _behavior.PullController.GetRules.Sort(); _behavior.BuffController.GetRules.Sort(); _behavior.PrePullController.GetRules.Sort(); BeCombatDistance.Value = _behavior.CombatDistance; BePullDistance.Value = _behavior.PullDistance; BePrePullDistance.Value = _behavior.PrePullDistance; BeEnableAutoAttack.Checked = _behavior.UseAutoAttack; BeSendPet.Checked = _behavior.SendPet; BeGlobalCooldown.Value = _behavior.GlobalCooldown; foreach (Rule rule in _behavior.CombatController.GetRules) { AddCondition(rule, BeComRules); } foreach (Rule rule in _behavior.PullController.GetRules) { AddCondition(rule, BePullRules); } foreach (Rule rule in _behavior.RestController.GetRules) { AddCondition(rule, BeRestRules); } foreach (Rule rule in _behavior.BuffController.GetRules) { AddCondition(rule, BeBuffRules); } foreach (Rule rule in _behavior.PrePullController.GetRules) { AddCondition(rule, BePrePullRules); } BeTabs.Enabled = true; BeBarRuleModifier.Enabled = true; BeGMisc.Enabled = true; PveBehaviorSettings.LoadedBeharvior = BeTBSelectBehavior.SelectedItem.ToString(); PveBehaviorSettings.SaveSettings(); }
private void BeTbNewBehaviorPreviewKeyDown(object sender, PreviewKeyDownEventArgs e) { if (e.KeyValue == 13) { SaveCurrentBehavior(); _behavior = new BehaviorController {Name = BeTBNewBehavior.Text}; _behavior.ResetControllers(); ClearTree(BeComRules); ClearTree(BePullRules); ClearTree(BePrePullRules); ClearTree(BeBuffRules); ClearTree(BeRestRules); BeTBSelectBehavior.Items.Add(_behavior.Name); BeTBSelectBehavior.SelectedIndex = BeTBSelectBehavior.FindStringExact(_behavior.Name); BeTBNewBehavior.Text = "Enter name and press return to create new behavior."; PveBehaviorSettings.LoadedBeharvior = _behavior.Name; SaveCurrentBehavior(); LoadBehavior(); } }
private void BtnCreateClick(object sender, EventArgs e) { if (File.Exists(PVEBehaviorCombat.OurDirectory + "\\Behaviors\\" + TBName.Text + ".xml")) { DialogResult result = MessageBoxEx.Show("Behavior exist - overwrite?", "Behavior exist - overwrite?", MessageBoxButtons.OKCancel); switch (result) { case DialogResult.Cancel: return; } } var controller = new BehaviorController { SendPet = false, UseAutoAttack = true, PullDistance = 30, PrePullDistance = 30, CombatDistance = 3, GlobalCooldown = BeGlobalCooldown.Value, Name = TBName.Text, BuffController = new RuleController(), PrePullController = new RuleController(), PullController = new RuleController(), RestController = new RuleController(), CombatController = new RuleController() }; for (int i = 0; i < Normal.Items.Count; i++) { if (Normal.GetItemChecked(i)) { var addToBehavior = (AddToBehavior) Normal.Items[i]; AddToController(addToBehavior, controller); } } for (int i = 0; i < Spec1.Items.Count; i++) { if (Spec1.GetItemChecked(i)) { var addToBehavior = (AddToBehavior) Spec1.Items[i]; AddToController(addToBehavior, controller); } } for (int i = 0; i < Spec2.Items.Count; i++) { if (Spec2.GetItemChecked(i)) { var addToBehavior = (AddToBehavior) Spec2.Items[i]; AddToController(addToBehavior, controller); } } for (int i = 0; i < Spec3.Items.Count; i++) { if (Spec3.GetItemChecked(i)) { var addToBehavior = (AddToBehavior) Spec3.Items[i]; AddToController(addToBehavior, controller); } } AddToController((AddToBehavior) CBSelectSpecial.SelectedItem, controller); controller.Save(); PveBehaviorSettings.LoadedBeharvior = TBName.Text; PveBehaviorSettings.SaveSettings(); MessageBoxEx.Show("Created behavior, re-open the behavior settings window to load it"); }
private static void AddToController(AddToBehavior addToBehavior, BehaviorController controller) { switch (addToBehavior.Type) { case Type.Combat: controller.CombatController.AddRule(addToBehavior.Rule); break; case Type.Pull: controller.PullController.AddRule(addToBehavior.Rule); break; case Type.Buff: controller.BuffController.AddRule(addToBehavior.Rule); break; case Type.Rest: controller.RestController.AddRule(addToBehavior.Rule); break; case Type.PrePull: controller.PrePullController.AddRule(addToBehavior.Rule); break; default: throw new ArgumentOutOfRangeException(); } }