private void SetCollisionRefreshObserver() { this.OnCollisionEnter2DAsObservable() .Where(otherCollision2D => TagLayerUtil.IsEqual(otherCollision2D.gameObject.tag, GameTags.Bounds) || TagLayerUtil.IsEqual(otherCollision2D.gameObject.tag, GameTags.NPC)) .Subscribe(_ => RefreshMovement()) .AddTo(this); }
private void SetBoundsCollisionObserver() { this.OnCollisionEnter2DAsObservable() .Where(otherCollision2D => TagLayerUtil.IsEqual(otherCollision2D.gameObject.tag, GameTags.Bounds)) .Subscribe(_ => { Destroy(this.gameObject); }) .AddTo(this); }
private void Start() { this.OnTriggerEnter2DAsObservable() .Where(otherCollider2D => TagLayerUtil.IsTagPlayer(otherCollider2D.gameObject.tag)) .Subscribe(otherCollider2D => { //LogUtil.PrintInfo(this, GetType(), "Trigger tag is: " + otherCollider2D.gameObject.tag); GiveItemToPlayer(); }) .AddTo(this); }
protected override void Start() { base.Start(); SetBoundsCollisionObserver(); m_targetDetector.m_isTargetDetected .Where(isDetected => isDetected) .Subscribe(_ => { m_skillDefault.UseSkill(); if (TagLayerUtil.IsEligibleForPlayerScoring(m_isFromPlayer, m_targetDetector.m_targets[0].gameObject.tag)) { m_scoreSetter.IncreaseScoreBy(m_onHitScoreValue); } }) .AddTo(this); }