void Start() { //ダメージをうけたらHPを減らす OnDamaged .Subscribe(x => _HP = _HP - x.Value) .AddTo(gameObject); //HPが0になったら自分自身を破棄する OnDamaged .Where(x => _HP < 0) .Subscribe(x => Destroy(this.gameObject)) .AddTo(gameObject); //死んだ時の処理とイベント //OnDied //いまはとくになし }
void Awake() { _currentPlayerParameter = new ReactiveProperty <PlayerParameters>(DefaultPlayerParameter); //ダメージをうけたらHPを減らす OnDamaged .Subscribe(x => _HP = _HP - x.Value) .AddTo(gameObject); //HPが0になったら自分自身を破棄する OnDamaged .Where(x => _HP < 0) .Subscribe(x => { _deadSubject.OnNext(new DeadReason(this._playerid, null)); }) .AddTo(gameObject); //死にましたときの命令 OnDied .Subscribe(x => { Destroy(this.gameObject); }) .AddTo(gameObject); }