Assets\Hover\HoverBoardControl.cs(152,52): error CS0122: 'TrickManager.shoveItKey' is inaccessible due to its protection level

Assets\Hover\HoverBoardControl.cs(148,52): error CS0122: 'TrickManager.heelflipKey' is inaccessible due to its protection level

Assets\Hover\HoverBoardControl.cs(144,47): error CS0122: 'TrickManager.kickflipKey' is inaccessible due to its protection level

Assets\Hover\HoverBoardControl.cs(142,102): error CS0122: 'TrickManager.IsBoardInAir()' is inaccessible due to its protection level

Assets\Hover\HoverBoardControl.cs(142,69): error CS1061: 'TrickManager' does not contain a definition for 'IsBoardJumping' and no accessible extension method 'IsBoardJumping' accepting a first argument of type 'TrickManager' could be found (are you missing a using directive or an assembly reference?)

using SplineMesh;
using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;

public class InteractionManager : MonoBehaviour
{
    private TrickManager trickManager;

    // Start is called before the first frame update
    void Start()
    {
        trickManager = GetComponent<TrickManager>();

        // Subscribe to the OnGrindEnter event
        trickManager.OnGrindEnter += OnGrindEnterHandler;
    }

    private void OnDestroy()
    {
        // Unsubscribe from the OnGrindEnter event to avoid memory leaks
        trickManager.OnGrindEnter -= OnGrindEnterHandler;
    }

    private void OnGrindEnterHandler(GameObject grindRail)
    {
        // Your logic when the grind event is triggered
        // For example, you can access grindRail and perform actions
        Debug.Log("OnGrindEnter event triggered!");
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Grind"))
        {
            trickManager.OnGrindEnter(other.transform.parent.gameObject);
        }
    }

    private void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Grind"))
        {
            trickManager.OnGrindExit();
        }
    }
}

using UnityEngine;
using UnityEngine.UI;

[RequireComponent(typeof(Rigidbody))]
public class HoverBoardControl : MonoBehaviour
{
    Rigidbody m_body;
    float m_deadZone = 0.1f;

    public float m_hoverForce = 9.0f;
    public float m_hoverHeight = 2.0f;
    public GameObject[] m_hoverPoints;

    public float m_forwardAcl = 100.0f;
    public float m_backwardAcl = 25.0f;
    public float m_currThrust = 0.0f;

    public float m_turnStrength = 10f;
    float m_currTurn = 0.0f;

    public GameObject m_leftAirBrake;
    public GameObject m_rightAirBrake;
    Vector3 m_ZAxis;
    public GameObject grindBoard;

    public float timer = 5;

    public bool Grind;
    public Text scoreText;
    public int currentScore;

    public bool moving;

    public GameObject board;

    int m_layerMask;

    private HUD hud;
    private TrickManager trickManager;

    void Awake()
    {
        hud = GameObject.FindObjectOfType<HUD>();
        trickManager = GetComponent<TrickManager>();
    }

    void Start()
    {
        m_body = GetComponent<Rigidbody>();
        m_layerMask = 1 << LayerMask.NameToLayer("Characters");
        m_layerMask = ~m_layerMask;
    }

    void OnDrawGizmos()
    {
        // Hover Force
        RaycastHit hit;
        for (int i = 0; i < m_hoverPoints.Length; i++)
        {
            var hoverPoint = m_hoverPoints[i];
            if (Physics.Raycast(hoverPoint.transform.position,
                                -Vector3.up, out hit,
                                m_hoverHeight,
                                m_layerMask))
            {
                Gizmos.color = Color.blue;
                Gizmos.DrawLine(hoverPoint.transform.position, hit.point);
                Gizmos.DrawSphere(hit.point, 0.5f);
            }
            else
            {
                Gizmos.color = Color.red;
                Gizmos.DrawLine(hoverPoint.transform.position,
                               hoverPoint.transform.position - Vector3.up * m_hoverHeight);
            }
        }
    }

    void Update()
    {
        scoreText.text = currentScore + " Points";

        if (Input.GetKeyDown(KeyCode.Space))
        {
            m_hoverForce = 1500f;
            m_hoverHeight += 0.05f;
            if (m_hoverHeight >= 6f)
            {
                m_hoverHeight = 6f;
            }
        }
        else
        {
            m_hoverHeight -= 0.03f;
            if (m_hoverHeight <= 5f)
            {
                m_hoverHeight = 5f;
            }
        }

        if (hud != null)
        {
            if (Input.GetKeyDown(KeyCode.LeftControl) && (hud.BoostInt > 0))
            {
                m_forwardAcl = m_forwardAcl * 2;
                m_backwardAcl = m_backwardAcl * 2;

                if (hud.BoostInt <= 0)
                {
                    m_forwardAcl = m_forwardAcl / 2;
                    m_backwardAcl = m_backwardAcl / 2;
                }
            }

            if (Input.GetKey(KeyCode.LeftControl))
            {
                hud.BoostInt -= 0.2f;
            }
        }

        float minRotation = -20;
        float maxRotation = 0;
        Vector3 currentRotation = transform.localRotation.eulerAngles;
        currentRotation.z = Mathf.Clamp(currentRotation.z, minRotation, maxRotation);
        transform.localRotation = Quaternion.Euler(new Vector3(0, currentRotation.y, 0));

        // Main Thrust
        m_currThrust = 0.0f;
        float aclAxis = Input.GetAxis("Vertical");
        if (aclAxis > m_deadZone)
            m_currThrust = aclAxis * m_forwardAcl;
        else if (aclAxis < -m_deadZone)
            m_currThrust = aclAxis * m_backwardAcl;

        // Turning
        m_currTurn = 0.0f;
        float turnAxis = Input.GetAxis("Horizontal");
        if (Mathf.Abs(turnAxis) > m_deadZone)
            m_currTurn = turnAxis;

        // Trick execution
        if ((m_currThrust > 0 || m_currThrust < 0) && (trickManager.IsBoardJumping() || trickManager.IsBoardInAir()))
        {
            if (Input.GetKeyDown(trickManager.kickflipKey))
            {
                trickManager.ExecuteKickflip();
            }
            else if (Input.GetKeyDown(trickManager.heelflipKey))
            {
                trickManager.ExecuteHeelflip();
            }
            else if (Input.GetKeyDown(trickManager.shoveItKey))
            {
                trickManager.ExecuteShoveIt();
            }
        }
    }

    void FixedUpdate()
    {
        // Hover Force
        RaycastHit hit;
        for (int i = 0; i < m_hoverPoints.Length; i++)
        {
            var hoverPoint = m_hoverPoints[i];
            if (Physics.Raycast(hoverPoint.transform.position,
                                -Vector3.up, out hit,
                                m_hoverHeight,
                                m_layerMask))
                m_body.AddForceAtPosition(Vector3.up
                  * m_hoverForce
                  * (1.0f - (hit.distance / m_hoverHeight)),
                                          hoverPoint.transform.position);
            else
            {
                if (transform.position.y > hoverPoint.transform.position.y)
                    m_body.AddForceAtPosition(
                      hoverPoint.transform.up * m_hoverForce,
                      hoverPoint.transform.position);
                else
                    m_body.AddForceAtPosition(
                      hoverPoint.transform.up * -m_hoverForce,
                      hoverPoint.transform.position);
            }

            if (hit.transform != null)
            {
                if (hit.transform.tag.Equals("Grind"))
                {
                    if (m_currThrust >= 1)
                    {
                        currentScore += 1;
                    }
                }
                if (hit.transform.tag.Equals("Score"))
                {
                    currentScore += 50;
                    hit.collider.gameObject.GetComponent<BoxCollider>().enabled = false;
                }
                if (hit.transform.tag.Equals("Score2"))
                {
                    currentScore += 25;
                    hit.collider.gameObject.GetComponent<BoxCollider>().enabled = false;
                }
            }
        }

        // Forward
        if (Mathf.Abs(m_currThrust) > 0)
            m_body.AddForce(transform.forward * m_currThrust);

        // Turn
        if (m_currTurn > 0)
        {
            m_body.AddRelativeTorque(Vector3.up * m_currTurn * m_turnStrength);
        }
        else if (m_currTurn < 0)
        {
            m_body.AddRelativeTorque(Vector3.up * m_currTurn * m_turnStrength);
        }
    }
}

using SplineMesh;
using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;

public class InteractionManager : MonoBehaviour
{
    private TrickManager trickManager;

    // Start is called before the first frame update
    void Start()
    {
        trickManager = GetComponent<TrickManager>();

        // Subscribe to the OnGrindEnter event
        trickManager.OnGrindEnter += OnGrindEnterHandler;
    }

    private void OnDestroy()
    {
        // Unsubscribe from the OnGrindEnter event to avoid memory leaks
        trickManager.OnGrindEnter -= OnGrindEnterHandler;
    }

    private void OnGrindEnterHandler(GameObject grindRail)
    {
        // Your logic when the grind event is triggered
        // For example, you can access grindRail and perform actions
        Debug.Log("OnGrindEnter event triggered!");
    }

    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Grind"))
        {
            trickManager.OnGrindEnter(other.transform.parent.gameObject);
        }
    }

    private void OnTriggerExit(Collider other)
    {
        if (other.CompareTag("Grind"))
        {
            trickManager.OnGrindExit();
        }
    }
}