Gravity Files Remake Code -
if (Input.GetButtonDown("FlipGravity")) GravityManager.Instance.FlipGravity(); float move = Input.GetAxis("Horizontal"); rb.velocity = new Vector2(move * speed, rb.velocity.y); // Adjust ground detection based on gravity direction Vector2 checkDirection = (GravityManager.Instance.currentGravity == GravityDirection.Down) ? Vector2.down : Vector2.up; isGrounded = Physics2D.Raycast(groundCheck.position, checkDirection, 0.1f, groundMask); // Flip player sprite visually transform.localScale = new Vector3(transform.localScale.x, (GravityManager.Instance.currentGravity == GravityDirection.Down) ? 1 : -1, 1);
public int fragmentID; public string encryptedMessage; void OnTriggerEnter2D(Collider2D player)
SaveSystem.SaveCheckpoint(position, GravityManager.Instance.currentGravity); // Activate visual beacon gravity files remake code
private Vector2 velocityBeforeFlip; void OnEnable() => EventManager.OnGravityFlip += StoreAndApply; void OnDisable() => EventManager.OnGravityFlip -= StoreAndApply;
3.1 Data Fragment (Collectible) public class DataFragment : MonoBehaviour if (Input
void OnCollisionEnter2D(Collision2D collision) if (collision.gameObject.CompareTag("Player")) GravityManager.Instance.FlipGravity();
public class GravityManager : MonoBehaviour float move = Input.GetAxis("Horizontal")
Purpose: Maintains horizontal/vertical velocity during gravity flips for advanced movement puzzles.