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);
 }
Пример #3
0
 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);
        }