Example #1
0
        protected override void Load()
        {
            EveryUpdate
            .Subscribe(_ => transform.LookAt(Vector3.zero))
            .AddTo(_disposables);

            _collision.OnTriggerEnterAsObservable()
            .Where(it => it.CompareTag("CircleOfFire"))
            .Do(_ => canMove = false)
            .Subscribe()
            .AddTo(_disposables);

            _collision.OnTriggerExitAsObservable()
            .Where(it => it.CompareTag("CircleOfFire"))
            .Do(_ => canMove = true)
            .Subscribe()
            .AddTo(_disposables);

            EveryUpdate
            .Where(_ => canMove)
            .Subscribe(_ => transform.Translate(Vector3.forward * Time.deltaTime))
            .AddTo(_disposables);


            Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f))
            .Do(_ => Jump(true))
            .Wait(0.5f)
            .Do(_ => Jump(false))
            .Subscribe()
            .AddTo(_disposables);
        }
Example #2
0
 private void StopShootingSubscription()
 {
     EveryUpdate
     .Do(_ => _stopShootingTimer -= Time.deltaTime)
     .Where(_ => _stopShootingTimer < 0)
     .Subscribe(_ => _waterEmission.enabled = false)
     .AddTo(_disposables);
 }
Example #3
0
        protected override void Load()
        {
            _allHumedals = FindObjectsOfType <Humedal>().ToList();

            EveryUpdate
            .Where(_ => _allHumedals.All(it => it.IsBurnt()))
            .First()
            .Subscribe(_ => EventStream.Send(Events.Defeat()));
        }
Example #4
0
 protected override void Load()
 {
     EveryUpdate
     .Do(_ => _fireSpawnTimer -= Time.deltaTime)
     .Where(_ => _fireSpawnTimer < 0)
     .Select(_ => GeneratePosition())
     .Do(SpawnFire)
     .Subscribe()
     .AddTo(_disposables);
 }
        protected override void Load()
        {
            SetRadius();

            EveryUpdate
            .TakeWhile(_ => StateIsInRange)
            .Where(_ => AllHumedalsOfRingAreDead(state))
            .Do(_ => AdvanceState())
            .Where(_ => StateIsInRange)
            .Do(_ => SetRadius())
            .Subscribe()
            .AddTo(_disposables);
        }
Example #6
0
        private void GoTowardsNearestHumedalSubscription()
        {
            EveryUpdate
            .Where(_ => _beingKnockedBackTimer <= 0)
            .Select(_ => FindClosestAliveHumedal())
            .Where(HumedalIsNotNull)
            .Subscribe(MoveTowardsTarget)
            .AddTo(_disposables);

            EveryUpdate
            .Where(_ => _beingKnockedBackTimer > 0)
            .Do(_ => _beingKnockedBackTimer -= Time.deltaTime)
            .Subscribe()
            .AddTo(_disposables);
        }
Example #7
0
        protected override void Load()
        {
            _humedales = FindObjectsOfType <Humedal>().ToList();

            _actualHumedal     = FindClosestAliveHumedal();
            transform.position = _actualHumedal.transform.position;
            GenerateRandomPosition();

            EveryUpdate
            .Where(_ => !_actualHumedal.IsBurnt())
            .Where(_ => canMove)
            .Subscribe(_ => JumpAroundHumedal())
            .AddTo(_disposables);

            EveryUpdate
            .Where(_ => _actualHumedal.IsBurnt())
            .Subscribe(_ => GoToOtherHumedal())
            .AddTo(_disposables);
        }