void SpecialFloorExit(GameObject collObj) { switch (collObj.tag) { case "SpecialFloor": SpecialPad padInst = collObj.GetComponent <SpecialPad>(); switch (padInst.padType) { case SpecialPad.Pad.Conveyor: if (timer > Time.time) { conveyorReset += addedSpeed; } else { addedSpeed -= padInst.conveyorSpeed; } break; case SpecialPad.Pad.Speed: speed /= padInst.speedMultiplier; break; default: break; } break; } }
void SpecialFloorEnter(GameObject collObj) { switch (collObj.tag) { case "SpecialFloor": SpecialPad padInst = collObj.GetComponent <SpecialPad>(); switch (padInst.padType) { case SpecialPad.Pad.Conveyor: addedSpeed += padInst.conveyorSpeed; break; case SpecialPad.Pad.Gravity: if (padInst.negativeGravity && Mathf.Sign(rig.gravityScale) > 0) { isGrounded = true; rig.gravityScale = 0 - rig.gravityScale; oLapA.localPosition = new Vector2(oLapA.localPosition.x, 0 - oLapA.localPosition.y); oLapB.localPosition = new Vector2(oLapB.localPosition.x, 0 - oLapB.localPosition.y); } else if (!padInst.negativeGravity && Mathf.Sign(rig.gravityScale) < 0) { isGrounded = true; rig.gravityScale = 0 - rig.gravityScale; oLapA.localPosition = new Vector2(oLapA.localPosition.x, 0 - oLapA.localPosition.y); oLapB.localPosition = new Vector2(oLapB.localPosition.x, 0 - oLapB.localPosition.y); } break; case SpecialPad.Pad.Bounce: Bounce(padInst.bounceForce, Vector2.up, 0f); break; case SpecialPad.Pad.Speed: speed *= padInst.speedMultiplier; break; default: break; } break; } }