Example #1
0
        private void Start()
        {
            var damage = new ColorDamage(damageValue, invincibleTime, this);

            this.OnCollisionEnter2DAsObservable()
            .Select(x => x.collider.GetComponent <Player>())
            .Where(x => x != null)
            .ThrottleFirst(TimeSpan.FromSeconds(1f))
            .Subscribe(x => x.ApplyDamage(damage))
            .AddTo(this);
        }
Example #2
0
        protected override void OnAttack(Collider2D collider2D)
        {
            var player = collider2D.GetComponent <Player>();

            if (player != null)
            {
                return;
            }
            var enemy = collider2D.GetComponent <Enemy>();

            if (enemy != null)
            {
                var damage = new ColorDamage(base.damageValue, base.invincibleTime, base.color);
                enemy.ApplyDamage(damage);
            }
            Destroy(this.gameObject);
        }