75 lines
2.3 KiB
C#
75 lines
2.3 KiB
C#
using UnityEngine;
|
|
|
|
public class SteerBoatScript : MonoBehaviour
|
|
{
|
|
private Boat currntBoat;
|
|
|
|
private bool wasSteeringClicked;
|
|
|
|
private string infoText;
|
|
|
|
private void Start()
|
|
{
|
|
currntBoat = Object.FindObjectOfType<Boat>();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (GameManager.Instance.ChechIfPlayerShouldBeStoppedFromDoingAnything() || FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel == null)
|
|
{
|
|
return;
|
|
}
|
|
if (GameManager.Instance.player.GetButtonTimePressed("isStartStopSteringBoat") >= 1.0 && !wasSteeringClicked)
|
|
{
|
|
wasSteeringClicked = true;
|
|
FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel.circleImage.fillAmount = 0f;
|
|
if (currntBoat.currentPlayerCharacter.currentRod != null)
|
|
{
|
|
GameManager.Instance.ShowMessagePopup(LanguageManager.Instance.GetText("START_SEERING_BOAT_WITH_ROD"), FScriptsHandler.Instance.m_Canvas.transform);
|
|
return;
|
|
}
|
|
string key = "R";
|
|
if (currntBoat.currentSitPointIndex == 0 && !currntBoat.currentPlayerCharacter.currentRod)
|
|
{
|
|
currntBoat.currentSitPointIndex = 1;
|
|
infoText = LanguageManager.Instance.GetText("BOAT_STOP_STERING_KEY");
|
|
FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel.Set(infoText, key, 3);
|
|
currntBoat.ShowHideUIPanel();
|
|
}
|
|
else
|
|
{
|
|
currntBoat.currentSitPointIndex = 0;
|
|
infoText = LanguageManager.Instance.GetText("BOAT_START_STERING_KEY");
|
|
FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel.Set(infoText, key, 3);
|
|
currntBoat.ShowHideUIPanel(isHide: true);
|
|
}
|
|
}
|
|
if ((bool)FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel && !wasSteeringClicked)
|
|
{
|
|
FScriptsHandler.Instance.m_HudManager.currentSteerBoatPanel.circleImage.fillAmount = (float)GameManager.Instance.player.GetButtonTimePressed("isStartStopSteringBoat");
|
|
}
|
|
if (GameManager.Instance.player.GetButtonUp("isStartStopSteringBoat"))
|
|
{
|
|
wasSteeringClicked = false;
|
|
}
|
|
}
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
if (LayerMask.NameToLayer("Player") == other.gameObject.layer)
|
|
{
|
|
Debug.Log("OnTriggerEnter");
|
|
FScriptsHandler.Instance.m_HudManager.ShowSteerBoatPanel(hide: false);
|
|
}
|
|
}
|
|
|
|
private void OnTriggerExit(Collider other)
|
|
{
|
|
if (LayerMask.NameToLayer("Player") == other.gameObject.layer)
|
|
{
|
|
Debug.Log("OnTriggerExit");
|
|
FScriptsHandler.Instance.m_HudManager.ShowSteerBoatPanel(hide: true);
|
|
}
|
|
}
|
|
}
|