示例#1
0
 // TODO: Not Adjusted for Deathstar (Moving target)
 public MinionMovement(IMinionContainer initialContainer, IMinionContainer targetContainer, Minion owner)
 {
     mOwner = owner;
       mOwner.Position = initialContainer.Position;
       mMovement = new FreeMovement(mOwner);
       Vector2? startPos = mMovement.MoveTo(targetContainer);
       if (startPos != null)
       {
     mOwner.Position = (Vector2)startPos;
       }
 }
示例#2
0
 private void AttackMinion(Minion targetMinion)
 {
     Halt();
       mMinionAttackMode = true;
       mMinionAttackBehaviour.AttackMinion(targetMinion);
 }
示例#3
0
 public void AutoAttackMinion(Minion targetMinion)
 {
     if (!mAttackMode && !mMovementMode && !mMinionAttackMode || AggressiveMovementMode)
       {
     AttackMinion((targetMinion));
       }
 }
 public void AttackMinion(Minion targetMinion)
 {
     mTargetMinion = targetMinion;
       AttackTarget(targetMinion);
 }
示例#5
0
 /// <summary>
 /// The IMinionAttacker attacker attacks target Minion, iff the attacker is idle, thsus not moving or already attacking someone 
 /// </summary>
 /// <param name="attacker"></param>
 /// <param name="target"></param>
 public void AutoAttackMinion(IMinionAttacker attacker, Minion target)
 {
     if (attacker.Allegiance != target.Allegiance)
       {
     attacker.AutoAttackMinion(target);
       }
 }
示例#6
0
 public Minion MoveMinions(IMinionContainer initialContainer, IMinionContainer targetContainer)
 {
     // %maxi% ich hab mal gemacht dass 25% geschickt werden
       var minionsToMove = (int) (initialContainer.MinionCount*.25f);
       initialContainer.MinionCount -= minionsToMove;
       var minion = new Minion(initialContainer, targetContainer, initialContainer.Allegiance, minionsToMove);
       return minion;
 }