From cb3eff896d87e412b6b49cdda6edf1813362f600 Mon Sep 17 00:00:00 2001
From: Ding Yuntian <1491671119@qq.com>
Date: Thu, 16 Jan 2025 11:37:14 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=B3=BB=E7=BB=9F=E6=89=A9?=
=?UTF-8?q?=E5=B1=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/Scenes/Persistence.unity | 193 +-----------------
Assets/Scripts/Dialog System/LineView.cs | 17 +-
.../Framework/OtherKit/EventSystemEx.cs | 29 +++
.../Framework/OtherKit/EventSystemEx.cs.meta | 11 +
Assets/Scripts/UI/Cursor/CursorManager.cs | 12 +-
5 files changed, 65 insertions(+), 197 deletions(-)
create mode 100644 Assets/Scripts/Framework/OtherKit/EventSystemEx.cs
create mode 100644 Assets/Scripts/Framework/OtherKit/EventSystemEx.cs.meta
diff --git a/Assets/Scenes/Persistence.unity b/Assets/Scenes/Persistence.unity
index 5c23d389e..c77265fc4 100644
--- a/Assets/Scenes/Persistence.unity
+++ b/Assets/Scenes/Persistence.unity
@@ -6198,7 +6198,7 @@ Transform:
m_GameObject: {fileID: 519420028}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: -10}
+ m_LocalPosition: {x: -0.009999275, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -10517,7 +10517,6 @@ RectTransform:
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- - {fileID: 1210536473}
- {fileID: 731599308}
- {fileID: 614046222}
- {fileID: 761395783}
@@ -11176,73 +11175,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1090155682}
m_CullTransparentMesh: 1
---- !u!1 &1095691305
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1095691306}
- - component: {fileID: 1095691307}
- - component: {fileID: 1095691308}
- m_Layer: 0
- m_Name: Advance Input
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &1095691306
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1095691305}
- serializedVersion: 2
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 1936621685}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1095691307
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1095691305}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 097b95c9f69f04f2d8c08a817e7786af, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- dialogueView: {fileID: 1584263515}
- continueActionType: 1
- continueActionKeyCode: 32
- continueActionButtonName: Jump
- continueActionOnButtonRelease: 0
---- !u!114 &1095691308
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1095691305}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 097b95c9f69f04f2d8c08a817e7786af, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- dialogueView: {fileID: 1584263515}
- continueActionType: 1
- continueActionKeyCode: 323
- continueActionButtonName: Jump
- continueActionOnButtonRelease: 0
--- !u!1 &1108164745
GameObject:
m_ObjectHideFlags: 0
@@ -11927,126 +11859,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1209741188}
m_CullTransparentMesh: 1
---- !u!1 &1210536472
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1210536473}
- - component: {fileID: 1210536476}
- - component: {fileID: 1210536475}
- - component: {fileID: 1210536474}
- m_Layer: 5
- m_Name: Button
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 0
---- !u!224 &1210536473
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1210536472}
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 0, y: 0, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 984233631}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
- m_AnchorMin: {x: 0, y: 0.5}
- m_AnchorMax: {x: 0, y: 0.5}
- m_AnchoredPosition: {x: 50, y: -101.4}
- m_SizeDelta: {x: 120, y: 120}
- m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1210536474
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1210536472}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Navigation:
- m_Mode: 3
- m_WrapAround: 0
- m_SelectOnUp: {fileID: 0}
- m_SelectOnDown: {fileID: 0}
- m_SelectOnLeft: {fileID: 0}
- m_SelectOnRight: {fileID: 0}
- m_Transition: 1
- m_Colors:
- m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
- m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
- m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
- m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
- m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
- m_ColorMultiplier: 1
- m_FadeDuration: 0.1
- m_SpriteState:
- m_HighlightedSprite: {fileID: 0}
- m_PressedSprite: {fileID: 0}
- m_SelectedSprite: {fileID: 0}
- m_DisabledSprite: {fileID: 0}
- m_AnimationTriggers:
- m_NormalTrigger: Normal
- m_HighlightedTrigger: Highlighted
- m_PressedTrigger: Pressed
- m_SelectedTrigger: Selected
- m_DisabledTrigger: Disabled
- m_Interactable: 1
- m_TargetGraphic: {fileID: 1210536475}
- m_OnClick:
- m_PersistentCalls:
- m_Calls: []
---- !u!114 &1210536475
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1210536472}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
- m_Maskable: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_Sprite: {fileID: 9185966951872691035, guid: d8489dc41f8c4c9479ba48d5bf39e02e, type: 3}
- m_Type: 0
- m_PreserveAspect: 0
- m_FillCenter: 1
- m_FillMethod: 4
- m_FillAmount: 1
- m_FillClockwise: 1
- m_FillOrigin: 0
- m_UseSpriteMesh: 0
- m_PixelsPerUnitMultiplier: 1
---- !u!222 &1210536476
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1210536472}
- m_CullTransparentMesh: 1
--- !u!1 &1215967762
GameObject:
m_ObjectHideFlags: 0
@@ -18400,7 +18212,6 @@ Transform:
m_Children:
- {fileID: 331068879}
- {fileID: 667130562}
- - {fileID: 1095691306}
m_Father: {fileID: 72512886}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1936621686
@@ -18418,7 +18229,7 @@ MonoBehaviour:
yarnProject: {fileID: 0}
_variableStorage: {fileID: 667130563}
dialogueViews:
- - {fileID: 1584263515}
+ - {fileID: 0}
startNode: Start
startAutomatically: 0
runSelectedOptionAsLine: 0
diff --git a/Assets/Scripts/Dialog System/LineView.cs b/Assets/Scripts/Dialog System/LineView.cs
index 46a1db8cb..c70f1e206 100644
--- a/Assets/Scripts/Dialog System/LineView.cs
+++ b/Assets/Scripts/Dialog System/LineView.cs
@@ -1,6 +1,7 @@
using System;
using AibisDream.Framework;
using AibisDream.Utility;
+using UnityEngine;
using Yarn.Unity;
namespace AibisDream
@@ -87,10 +88,18 @@ namespace AibisDream
}
}
+ private void Update()
+ {
+ if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space))
+ {
+ JumpLine();
+ }
+ }
+
///
/// 跳到下一句
///
- public void JumpLine()
+ private void JumpLine()
{
if (_isInCommand)
{
@@ -101,6 +110,12 @@ namespace AibisDream
{
return;
}
+
+ if (!DialogCanvasManager.GetCurView().TrySkipLine())
+ {
+ AudioManager.Instance.StopVoice();
+ DialogCanvasManager.GetCurView().NextStep();
+ }
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs b/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs
new file mode 100644
index 000000000..4ea6db3ce
--- /dev/null
+++ b/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs
@@ -0,0 +1,29 @@
+using System;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+namespace AibisDream.Framework
+{
+ [RequireComponent(typeof(EventSystem))]
+ public class EventSystemExtension : MonoBehaviour
+ {
+ public string targetTag;
+
+ #region 物体索引
+
+ private GameObject _lastObject;
+
+ #endregion
+
+ public void LateUpdate()
+ {
+ // if ()
+ // {
+ //
+ // }
+
+ var curGameObject = EventSystem.current.currentSelectedGameObject;
+ }
+ }
+}
+
diff --git a/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs.meta b/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs.meta
new file mode 100644
index 000000000..3af55ca4e
--- /dev/null
+++ b/Assets/Scripts/Framework/OtherKit/EventSystemEx.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8e1d0d6ab059a9b4a8979dbd0c8b2b68
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/UI/Cursor/CursorManager.cs b/Assets/Scripts/UI/Cursor/CursorManager.cs
index f6c817de8..38e45c1a6 100644
--- a/Assets/Scripts/UI/Cursor/CursorManager.cs
+++ b/Assets/Scripts/UI/Cursor/CursorManager.cs
@@ -22,7 +22,6 @@ namespace AibisDream
private CursorState _curState = CursorState.Default;
#endregion
-
// 卸载时注销事件
private List _unRegisters = new();
@@ -68,10 +67,13 @@ namespace AibisDream
_unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.LineStart,
_ => SwitchCursor(talking)));
_unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.LineShowed, () => SwitchCursor(nextTalk)));
- _unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.LineEnd, () => SwitchCursorDelay(defaultCursor)));
+ _unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.LineEnd,
+ () => SwitchCursorDelay(defaultCursor)));
_unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.OptionShow, () => SwitchCursor(option)));
- _unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.OptionSelected, () => SwitchCursorDelay(defaultCursor)));
-
+ _unRegisters.Add(
+ EnumEventSystem.Global.Register(DialogEventEnum.OptionSelected,
+ _ => SwitchCursorDelay(defaultCursor)));
+
// 交互相关
_unRegisters.Add(EnumEventSystem.Global.Register(InteractionEventEnum.Start, OnInteractiveStart));
_unRegisters.Add(EnumEventSystem.Global.Register(InteractionEventEnum.End, OnInteractiveEnd));
@@ -84,7 +86,7 @@ namespace AibisDream
CameraKit.Instance.uiCamera, out var worldPos);
_cursor.rectTransform.localPosition = worldPos;
-
+
// 在输入状态,要单独处理
}