public override void Destroy(PlayerShipViewModel playerShip)
 {
     base.Destroy(playerShip);
     playerShip.IsAlive = false;
     //it is wrong albeit posssible to call the level manager here (tight coupling)
     //instead level manager will subscribe to destroy command executed
 }
 public override void Destroy(PlayerShipViewModel playerShip)
 {
     base.Destroy(playerShip);
     playerShip.IsAlive = false;
     //it is wrong albeit posssible to call the level manager here (tight coupling)
     //instead level manager will subscribe to destroy command executed
 }
Example #3
0
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     if (arg.Weapon != null)
     {
         arg.Weapon.FireRate += powerUpBase.Modifier;
     }
 }
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     if (arg.Weapon != null)
     {
         arg.Weapon.FireRate += powerUpBase.Modifier;
     }
 }
    public override void InitializePlayerShip(PlayerShipViewModel playerShip)
    {
        playerShip.FireTimeOutElapsed = true;
        playerShip.ShouldFireProperty.Subscribe(x => ShouldFireChanged(playerShip, x));

        //NOT GOOD IDEA !
        //SEPARATION OF CONCERNS
        //LEVEL MANAGER SHOULG DETERMINE IF GAME IS OVER NOT THE PLAYER SHIP
        //playerShip.Destroy.Subscribe(_ => { playerShip.ParentLevelManager.GameOver = true; });
    }
    protected override void InitializeViewModel(ViewModel viewModel)
    {
        PlayerShipViewModel playerShip = ((PlayerShipViewModel)(viewModel));

        playerShip.FireTimeOutElapsed = this._FireTimeOutElapsed;
        playerShip.AsteroidsDestroyed = this._AsteroidsDestroyed;
        playerShip.Weapon             = this._Weapon == null ? null : this._Weapon.ViewModelObject as BaseWeaponViewModel;
        playerShip.IsAlive            = this._IsAlive;
        playerShip.MovementSpeed      = this._MovementSpeed;
    }
    public override void InitializePlayerShip(PlayerShipViewModel playerShip)
    {
        playerShip.FireTimeOutElapsed = true;
        playerShip.ShouldFireProperty.Subscribe(x => ShouldFireChanged(playerShip, x));

        //NOT GOOD IDEA !
        //SEPARATION OF CONCERNS
        //LEVEL MANAGER SHOULG DETERMINE IF GAME IS OVER NOT THE PLAYER SHIP
        //playerShip.Destroy.Subscribe(_ => { playerShip.ParentLevelManager.GameOver = true; });
    }
 public override void Restart(PlayerShipViewModel playerShip)
 {
     base.Restart(playerShip);
     playerShip.IsAlive = true;
     //we should trigger restart function in the weapon not set the property here
     //and ofcourse check for null
     //we could have done this for the time that it took to write this text :)
     playerShip.Weapon.FireRate    = 500;
     playerShip.MovementSpeed      = 5;
     playerShip.AsteroidsDestroyed = 0;
 }
 private void ShouldFireChanged(PlayerShipViewModel playerShip, bool value)
 {
     if (value)
     {
         playerShip.FireTimeOutElapsed = false;
         Observable.Timer(TimeSpan.FromMilliseconds(playerShip.Weapon.FireRate)).Subscribe(x =>
         {
             playerShip.FireTimeOutElapsed = true;
         });
     }
 }
 private void ShouldFireChanged(PlayerShipViewModel playerShip, bool value)
 {
     if (value)
     {
         playerShip.FireTimeOutElapsed = false;
         Observable.Timer(TimeSpan.FromMilliseconds(playerShip.Weapon.FireRate)).Subscribe(x =>
         {
             playerShip.FireTimeOutElapsed = true;
         });
     }
 }
 public override void Restart(PlayerShipViewModel playerShip)
 {
     base.Restart(playerShip);
     playerShip.IsAlive = true;
     //we should trigger restart function in the weapon not set the property here
     //and ofcourse check for null
     //we could have done this for the time that it took to write this text :)
     playerShip.Weapon.FireRate = 500;
     playerShip.MovementSpeed = 5;
     playerShip.AsteroidsDestroyed = 0;
 }
Example #12
0
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     //globally registered instance !
     LevelManager.ShowNotification.Execute(powerUpBase.Description);
 }
 public virtual void ExecuteApplyPowerUp(PlayerShipViewModel playerShip)
 {
     this.ExecuteCommand(PowerUpBase.ApplyPowerUp, playerShip);
 }
 /// Subscribes to the property and is notified anytime the value changes.
 public virtual void PlayerChanged(PlayerShipViewModel value)
 {
 }
 public virtual void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
 }
 public virtual void Restart(PlayerShipViewModel playerShip)
 {
 }
 public abstract void InitializePlayerShip(PlayerShipViewModel playerShip);
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     //globally registered instance !
     LevelManager.ShowNotification.Execute(powerUpBase.Description);
 }
Example #19
0
 /// Subscribes to the property and is notified anytime the value changes.
 public override void PlayerChanged(PlayerShipViewModel ship)
 {
     base.PlayerChanged(ship);
 }
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     arg.MovementSpeed += powerUpBase.Modifier;
 }
Example #21
0
 public virtual void Restart(PlayerShipViewModel playerShip)
 {
 }
 public virtual void ExecuteApplyPowerUp(PlayerShipViewModel playerShip)
 {
     this.ExecuteCommand(PowerUpBase.ApplyPowerUp, playerShip);
 }
Example #23
0
 public virtual void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
 }
 public override void ApplyPowerUp(PowerUpBaseViewModel powerUpBase, PlayerShipViewModel arg)
 {
     base.ApplyPowerUp(powerUpBase, arg);
     arg.MovementSpeed+= powerUpBase.Modifier;
 }
 public virtual void Destroy(PlayerShipViewModel playerShip)
 {
 }
Example #26
0
 public abstract void InitializePlayerShip(PlayerShipViewModel playerShip);
 /// Subscribes to the property and is notified anytime the value changes.
 public virtual void PlayerChanged(PlayerShipViewModel value)
 {
 }
Example #28
0
 public virtual void Destroy(PlayerShipViewModel playerShip)
 {
 }
 /// Subscribes to the property and is notified anytime the value changes.
 public override void PlayerChanged(PlayerShipViewModel ship)
 {
     base.PlayerChanged(ship);
 }