Пример #1
0
    private void Start()
    {
        ssModel     = new SpaceshipModel(new Vector3(0, -9, -1));
        ssView      = GameObject.Find("PlayerSpaceship").AddComponent <SpaceshipView>();
        disposables = new CompositeDisposable();

        Observable.EveryUpdate()
        .Subscribe(_ =>
        {
            ssModel.UpdatePosition(Input.GetAxis("Vertical") * Time.deltaTime, Input.GetAxis("Horizontal") * Time.deltaTime);
        })
        .AddTo(disposables);

        ssModel.hp
        .ObserveEveryValueChanged(hp => hp.Value)
        .Where(hp => hp < 3)
        .Subscribe(hpValue =>
        {
            ssView.UpdateHP(hpValue);
            ssView.CloseFlag();
        })
        .AddTo(disposables);

        ssModel.position
        .ObserveEveryValueChanged(position => position.Value)
        .Subscribe(posValue =>
        {
            ssView.UpdatePosition(posValue);
        })
        .AddTo(disposables);

        ssView.isCollided
        .ObserveEveryValueChanged(isCollided => isCollided.Value)
        .Where(isCollidedValue => isCollidedValue == true)
        .Subscribe(isCollidedValue =>
        {
            ssModel.LoseHp();
        })
        .AddTo(disposables);

        MessageBroker.Default
        .Receive <DeathNotice>()
        .Where(msg => msg.objectType == SpaceObjectType.spaceship)
        .Subscribe(_ => {
            ssView.UpdateHP(0);
            SelfDestruct();
        })
        .AddTo(this);

        MessageBroker.Default
        .Receive <GameOverNotice>()
        .Subscribe(msg =>
        {
            disposables.Dispose();
        })
        .AddTo(this);
    }
Пример #2
0
        private SpaceshipModel GetTestSession()
        {
            var session = new SpaceshipModel()
            {
                ID = 1
            };

            return(session);
        }
 public async Task <ActionResult <PersonModel> > PostEvent(SpaceshipModel spaceshipModel)
 {
     try
     {
         _spaceshipRepo.Add(spaceshipModel);
         if (await _spaceshipRepo.Save())
         {
             return(Created($"/api/v1.0/Spaceship/{spaceshipModel.ID}", spaceshipModel));
         }
     }
     catch (Exception e)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, $"Database Failure: {e.Message}"));
     }
     return(BadRequest());
 }