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; - + // 在输入状态,要单独处理 }