引擎修改
This commit is contained in:
@@ -15,13 +15,13 @@ namespace AibisDream
|
||||
public Sprite nextTalk, talking, option, interactive, holding, disable, eye;
|
||||
|
||||
private Image _cursor;
|
||||
private RectTransform _cursorCanvas;
|
||||
|
||||
#region 状态相关
|
||||
|
||||
private Coroutine _switchCoroutine;
|
||||
private CursorState _curState = CursorState.Default;
|
||||
private bool _isTalking;
|
||||
[HideInInspector] public bool isInMenu;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -59,12 +59,18 @@ namespace AibisDream
|
||||
private void InitRefs()
|
||||
{
|
||||
_cursor = transform.Find("Cursor").GetComponent<Image>();
|
||||
_cursorCanvas = GetComponent<RectTransform>();
|
||||
}
|
||||
|
||||
private void RegisterEvent()
|
||||
{
|
||||
// 此处监听所有可能对鼠标状态产生影响的事件
|
||||
RegisterDialogEvent();
|
||||
RegisterTriggerEvent();
|
||||
RegisterMenu();
|
||||
}
|
||||
|
||||
private void RegisterDialogEvent()
|
||||
{
|
||||
// 对话相关
|
||||
_unRegisters.Add(EnumEventSystem.Global.Register<DialogEventEnum, DialogLine>(DialogEventEnum.LineStart,
|
||||
OnLineStart));
|
||||
@@ -74,7 +80,10 @@ namespace AibisDream
|
||||
_unRegisters.Add(
|
||||
EnumEventSystem.Global.Register<DialogEventEnum, DialogLine>(DialogEventEnum.OptionSelected,
|
||||
OnOptionSelect));
|
||||
}
|
||||
|
||||
private void RegisterTriggerEvent()
|
||||
{
|
||||
// 交互相关
|
||||
_unRegisters.Add(EnumEventSystem.Global.Register(InteractionEventEnum.Start, OnInteractiveStart));
|
||||
_unRegisters.Add(EnumEventSystem.Global.Register(InteractionEventEnum.End, OnInteractiveEnd));
|
||||
@@ -89,6 +98,22 @@ namespace AibisDream
|
||||
EnumEventSystem.Global.Register<TriggerEnum, IInteraction>(TriggerEnum.PointerUp, OnPointerUp));
|
||||
}
|
||||
|
||||
private void RegisterMenu()
|
||||
{
|
||||
_unRegisters.Add(EnumEventSystem.Global.Register<EventEnum, bool>(EventEnum.Menu, OnMenuChange));
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space))
|
||||
{
|
||||
if (_isTalking && !isInMenu)
|
||||
{
|
||||
DialogController.Instance.JumpLine();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
// // 将虚拟指针与鼠标位置同步
|
||||
@@ -190,6 +215,15 @@ namespace AibisDream
|
||||
|
||||
#endregion
|
||||
|
||||
#region 菜单打开
|
||||
|
||||
private void OnMenuChange(bool isMenuOpen)
|
||||
{
|
||||
isInMenu = isMenuOpen;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 指针切换
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user