feat(GazeReminder): 实现更多提示
This commit is contained in:
@@ -3,6 +3,7 @@ using UnityEngine;
|
||||
using Script.Gameplay.Player;
|
||||
using TMPro;
|
||||
using System.Collections.Generic;
|
||||
using Script.Gameplay.Interface;
|
||||
|
||||
namespace UI
|
||||
{
|
||||
@@ -11,11 +12,19 @@ namespace UI
|
||||
[SerializeField] private GameObject reminderInteractPrefab;
|
||||
[SerializeField] private GameObject reminderReadPrefab;
|
||||
[SerializeField] private GameObject reminderConnectPrefab;
|
||||
[SerializeField] private GameObject reminderSetPointPrefab;
|
||||
[SerializeField] private GameObject reminderSetLeftPointPrefab;
|
||||
[SerializeField] private GameObject reminderSetRightPointPrefab;
|
||||
[SerializeField] private GameObject reminderDeleteLinePrefab;
|
||||
[SerializeField] private GameObject reminderEditPrefab;
|
||||
[Header("Connect Status UI")]
|
||||
[SerializeField] private GameObject ConnectStatus;
|
||||
[SerializeField] private TMP_Text NeedCountText;
|
||||
[SerializeField] private TMP_Text CurrentCountText;
|
||||
|
||||
private PlayerInteractorController playerInteractorController;
|
||||
private PlayerConnectController playerConnectController;
|
||||
private PlayerDialogueController playerDialogueController;
|
||||
private PlayerEditController playerEditController;
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
@@ -23,6 +32,14 @@ namespace UI
|
||||
ControllerLocator.Instance.TryGetWait<PlayerInteractorController>(OnGetInteractorController);
|
||||
ControllerLocator.Instance.TryGetWait<PlayerConnectController>(OnGetConnectController);
|
||||
ControllerLocator.Instance.TryGetWait<PlayerDialogueController>(OnGetDialogueController);
|
||||
ControllerLocator.Instance.TryGetWait<PlayerEditController>(OnGetEditController);
|
||||
}
|
||||
|
||||
private void OnGetEditController(PlayerEditController obj)
|
||||
{
|
||||
playerEditController = obj;
|
||||
playerEditController.OnGazeEnterEditableComponent += (obj) => reminderEditPrefab.SetActive(true);
|
||||
playerEditController.OnGazeExitEditableComponent += (obj) => reminderEditPrefab.SetActive(false);
|
||||
}
|
||||
|
||||
private void OnGetInteractorController(PlayerInteractorController controller)
|
||||
@@ -35,17 +52,32 @@ namespace UI
|
||||
private void OnGetConnectController(PlayerConnectController controller)
|
||||
{
|
||||
playerConnectController = controller;
|
||||
playerConnectController.OnGazeEnter += (obj) =>
|
||||
playerConnectController.OnGazeEnterConnectable += (obj) =>
|
||||
{
|
||||
reminderConnectPrefab.SetActive(true);
|
||||
reminderSetPointPrefab.SetActive(true);
|
||||
reminderSetLeftPointPrefab.SetActive(true);
|
||||
reminderSetRightPointPrefab.SetActive(true);
|
||||
reminderDeleteLinePrefab.SetActive(true);
|
||||
// 更新连接状态UI
|
||||
ISignalReceiver connectableComponent = obj.GetComponent<ISignalReceiver>();
|
||||
if (connectableComponent != null)
|
||||
{
|
||||
ConnectStatus.SetActive(true);
|
||||
NeedCountText.text = connectableComponent.NeedSignalCount.ToString();
|
||||
CurrentCountText.text = connectableComponent.CurrentNeedSignalCount.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
ConnectStatus.SetActive(false);
|
||||
}
|
||||
};
|
||||
playerConnectController.OnGazeExit += (obj) =>
|
||||
playerConnectController.OnGazeExitConnectable += (obj) =>
|
||||
{
|
||||
reminderConnectPrefab.SetActive(false);
|
||||
reminderSetPointPrefab.SetActive(false);
|
||||
reminderSetLeftPointPrefab.SetActive(false);
|
||||
reminderSetRightPointPrefab.SetActive(false);
|
||||
reminderDeleteLinePrefab.SetActive(false);
|
||||
ConnectStatus.SetActive(false);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@ namespace UI
|
||||
private void OnGet(PlayerWatchModeController watchModeCtrl)
|
||||
{
|
||||
watchModeController = watchModeCtrl;
|
||||
modeText.text = "Watch Mode: " + watchModeController.CurrentWatchMode;
|
||||
watchModeController.OnEnterWatchMode += mode => modeText.text = "Watch Mode: " + mode;
|
||||
modeText.text = "Mode: " + watchModeController.CurrentWatchMode;
|
||||
watchModeController.OnEnterWatchMode += mode => modeText.text = "Mode: " + mode;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user