public Vector2 Update() { // INIT if (!dashing && InputWrapper.GetDash() && canDash) { dashTime = dashTimeMax; dashing = true; canDash = false; dashPostFix = false; if (super.isWall) // FIX { dashRight = super.wallNormal < 0; } else { dashRight = super.lookingRight; } } // DASH if (dashing) { realVel = new Vector2(dashSpeed * (dashRight ? 1 : -1), 0); super.overrideVel = realVel; if (dashTime > 0.03f && super.isWall) { dashing = false; } if (dashTime > 0) { dashTime -= Time.fixedDeltaTime; } else { dashing = false; } } // RESET ONCE if (!dashPostFix && !dashing) { dashPostFix = true; super.overrideVel.x = 0; //super.pmove.ZeroDirection(!dashRight); } return(Vector2.zero); }