Aimbot-ParallelEnv/Assets/Script/Play/TargetUIController.cs
Koha9 5226f1dbbf V3.2.2 开始创建MultiLevel
使用Multi level使AI适应更复杂环境
基本Level创建完成
UI逻辑创建中
2023-08-23 02:58:50 +09:00

89 lines
2.7 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class TargetUIController : MonoBehaviour
{
// Controller to control the UI of the target,
// select target type, select prefeb to set or sth.
public GameObject targetControllerObj;
public GameObject mouseSelectorObj;
public GameObject environmentUIObj;
public Button setAttackButton;
public Button setGotoButton;
public Button setFreeButton;
public Button setStayButton;
private MouseInMap mouseInMapCon;
private EnvironmentUIControl envUICon;
private TargetController targetCon;
private void Start()
{
targetCon = targetControllerObj.GetComponent<TargetController>();
mouseInMapCon = mouseSelectorObj.GetComponent<MouseInMap>();
envUICon = environmentUIObj.GetComponent<EnvironmentUIControl>();
ClearGamePressed();
}
public void ClearGamePressed()
{
// Clear all enemies and targets. set gamemode to Stay mode
targetCon.StayModeChange();
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.Default);
// disable setStayButton and enable other buttons
setStayButton.interactable = false;
setAttackButton.interactable = true;
setGotoButton.interactable = true;
setFreeButton.interactable = true;
targetCon.PlayInitialize();
}
public void SetEnemyPressed()
{
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.EnemySet);
}
public void SetGotoPressed()
{
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.GotoSet);
setStayButton.interactable = true;
setAttackButton.interactable = true;
setGotoButton.interactable = false;
setFreeButton.interactable = true;
}
public void SetAttackPressed()
{
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.AttackSet);
setStayButton.interactable = true;
setAttackButton.interactable = false;
setGotoButton.interactable = true;
setFreeButton.interactable = true;
}
public void SetFreePressed()
{
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.Default);
targetCon.FreeModeChange();
setStayButton.interactable = true;
setAttackButton.interactable = true;
setGotoButton.interactable = true;
setFreeButton.interactable = false;
}
public void SetStayPressed()
{
mouseInMapCon.ChangeMouseMode(MouseInMap.MouseMode.Default);
targetCon.StayModeChange();
setStayButton.interactable = false;
setAttackButton.interactable = true;
setGotoButton.interactable = true;
setFreeButton.interactable = true;
}
public void ShowLevelMenu(GameObject levelPanel)
{
}
}