示例#1
0
 public BehaviorForm(BehaviorController behaviorController)
 {
     InitializeComponent();
     var executableFileInfo = new FileInfo(Application.ExecutablePath);
     string executableDirectoryName = executableFileInfo.DirectoryName;
     _ourDirectory = executableDirectoryName;
     PveBehaviorSettings.LoadSettings();
     _behavior = behaviorController ?? new BehaviorController();
 }
示例#2
0
 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();
 }
示例#3
0
 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();
 }
示例#4
0
 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();
     }
 }
示例#5
0
        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");
        }
示例#6
0
 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();
     }
 }