using System; using UnityEngine; public class BottomPump : MonoBehaviour { public bool Grounded { get; private set; } [SerializeField] private LayerMask layerMask; public Action GroundedChanged; private void Start() { GroundedChanged?.Invoke(GetGroundedState()); } private void FixedUpdate() { var groundedNow = GetGroundedState(); if (groundedNow == Grounded) return; Grounded = groundedNow; GroundedChanged?.Invoke(Grounded); } private bool GetGroundedState() { const float distance = .35f; return Physics.Raycast(transform.position, -transform.up, distance, layerMask); } }