protected virtual void MakeActorFall() { if (activeActor == null || fallingPause > 0) { return; } if (Settings.DropActorAnimation) { activeActor.IsFalling = true; activeActor.FallingSpeed = GetGameSpeed(SettingOptions.GameSpeed.Falling); } else { for (; activeActor.Position.Y < playground.GetLength(1); activeActor.Position.Y++) { if (ActorCollideWithPlayground(activeActor.Position, activeActor.Shape)) { break; } } activeActor.Position.Y--; MoveActorDown(activeActor); Vibrations.Vibrate(50); } }
protected virtual void Bonus_Laser_MakeAction() { LaserActors(); LaserPlayground(); Vibrations.Vibrate(16 * 60); DeactivateBonus(); }
protected virtual void FinishDeleteFullLines() { RemoveFullLines(blinkLines); int linesCount = blinkLines.Count(); IncreaseScoreForLines(linesCount); Vibrations.Vibrate(25 * linesCount); if (actors.Count == 0) { CreateNewActor(); } blinkLines = new int[0]; }
protected virtual void MoveActorTowardsExplosion(Actor actor) { var newPosition = new Point(actor.Position.X, actor.Position.Y + 1); if (!ActorCollideWithPlayground(newPosition, actor.Shape)) { actor.Position = newPosition; } else { var extraPower = Game1.Random.Next(0, cubesExplosionExtraPowerProb) == cubesExplosionExtraPowerProb; ExplodeActor(actor, !extraPower ? cubesExplosionPower : cubesExplosionExtraPower); Vibrations.Vibrate(extraPower ? 350 : 150); if (actor == activeActor) { activeActor = null; } actors.Remove(actor); } }
public void VibrateSimple() { v.Vibrate(oneTimeShort); }