using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Steijn
{
public class CaptureControllerAlphaL3 : MonoBehaviour
{
[Header("RayInfo")]
[SerializeField]
private float m_Range = 100f;
[SerializeField]
private Camera m_PlayerCam;
[Header("CaptureInfo")]
[SerializeField]
private GameObject m_PressEText;
[Header("TimeSettings")]
[SerializeField]
private float m_StartTime = 60;
[SerializeField]
private float m_CurrentTime;
[SerializeField]
private Vector2 m_MinMaxTime = new Vector2(0f, 60f);
[SerializeField]
private GameObject m_TimerText;
[SerializeField]
private Text m_TimeLeft;
[Header("BoolInfo")]
[SerializeField]
private bool m_AllowPressE = false;
void Start()
{
m_CurrentTime = m_StartTime;
}
void Update()
{
RaycastHit hit;
if (Physics.Raycast(m_PlayerCam.transform.position, m_PlayerCam.transform.forward, out hit, m_Range))
{
Debug.Log(hit.transform.name);
}
if (hit.transform != null)
{
if (hit.transform.name == "Computer" && FindObjectOfType<CaptureZoneL3>().m_PlayerInsideCapture == true)
{
if (m_TimerText.activeSelf == false)
{
m_PressEText.SetActive(true);
}
if (Input.GetKeyDown(KeyCode.E))
{
m_PressEText.SetActive(false);
m_TimerText.SetActive(true);
FindObjectOfType<CaptureZoneL3>().m_AllowCountDown = true;
}
}
if (hit.transform.name != "Computer")
{
m_PressEText.SetActive(false);
}
if (FindObjectOfType<CaptureZoneL3>().m_AllowCountDown == true)
{
if (m_CurrentTime >= m_MinMaxTime.x)
m_CurrentTime -= 1f * Time.deltaTime;
WriteText();
}
if (FindObjectOfType<CaptureZoneL3>().m_AllowCountDown == false && m_TimerText.activeSelf == true)
{
if (m_CurrentTime <= m_MinMaxTime.y)
m_CurrentTime += 1f * Time.deltaTime;
WriteText();
}
}
}
private void WriteText()
{
m_TimeLeft.text = System.Math.Round(m_CurrentTime) + " Seconds Left";
}
}
}
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Steijn
{
public class CaptureControllerAlphaL3 : MonoBehaviour
{
[Header("RayInfo")]
[SerializeField]
private float m_Range = 100f;
[SerializeField]
private Camera m_PlayerCam;
[Header("CaptureInfo")]
[SerializeField]
private GameObject m_PressEText;
[Header("TimeSettings")]
[SerializeField]
private float m_StartTime = 60;
[SerializeField]
private float m_CurrentTime;
[SerializeField]
private Vector2 m_MinMaxTime = new Vector2(0f, 60f);
[SerializeField]
private GameObject m_TimerText;
[SerializeField]
private Text m_TimeLeft;
[Header("BoolInfo")]
[SerializeField]
private bool m_AllowPressE = false;
void Start()
{
m_CurrentTime = m_StartTime;
}
void Update()
{
RaycastHit hit;
if (Physics.Raycast(m_PlayerCam.transform.position, m_PlayerCam.transform.forward, out hit, m_Range))
{
Debug.Log(hit.transform.name);
}
if (hit.transform != null)
{
if (hit.transform.name == "Computer" && FindObjectOfType<CaptureZoneL3>().m_PlayerInsideCapture == true)
{
if (m_TimerText.activeSelf == false)
{
m_PressEText.SetActive(true);
}
if (Input.GetKeyDown(KeyCode.E))
{
m_PressEText.SetActive(false);
m_TimerText.SetActive(true);
FindObjectOfType<CaptureZoneL3>().m_AllowCountDown = true;
}
}
if (hit.transform.name != "Computer")
{
m_PressEText.SetActive(false);
}
if (FindObjectOfType<CaptureZoneL3>().m_AllowCountDown == true)
{
if (m_CurrentTime >= m_MinMaxTime.x)
m_CurrentTime -= 1f * Time.deltaTime;
WriteText();
}
if (FindObjectOfType<CaptureZoneL3>().m_AllowCountDown == false && m_TimerText.activeSelf == true)
{
if (m_CurrentTime <= m_MinMaxTime.y)
m_CurrentTime += 1f * Time.deltaTime;
WriteText();
}
}
}
private void WriteText()
{
m_TimeLeft.text = System.Math.Round(m_CurrentTime) + " Seconds Left";
}
}
}