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(); }); }
public override void OnUpdate() { // Hit Check 0 List <Collider2D> hits = new List <Collider2D>(); hitCheck_0.OverlapCollider(contactFilter, hits); hitOverlapData.OverlapCheckOnce(hits); }
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); } }
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); } }