Aimbot-ParallelEnv/Assets/Script/InGame/HUDController.cs

77 lines
2.1 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class HUDController : MonoBehaviour
{
public bool chartOn = false;
public GameObject sideChannelObj;
public Toggle chartOnToggleObj;
public Button saveModelButton;
public TMP_InputField chartOnTimeOutInputObj;
public TMP_InputField enemyNumInputObj;
public float chartOnTimeOut = 1;
public int enemyNum = 3;
public float chartOnTimeOutDefault = 120f;
private float chatOntimeStart = 0;
private AimBotSideChannelController sideChannelController;
private MessageBoxController messageBox;
private void Start()
{
sideChannelController = sideChannelObj.GetComponent<AimBotSideChannelController>();
messageBox = gameObject.GetComponent<MessageBoxController>();
}
private void Update()
{
if (chartOn)
{
if (Time.time - chatOntimeStart >= chartOnTimeOut)
{
chartOn = false;
chartOnToggleObj.isOn = false;
}
}
}
public void OnChartOnToggleChange()
{
chatOntimeStart = Time.time;
chartOn = chartOnToggleObj.isOn;
}
public void OnEnemyNumTextChange()
{
try
{
enemyNum = Math.Abs(int.Parse(enemyNumInputObj.GetComponent<TMP_InputField>().text));
}
catch (NullReferenceException)
{
enemyNum = 3;
}
}
public void OnChartTimeOutTextChange()
{
try
{
chartOnTimeOut = Math.Abs(int.Parse(chartOnTimeOutInputObj.GetComponent<TMP_InputField>().text));
}
catch (NullReferenceException)
{
chartOnTimeOut = chartOnTimeOutDefault;
}
}
public void OnSaveModelButtonPressed()
{
// Send message to python to save model
sideChannelController.SendSideChannelMessage("Command", "SaveModel");
messageBox.PushMessage(new List<string> { "☑Model Will be Saved In Next Train Episode:)" }, new List<string> { messageBox.goodColor });
}
}