|
|
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using NaughtyAttributes;
- using Unity.VisualScripting;
- using UnityEngine.Events;
-
- /// <summary>
- ///
- /// </summary>
- public class BoatRowController : MonoBehaviour
- {
-
- #region Inspector Fields
- public Transform m_oarTip;
- public UnityEvent m_OnRow;
- #endregion Inspector Fields
-
- #region Private Fields
- private Vector3 m_lastKnownOarPosition;
- #endregion Private Fields
-
- #region Getters
-
- #endregion Getters
-
-
-
- #region MonoBehaviour Functions
- /// <summary>
- /// OnEnable is called when the object becomes enabled and active.
- /// </summary>
- private void OnEnable()
- {
-
- }
-
- /// <summary>
- /// OnDisable is called when the behaviour becomes disabled.
- /// </summary>
- private void OnDisable()
- {
-
- }
-
- /// <summary>
- /// Update is called once per frame
- /// </summary>
- private void Update()
- {
-
- }
-
- #endregion MonoBehaviour Functions
-
- #region Class Functionality
-
- private void OnTriggerEnter(Collider other)
- {
- OarController oar = other.GetComponentInParent<OarController>();
- if (oar != null)
- {
- m_lastKnownOarPosition = m_oarTip.position;
- }
- }
-
- void OnTriggerStay(Collider other)
- {
- OarController oar = other.GetComponentInParent<OarController>();
- if(oar != null)
- {
- Vector3 direction = m_lastKnownOarPosition - m_oarTip.position;
- direction = Vector3.Project(direction,transform.forward);
-
- float directionality = Vector3.Dot(direction,transform.forward);
-
- if (directionality > 0)
- {
- // Debug.Log($"Row! ({directionality})");
- m_OnRow.Invoke();
- }
- else
- {
- // Debug.Log($"No Row: {directionality}");
- }
- m_lastKnownOarPosition=m_oarTip.position;
- }
- else
- {
- // Debug.Log($"Not Oar: {other.gameObject}");
- }
-
- }
-
-
-
- #endregion Class Functionality
-
- #region Editor Functions
- /// <summary>
- /// Called when the Component is created or Reset from the Inspector
- /// </summary>
- private void Reset()
- {
- //useful for finding components on creation
- }
- #endregion Editor Functions
-
- }
|