public void DoPowerUpStopped(PowerUp powerUp, SimPlayer p) { if (powerUp.NeedInput) { p.Position = powerUp.Position; NotifyPlayerMoved(p); } if (powerUp.Type == PowerUpType.FinalSolution && ((PowerUpLastSolution) powerUp).GoAhead) DoPowerUpUse(p); p.UpdateSelection(); }
private void DoPowerUpUse(SimPlayer player) { if (player.PowerUpInUse == PowerUpType.None) return; PowerUp p = Simulator.PowerUpsFactory.Availables[player.PowerUpInUse]; if (!p.PayOnUse) return; CommonStash.Cash -= p.UsePrice; NotifyCommonStashChanged(CommonStash); player.UpdateSelection(); if (CommonStash.Cash < p.UsePrice) NotifyDesactivatePowerUpAsked(player.PowerUpInUse, player); }
public void DoPowerUpStarted(PowerUp powerUp, SimPlayer p) { if (powerUp.Type == PowerUpType.FinalSolution) ((PowerUpLastSolution) powerUp).Selection = p.ActualSelection; p.UpdateSelection(); }