protected override void CollisionAfter(Collidable <MonkeyBoard> otherCollidable, CollisionStatus direction) { if (!(otherCollidable is Monkey) && !(otherCollidable is BasicWeapon) && otherCollidable is Collidable <MonkeyBoard> ) { RemoveMovement(PreviousMovement); if (direction == CollisionStatus.CollisionFromRight) { PreviousMovement = new SlideLeftRight(Board.CalculateFineness(-MovementSpeedProportion)); } else if (direction == CollisionStatus.CollisionFromLeft) { PreviousMovement = new SlideLeftRight(Board.CalculateFineness(MovementSpeedProportion)); } // changes the direction to reverse AddMovement(PreviousMovement); } base.CollisionAfter(otherCollidable, direction); }
protected override void InitializeMovement() { base.InitializeMovement(); PreviousMovement = new SlideLeftRight(Board.CalculateFineness(MovementSpeedProportion)); AddMovement(PreviousMovement); }