protected virtual void MoveBasedOnStance(ComplexBotStance st) { switch (st) { case ComplexBotStance.FollowFocus: FollowFocusMovement(); break; case ComplexBotStance.DpsTargetRanged: DpsTargetRangedMovement(); break; case ComplexBotStance.AoEAtFocus: AoEAtFocusMovement(); break; case ComplexBotStance.Idle: IdleMovement(); break; case ComplexBotStance.Halt: HaltMovement(); break; case ComplexBotStance.DpsTargetBackMelee: DpsTargetBackMeleeMovement(); break; default: throw new NotImplementedException("The selected stance is not yet supported by Complexbot"); } }
/// <summary> /// Initializes a new instance of the <see cref="ComplexBot"/> class. /// </summary> /// <param name="rotaInterval">The value to assign the period of the RotationTimer. This must be an unsigned integer.</param> /// <param name="movementInterval">The value to assign the period of the MovementTimer. This must be an unsigned integer.</param> /// <param name="mplayerDPStype">The value to assign the bot DPS stance. This must be a <see cref="ComplexBotStance"/>.</param> /// <exception cref="ArgumentOutOfRangeException">Thrown when <paramref name="mplayerDPStype"/> is not an acceptable DPS type </exception> public ComplexBot(uint rotaInterval, uint movementInterval, ComplexBotStance mplayerDPStype) { SetupTimer(out rotaTimer, RotaEvent, rotaInterval, rotaInterval / 2); SetupTimer(out movementTimer, MovementEvent, movementInterval, movementInterval); this.playerDPStype = mplayerDPStype; }
public TestBot(uint rotaInterval, uint movementInterval, ComplexBotStance mplayerDPStype) : base(rotaInterval, movementInterval, mplayerDPStype) { }