コード例 #1
0
 private void Start()
 {
     hpBar.MaxValue = MaxHp;
     GetHP()
     .Subscribe(hp => hpBar.Play(hp))
     .AddTo(gameObject);
 }
コード例 #2
0
    private void Start()
    {
        body.OnDamage()
        .Where(_ => !IsStan)
        .Subscribe(damage =>
        {
            bodyHp -= damage;
            // Dead判定
            if (bodyHp <= 0)
            {
                Stan();
            }
        });
        brain.OnDamage()
        .Where(_ => IsStan)
        .Subscribe(damage =>
        {
            brainHp.Value -= damage;
            if (brainHp.Value <= 0)
            {
                Dead();
            }
        });

        Observable.Interval(TimeSpan.FromSeconds(10))
        .Subscribe(_ =>
        {
            if (Random.Range(0, 100) < 70)
            {
                AttackLow();
            }
            else
            {
                AttackHigh();
            }
        })
        .AddTo(gameObject);

        hpBar.MaxValue = brainHp.Value;
        brainHp
        .Subscribe(hp => hpBar.Play(hp))
        .AddTo(gameObject);
    }