// 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; } }
private void AttackMinion(Minion targetMinion) { Halt(); mMinionAttackMode = true; mMinionAttackBehaviour.AttackMinion(targetMinion); }
public void AutoAttackMinion(Minion targetMinion) { if (!mAttackMode && !mMovementMode && !mMinionAttackMode || AggressiveMovementMode) { AttackMinion((targetMinion)); } }
public void AttackMinion(Minion targetMinion) { mTargetMinion = targetMinion; AttackTarget(targetMinion); }
/// <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); } }
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; }