예제 #1
0
    protected override void InitEvents()
    {
        overlapCheckData = new OverlapCheckData(
            onEnter: overlap =>
        {
            // Deal Damage
            PlayerStats.Inst.DealDamage(flameDashAttackData, overlap.gameObject);
        });

        onDashing = this.NewPlayerActionEvent(() =>
        {
            // Check Overlap
            overlapCheckData.OverlapCheckOnce(Physics2D.OverlapBoxAll(GM.PlayerPos, damageSize, 0f, damageLayer));

            // Play Particle Effect
            flameParticle.Play();
        });

        onDashEnd = this.NewPlayerActionEvent(() =>
        {
            // Clear Overlap Data
            overlapCheckData.Clear();

            // Stop Particle Effect
            flameParticle.Stop();
        });
    }
예제 #2
0
    public override void OnUpdate()
    {
        // Hit Check 0
        List <Collider2D> hits = new List <Collider2D>();

        hitCheck_0.OverlapCollider(contactFilter, hits);
        hitOverlapData.OverlapCheckOnce(hits);
    }
예제 #3
0
 public override void OnUpdate()
 {
     // Hit Check 0
     if (hitCheck_Start)
     {
         hitCheck_Start = !hitCheck_End;
         List <Collider2D> hits = new List <Collider2D>();
         hitCheck_RB.OverlapCollider(contactFilter, hits);
         hitOverlapData.OverlapCheckOnce(hits);
     }
 }
예제 #4
0
    public override void OnUpdate()
    {
        void HitCheck(int index)
        {
            if (!hitCheck_Start[index])
            {
                return;
            }

            hitCheck_Start[index] = !hitCheck_End[index];
            List <Collider2D> hits = new List <Collider2D>();

            hitCheck_RB[index].OverlapCollider(contactFilter, hits);
            hitOverlapData.OverlapCheckOnce(hits);
        }

        for (int i = 0; i < hitCheck_RB.Length; i++)
        {
            HitCheck(i);
        }
    }