From 2825fbef474d3bf00a17b30be2b47a2b91baf429 Mon Sep 17 00:00:00 2001 From: Ding Yuntian <1491671119@qq.com> Date: Thu, 23 Jan 2025 18:32:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E6=93=8E=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Resources/Art/Fix/20250123-164940.psb | 3 + .../Art/Fix/20250123-164940.psb.meta | 242 ++++++++++++++++++ Assets/Resources/Materials/FadeRing.mat | 50 ++++ Assets/Resources/Materials/FadeRing.mat.meta | 8 + Assets/Resources/Shader/FadeRing.shader | 64 +++++ Assets/Resources/Shader/FadeRing.shader.meta | 9 + Assets/Scenes/ExpressFixScene.unity | 228 ++++++++++++++--- .../Scripts/Dialog System/DialogController.cs | 12 + Assets/Scripts/Dialog System/LineView.cs | 25 -- .../Scripts/FixSystemNew/FixSystemCenter.cs | 2 +- .../Scripts/Framework/OtherKit/MonoCenter.cs | 9 - Assets/Scripts/Game Loop/EventEnums.cs | 6 +- Assets/Scripts/MiniGame/Engine/CordPull.cs | 26 +- .../Scripts/MiniGame/Engine/EngineSystem.cs | 112 +++----- .../MiniGame/Engine/EngineYarnCommand.cs | 24 ++ .../Scripts/MiniGame/Engine/SpeedDashboard.cs | 27 +- .../MiniGame/Engine/SpeedDashboard.cs.meta | 14 +- Assets/Scripts/MiniGame/Engine/StaticGear.cs | 8 +- Assets/Scripts/MiniGame/Gear/GearSystem.cs | 6 + Assets/Scripts/MiniGame/Gear/Shaft.cs | 9 +- Assets/Scripts/MiniGame/Gear/ShaftGraph.cs | 30 ++- Assets/Scripts/UI/Cursor/CursorManager.cs | 38 ++- .../UI/DialogUI/DialogCanvasManager.cs | 1 + 23 files changed, 726 insertions(+), 227 deletions(-) create mode 100644 Assets/Resources/Art/Fix/20250123-164940.psb create mode 100644 Assets/Resources/Art/Fix/20250123-164940.psb.meta create mode 100644 Assets/Resources/Materials/FadeRing.mat create mode 100644 Assets/Resources/Materials/FadeRing.mat.meta create mode 100644 Assets/Resources/Shader/FadeRing.shader create mode 100644 Assets/Resources/Shader/FadeRing.shader.meta diff --git a/Assets/Resources/Art/Fix/20250123-164940.psb b/Assets/Resources/Art/Fix/20250123-164940.psb new file mode 100644 index 000000000..53723ee53 --- /dev/null +++ b/Assets/Resources/Art/Fix/20250123-164940.psb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11655b5e77152ef26c1226f17c9fa0092f94d37fac5e81c410660167fa939c4b +size 5834369 diff --git a/Assets/Resources/Art/Fix/20250123-164940.psb.meta b/Assets/Resources/Art/Fix/20250123-164940.psb.meta new file mode 100644 index 000000000..c560bb593 --- /dev/null +++ b/Assets/Resources/Art/Fix/20250123-164940.psb.meta @@ -0,0 +1,242 @@ +fileFormatVersion: 2 +guid: 64008f2c27d35ac409386015a6bb5887 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: b2a9591990af98743ba3ff7cf1000886, type: 3} + textureImporterSettings: + alphaSource: 1 + mipMapMode: 0 + enableMipMap: 1 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + convertToNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + swizzle: 50462976 + isReadable: 0 + streamingMipmaps: 1 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + nPOTScale: 1 + sRGBTexture: 1 + spriteMode: 2 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 500 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 0 + flipbookColumns: 0 + ignorePngGamma: 0 + cookieMode: 0 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + normalMap: 0 + textureFormat: 0 + maxTextureSize: 0 + lightmap: 0 + compressionQuality: 0 + linearTexture: 0 + grayScaleToAlpha: 0 + rGBM: 0 + cubemapConvolutionSteps: 0 + cubemapConvolutionExponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + spriteImportData: + - name: + originalName: + pivot: {x: 0, y: 0} + alignment: 0 + border: {x: 0, y: 0, z: 0, w: 0} + rect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + spriteID: + spriteBone: [] + spriteOutline: [] + vertices: [] + spritePhysicsOutline: [] + indices: + edges: [] + tessellationDetail: 0 + uvTransform: {x: 0, y: 0} + spritePosition: {x: 0, y: 0} + mosaicSpriteImportData: [] + rigSpriteImportData: + - name: "\u56FE\u5C42 2" + originalName: + pivot: {x: 0.5, y: 0.5} + alignment: 0 + border: {x: 0, y: 0, z: 0, w: 0} + rect: + serializedVersion: 2 + x: 4 + y: 4 + width: 1823 + height: 1127 + spriteID: bebac499b546daf4893c5ecd0bf27294 + spriteBone: [] + spriteOutline: [] + vertices: [] + spritePhysicsOutline: [] + indices: + edges: [] + tessellationDetail: 0 + uvTransform: {x: 4, y: 4} + spritePosition: {x: 0, y: 0} + characterData: + bones: [] + parts: [] + dimension: {x: 0, y: 0} + characterGroups: [] + pivot: {x: 0, y: 0} + boneReadOnly: 0 + sharedRigSpriteImportData: [] + sharedRigCharacterData: + bones: [] + parts: [] + dimension: {x: 0, y: 0} + characterGroups: [] + pivot: {x: 0, y: 0} + boneReadOnly: 0 + platformSettings: + - name: DefaultTexturePlatform + overridden: 0 + ignorePlatformSupport: 0 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + forceMaximumCompressionQuality_BC6H_BC7: 0 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + androidETC2FallbackOverride: 0 + - name: Standalone + overridden: 0 + ignorePlatformSupport: 0 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + forceMaximumCompressionQuality_BC6H_BC7: 0 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + androidETC2FallbackOverride: 0 + - name: Server + overridden: 0 + ignorePlatformSupport: 0 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + forceMaximumCompressionQuality_BC6H_BC7: 0 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + androidETC2FallbackOverride: 0 + - name: Android + overridden: 0 + ignorePlatformSupport: 0 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + forceMaximumCompressionQuality_BC6H_BC7: 0 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + androidETC2FallbackOverride: 0 + - name: WebGL + overridden: 0 + ignorePlatformSupport: 0 + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + forceMaximumCompressionQuality_BC6H_BC7: 0 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + androidETC2FallbackOverride: 0 + mosaicLayers: 1 + characterMode: 1 + documentPivot: {x: 0, y: 0} + documentAlignment: 7 + importHiddenLayers: 0 + layerMappingOption: 2 + generatePhysicsShape: 0 + paperDollMode: 0 + keepDupilcateSpriteName: 1 + skeletonAssetReferenceID: + padding: 4 + spriteSizeExpand: 0 + spriteCategoryList: + categories: [] + spritePackingTag: + resliceFromLayer: 0 + mosaicPSDLayers: [] + rigPSDLayers: + - name: "\u56FE\u5C42 2" + spriteName: "\u56FE\u5C42 2" + isGroup: 0 + parentIndex: -1 + spriteID: bebac499b546daf4893c5ecd0bf27294 + layerID: 8 + mosaicPosition: {x: 4, y: 4} + flatten: 0 + isImported: 1 + isVisible: 1 + - name: "\u56FE\u5C42 1" + spriteName: "\u56FE\u5C42 1" + isGroup: 0 + parentIndex: -1 + spriteID: 079b5602caf6ad6459a584388bf71067 + layerID: 2 + mosaicPosition: {x: 4, y: 4} + flatten: 0 + isImported: 0 + isVisible: 0 + sharedRigPSDLayers: [] + pSDLayerImportSetting: [] + importFileNodeState: 1 + platformSettingsDirtyTick: 0 + spriteSizeExpandChanged: 0 + generateGOHierarchy: 0 + textureAssetName: + prefabAssetName: + spriteLibAssetName: + skeletonAssetName: + secondarySpriteTextures: [] diff --git a/Assets/Resources/Materials/FadeRing.mat b/Assets/Resources/Materials/FadeRing.mat new file mode 100644 index 000000000..3bf489852 --- /dev/null +++ b/Assets/Resources/Materials/FadeRing.mat @@ -0,0 +1,50 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FadeRing + m_Shader: {fileID: 4800000, guid: bb8f232219e0a3a488c321b63e85281f, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _EnableExternalAlpha: 0 + - _Progress: 0.137 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Resources/Materials/FadeRing.mat.meta b/Assets/Resources/Materials/FadeRing.mat.meta new file mode 100644 index 000000000..4df5ace33 --- /dev/null +++ b/Assets/Resources/Materials/FadeRing.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2d5f7d9c99f43ce4b8ec277a4ab03080 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Shader/FadeRing.shader b/Assets/Resources/Shader/FadeRing.shader new file mode 100644 index 000000000..ff983b5e7 --- /dev/null +++ b/Assets/Resources/Shader/FadeRing.shader @@ -0,0 +1,64 @@ +Shader "Unlit/CircleProgressBar" +{ + Properties + { + _MainTex("Texture", 2D) = "white" {} + _Progress("Progress",Range(0,1)) = 0.5 + } + SubShader + { + Tags + { + "RenderType"="Transparent" + } + Blend SrcAlpha OneMinusSrcAlpha + LOD 100 + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + float4 vertex : SV_POSITION; + }; + + sampler2D _MainTex; + float4 _MainTex_ST; + float _Progress; + + v2f vert(appdata v) + { + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + float4 col = tex2D(_MainTex, i.uv); + float4 final = step(1 - col.r, _Progress); + float3 ramp = lerp(float3(0, 1, 0), float3(1, 0, 0), _Progress); + final.rgb = final.rgb * ramp; + final.a = col.a; + if (1 - col.r > _Progress) + { + final.a = 0; + } + return final; + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Assets/Resources/Shader/FadeRing.shader.meta b/Assets/Resources/Shader/FadeRing.shader.meta new file mode 100644 index 000000000..b4558876c --- /dev/null +++ b/Assets/Resources/Shader/FadeRing.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bb8f232219e0a3a488c321b63e85281f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/ExpressFixScene.unity b/Assets/Scenes/ExpressFixScene.unity index 57cab7e87..bc679010f 100644 --- a/Assets/Scenes/ExpressFixScene.unity +++ b/Assets/Scenes/ExpressFixScene.unity @@ -555,6 +555,103 @@ Transform: m_CorrespondingSourceObject: {fileID: 2309837242789316790, guid: 92aec29b557d59a4ca5363aadd06c7bb, type: 3} m_PrefabInstance: {fileID: 154381820} m_PrefabAsset: {fileID: 0} +--- !u!1 &158974636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 158974637} + - component: {fileID: 158974638} + - component: {fileID: 158974639} + m_Layer: 0 + m_Name: "\u6E10\u53D8\u73AF" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &158974637 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158974636} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.164, y: 2.846, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1112213369} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &158974638 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158974636} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2d5f7d9c99f43ce4b8ec277a4ab03080, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 1134468525 + m_SortingLayer: 10 + m_SortingOrder: 5 + m_Sprite: {fileID: 3967710112523861117, guid: 64008f2c27d35ac409386015a6bb5887, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 3.646, y: 2.254} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!114 &158974639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 158974636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4d9cead340d34293bf0fd9631aede238, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &160015711 GameObject: m_ObjectHideFlags: 0 @@ -1671,7 +1768,7 @@ Transform: m_GameObject: {fileID: 463110380} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -7.8, y: 0.406, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -2118,6 +2215,90 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: maxDistance: 0.8 +--- !u!1 &535044715 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 535044717} + - component: {fileID: 535044716} + m_Layer: 0 + m_Name: "\u8EAB\u4F53\u7EF4\u4FEE\u754C\u9762\u5BFC\u51FA_1227" + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!212 &535044716 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535044715} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: d461b69b519107a4c8d7203943963833, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 38.399998, y: 21.599998} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 0 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 +--- !u!4 &535044717 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 535044715} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 31.557453, y: -1.5650738, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &536896723 GameObject: m_ObjectHideFlags: 0 @@ -3657,14 +3838,13 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 885292092} - - component: {fileID: 885292093} m_Layer: 0 m_Name: Speed Dashboard m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &885292092 Transform: m_ObjectHideFlags: 0 @@ -3674,7 +3854,7 @@ Transform: m_GameObject: {fileID: 885292091} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.0550704, y: 0.47555804, z: 0} + m_LocalPosition: {x: -5.199, y: 2.197, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -3682,20 +3862,6 @@ Transform: - {fileID: 463110381} m_Father: {fileID: 1112213369} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &885292093 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 885292091} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73c497ccb39448718a07911a5e674d5f, type: 3} - m_Name: - m_EditorClassIdentifier: - leftRot: 0 - rightRot: 137 --- !u!1 &900787527 GameObject: m_ObjectHideFlags: 0 @@ -3722,7 +3888,7 @@ Transform: m_GameObject: {fileID: 900787527} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -7.792, y: 0.406, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -4018,6 +4184,7 @@ Transform: - {fileID: 885292092} - {fileID: 5177406695049049041} - {fileID: 13903366} + - {fileID: 158974637} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1112213371 @@ -4033,28 +4200,14 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: engineConfig: - oilRate: 0.5 - resistance: 0.1 gearSpeed: 0.1 speedRate: 15 - targetDuration: 2 + pullCount: 5 pullMaxSpeed: 1.2 returnSpeed: 5 - engineData: - config: - oilRate: 0 - resistance: 0 - gearSpeed: 0 - speedRate: 0 - targetDuration: 0 - pullMaxSpeed: 0 - returnSpeed: 0 - curSpeed: 0 - curOil: 0 - curAcceleration: 0 - isSuccess: 0 - reachTargetTime: 0 isAvailable: 0 + isPullActive: 0 + curSpeed: 0 updateSpeedEvent: m_PersistentCalls: m_Calls: [] @@ -12150,7 +12303,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4214753503693131867, guid: 13f00ab6092291d49a9312e52873d80b, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 7037918505330246345, guid: 13f00ab6092291d49a9312e52873d80b, type: 3} propertyPath: field of view @@ -12263,3 +12416,4 @@ SceneRoots: - {fileID: 1112213369} - {fileID: 5393568355081744312} - {fileID: 9210352354887959608} + - {fileID: 535044717} diff --git a/Assets/Scripts/Dialog System/DialogController.cs b/Assets/Scripts/Dialog System/DialogController.cs index 9d398db03..09f60ec37 100644 --- a/Assets/Scripts/Dialog System/DialogController.cs +++ b/Assets/Scripts/Dialog System/DialogController.cs @@ -135,6 +135,18 @@ namespace AibisDream return false; } } + + /// + /// 跳到下一句 + /// + public void JumpLine() + { + if (!DialogCanvasManager.GetCurView().TrySkipLine()) + { + AudioManager.Instance.StopVoice(); + DialogCanvasManager.GetCurView().NextStep(); + } + } #region 命令名 diff --git a/Assets/Scripts/Dialog System/LineView.cs b/Assets/Scripts/Dialog System/LineView.cs index 559ccd58c..56701b942 100644 --- a/Assets/Scripts/Dialog System/LineView.cs +++ b/Assets/Scripts/Dialog System/LineView.cs @@ -68,30 +68,5 @@ namespace AibisDream var options = DialogOption.GeneOptions(dialogueOptions, onOptionSelected); DialogCanvasManager.GetCurView().ShowOptions(options); } - - private void Update() - { - if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) - { - JumpLine(); - } - } - - /// - /// 跳到下一句 - /// - private void JumpLine() - { - if (_isInCommand) - { - return; - } - - if (!DialogCanvasManager.GetCurView().TrySkipLine()) - { - AudioManager.Instance.StopVoice(); - DialogCanvasManager.GetCurView().NextStep(); - } - } } } \ No newline at end of file diff --git a/Assets/Scripts/FixSystemNew/FixSystemCenter.cs b/Assets/Scripts/FixSystemNew/FixSystemCenter.cs index ea6e868df..56d81b2e1 100644 --- a/Assets/Scripts/FixSystemNew/FixSystemCenter.cs +++ b/Assets/Scripts/FixSystemNew/FixSystemCenter.cs @@ -16,7 +16,7 @@ namespace AibisDream.FixSystem // 初始化状态机 StateMachine = new FixStateMachine(); - StartCoroutine(StateMachine.SwitchState(FixState.Clinic)); + StartCoroutine(StateMachine.SwitchState(FixState.Engine)); } public override void OnSingletonDestroy() diff --git a/Assets/Scripts/Framework/OtherKit/MonoCenter.cs b/Assets/Scripts/Framework/OtherKit/MonoCenter.cs index e937f82f1..0d5ccd764 100644 --- a/Assets/Scripts/Framework/OtherKit/MonoCenter.cs +++ b/Assets/Scripts/Framework/OtherKit/MonoCenter.cs @@ -1,5 +1,4 @@ using System; -using AibisDream.FixSystem; using UnityEngine; namespace AibisDream.Framework @@ -47,14 +46,6 @@ namespace AibisDream.Framework { public void OnUpdate() { - if (Input.GetKeyDown(KeyCode.K)) - { - MonoCenter.Mono.StartCoroutine(CameraKit.Instance.TransCameraAsync(new Vector3(5f, 5f, -10), 5, 5f)); - } - - if (Input.GetKeyDown(KeyCode.A)) - { - } } } diff --git a/Assets/Scripts/Game Loop/EventEnums.cs b/Assets/Scripts/Game Loop/EventEnums.cs index 7afd3390e..cae81e375 100644 --- a/Assets/Scripts/Game Loop/EventEnums.cs +++ b/Assets/Scripts/Game Loop/EventEnums.cs @@ -8,7 +8,8 @@ namespace AibisDream { NextYarn, PlugIn, - PlugOut + PlugOut, + Menu } public enum DialogEventEnum @@ -17,8 +18,7 @@ namespace AibisDream LineShowed, LineEnd, OptionShow, - OptionSelected, - Command + OptionSelected } public enum InteractionEventEnum diff --git a/Assets/Scripts/MiniGame/Engine/CordPull.cs b/Assets/Scripts/MiniGame/Engine/CordPull.cs index 7d9f7446c..d36cf2e16 100644 --- a/Assets/Scripts/MiniGame/Engine/CordPull.cs +++ b/Assets/Scripts/MiniGame/Engine/CordPull.cs @@ -34,11 +34,6 @@ namespace AibisDream _trigger.Register(EventTriggerType.Drag, OnDrag); } - public float GetCurOil() - { - return Mathf.Abs((transform.localPosition.y - _initPos.y) / maxDistance); - } - private void Update() { if (_isDragging) @@ -58,15 +53,10 @@ namespace AibisDream // 如果拖拽点在下方,限速移动 else { - if (Mathf.Abs(_dragPoint.y - transform.position.y) / Time.deltaTime > - _engineSystem.engineConfig.pullMaxSpeed) - { - curY = transform.position.y - _engineSystem.engineConfig.pullMaxSpeed * Time.deltaTime; - } - else - { - curY = _dragPoint.y; - } + curY = _dragPoint.y; + var pullDelta = Mathf.Abs(curY - transform.position.y) / maxDistance; + // 将增量同步给Engine + _engineSystem.AddAirPress(pullDelta); } transform.position = new Vector3(transform.position.x, curY, transform.position.y); @@ -75,7 +65,8 @@ namespace AibisDream private void OnDrag(BaseEventData data) { // 这里是一些阻碍拖动的情况 - + if (!IsActive) return; + // 正常情况下不会出错 if (data is not PointerEventData pointerData) return; @@ -85,6 +76,9 @@ namespace AibisDream private void OnBeginDrag(BaseEventData data) { + // 这里是一些阻碍拖动的情况 + if (!IsActive) return; + // 正常情况下不会出错 if (data is not PointerEventData pointerData) return; // 设置拖拽目标点 @@ -112,7 +106,7 @@ namespace AibisDream _dragPoint = new Vector3(transform.position.x, dragY, transform.position.z); } - public bool IsActive => true; + public bool IsActive => _engineSystem.isPullActive; public bool IsAvailable => _engineSystem.isAvailable; diff --git a/Assets/Scripts/MiniGame/Engine/EngineSystem.cs b/Assets/Scripts/MiniGame/Engine/EngineSystem.cs index bee4d96af..226580568 100644 --- a/Assets/Scripts/MiniGame/Engine/EngineSystem.cs +++ b/Assets/Scripts/MiniGame/Engine/EngineSystem.cs @@ -1,8 +1,10 @@ using System; +using System.Collections; using AibisDream.FixSystem; using AibisDream.Framework; using AibisDream.Utility; using Cinemachine; +using DG.Tweening; using UnityEngine; using UnityEngine.Events; @@ -10,15 +12,15 @@ namespace AibisDream { public class EngineSystem : MonoBehaviour { - private CordPull _cordPull; private StaticGear _centerGear; [Header("系统配置")] public EngineConfig engineConfig; - [Header("系统数据")] public EngineData engineData; - public bool isAvailable; + public bool isPullActive; + private bool _isSuccess; - [HideInInspector] public UnityEvent updateSpeedEvent = new(); + public float curSpeed; + [HideInInspector] public UnityEvent updateSpeedEvent = new(); [SerializeField] private float coverMoveDuration = 5f; @@ -27,10 +29,9 @@ namespace AibisDream private void Awake() { FixSystemCenter.SystemDic.Register(this); - _cordPull = transform.Find("拉绳").GetComponent(); _centerGear = transform.Find("中央齿轮").GetComponent(); _centerGear.initSpeed = engineConfig.gearSpeed; - + // 注册相机 var virtualCam = transform.Find("Engine Camera").GetComponentInChildren(); CameraKit.Instance.RegisterCamera(CameraEnum.Engine, virtualCam); @@ -38,36 +39,41 @@ namespace AibisDream private void Start() { - // 初始化数据 - engineData = new EngineData - { - config = engineConfig - }; _centerGear.StartRotate(); } + public IEnumerator StepOnGas(float targetSpeed, float duration) + { + // 逐渐加速 + yield return DOTween.To(() => curSpeed, x => { curSpeed = x; }, targetSpeed, duration).WaitForCompletion(); + } + + public void AddAirPress(float speedDelta) + { + curSpeed = CommonUtil.Limit(curSpeed + speedDelta / engineConfig.pullCount, 1, 0); + } + private void OnDestroy() { CameraKit.Instance.UnRegisterCamera(CameraEnum.Engine); } - public void Update() + private void Update() { - // 收集数据 - engineData.curOil = _cordPull.GetCurOil(); - // 更新数据 - engineData.CalcSpeed(); - - // 传递速度 - updateSpeedEvent.Invoke(engineData.GetRealSpeed()); - - if (engineData.CheckSuccess()) + updateSpeedEvent.Invoke(curSpeed, GetSpeedScale()); + if (curSpeed >= 0.99f && !_isSuccess) { - Debug.Log("引擎成功"); + _isSuccess = true; + isPullActive = false; DialogController.Instance?.StartDialogNode("EngineSuccess"); } } + private float GetSpeedScale() + { + return 1 + curSpeed * engineConfig.speedRate; + } + /// /// 开启系统交互 /// @@ -88,70 +94,10 @@ namespace AibisDream [Serializable] public struct EngineConfig { - [Header("油门倍率")] public float oilRate; - [Header("阻力倍率")] public float resistance; [Header("齿轮基础速度")] public float gearSpeed; [Header("齿轮速度倍率")] public float speedRate; - [Header("成功所需时间")] public float targetDuration; + [Header("拉满几次到全速")] public float pullCount; [Header("拉绳最大速度")] public float pullMaxSpeed; [Header("拉绳回缩速度")] public float returnSpeed; } - - [Serializable] - public struct EngineData - { - public EngineConfig config; - public float curSpeed; - public float curOil; - public float curAcceleration; - public bool isSuccess; - public float reachTargetTime; - - public void CalcSpeed() - { - if (curOil != 0) - { - curAcceleration = curAcceleration < 0 ? 0 : curAcceleration; - curAcceleration = CommonUtil.Limit(curOil * config.oilRate * Time.deltaTime + curAcceleration, 100, 0); - } - else - { - curAcceleration = -config.resistance * (1f + curSpeed); - } - - - curSpeed = CommonUtil.Limit(curSpeed + curAcceleration * Time.deltaTime, 1, 0); - } - - public bool CheckSuccess() - { - // 已经成功就不用校验了 - if (isSuccess) return false; - - if (curSpeed >= 0.95f) - { - reachTargetTime += Time.deltaTime; - } - else - { - reachTargetTime = 0; - } - - // 如果速度达标时间足够就判断成功 - if (!(reachTargetTime >= config.targetDuration)) return false; - - isSuccess = true; - return true; - } - - - /// - /// 获取处理后的速度 - /// - /// 速度 - public float GetRealSpeed() - { - return 1 + curSpeed * config.speedRate; - } - } } \ No newline at end of file diff --git a/Assets/Scripts/MiniGame/Engine/EngineYarnCommand.cs b/Assets/Scripts/MiniGame/Engine/EngineYarnCommand.cs index 9611397ec..02920c84a 100644 --- a/Assets/Scripts/MiniGame/Engine/EngineYarnCommand.cs +++ b/Assets/Scripts/MiniGame/Engine/EngineYarnCommand.cs @@ -1,4 +1,5 @@ using System.Collections; +using AibisDream.FixSystem; using UnityEngine; using Yarn.Unity; @@ -6,6 +7,8 @@ namespace AibisDream { public static class EngineYarnCommand { + private static EngineSystem EngineSystem => FixSystemCenter.SystemDic.Get(); + // 打开引擎盖 [YarnCommand("open_engine_cover")] public static IEnumerator OpenEngineCover() @@ -21,5 +24,26 @@ namespace AibisDream Debug.LogWarning("关闭引擎盖命令已废弃,请尽快删除"); yield break; } + + /// + /// 踩油门 + /// + /// 目标速度 + /// 用时 + /// 协程 + [YarnCommand("step_on_gas")] + public static IEnumerator StepOnGas(float targetSpeed, float duration) + { + return EngineSystem.StepOnGas(targetSpeed, duration); + } + + /// + /// 激活拉绳 + /// + [YarnCommand("active_engine_pull")] + public static void ActivePull() + { + EngineSystem.isPullActive = true; + } } } \ No newline at end of file diff --git a/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs b/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs index c2749ba35..39c46e80f 100644 --- a/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs +++ b/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs @@ -1,25 +1,24 @@ -using UnityEngine; +using UnityEngine; namespace AibisDream { public class SpeedDashboard : MonoBehaviour { - private Transform _pointer; - - [SerializeField] private float leftRot; - [SerializeField] private float rightRot; + private Material _material; + private EngineSystem _engineSystem; + private static readonly int Progress1 = Shader.PropertyToID("_Progress"); - protected void OnStart() + private void Awake() { - _pointer = transform.Find("Pointer"); + _material = GetComponent().material; + _engineSystem = transform.parent.GetComponent(); + + _engineSystem.updateSpeedEvent.AddListener(OnSpeedChange); } - - protected void UpdateDashboard(EngineData data) + + private void OnSpeedChange(float originSpeed, float speedScale) { - var targetRot = (rightRot - leftRot) * data.curSpeed + leftRot; - - _pointer.eulerAngles = new Vector3(0, 0, -targetRot); + _material.SetFloat(Progress1, originSpeed); } } -} - +} \ No newline at end of file diff --git a/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs.meta b/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs.meta index c1a0126ef..cf176307d 100644 --- a/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs.meta +++ b/Assets/Scripts/MiniGame/Engine/SpeedDashboard.cs.meta @@ -1,11 +1,3 @@ -fileFormatVersion: 2 -guid: 73c497ccb39448718a07911a5e674d5f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +fileFormatVersion: 2 +guid: 4d9cead340d34293bf0fd9631aede238 +timeCreated: 1737626210 \ No newline at end of file diff --git a/Assets/Scripts/MiniGame/Engine/StaticGear.cs b/Assets/Scripts/MiniGame/Engine/StaticGear.cs index 1a807b3b7..8c2e35568 100644 --- a/Assets/Scripts/MiniGame/Engine/StaticGear.cs +++ b/Assets/Scripts/MiniGame/Engine/StaticGear.cs @@ -22,12 +22,8 @@ namespace AibisDream .SetEase(Ease.Linear) .SetLoops(-1, LoopType.Incremental); } - - /// - /// 为旋转加速 - /// - /// 速度倍率 - private void UpdateSpeedScale(float speed) + + private void UpdateSpeedScale(float originSpeed, float speed) { _rotateTween.timeScale = speed; } diff --git a/Assets/Scripts/MiniGame/Gear/GearSystem.cs b/Assets/Scripts/MiniGame/Gear/GearSystem.cs index 25041a4b5..f7fa72685 100644 --- a/Assets/Scripts/MiniGame/Gear/GearSystem.cs +++ b/Assets/Scripts/MiniGame/Gear/GearSystem.cs @@ -39,6 +39,8 @@ namespace AibisDream private bool _isTargetReached; private bool _isDiscReady; + public float initSpeed = 1; + private void Awake() { Init(); @@ -65,6 +67,10 @@ namespace AibisDream var panelShafts = _panel.GetComponentsInChildren(); _shaftGraph = new ShaftGraph(shafts, panelShafts); + var engine = FixSystemCenter.SystemDic.Get(); + _shaftGraph.StartRotate(initSpeed); + engine.updateSpeedEvent.AddListener(_shaftGraph.Accelerate); + _panel.gameObject.SetActive(false); } diff --git a/Assets/Scripts/MiniGame/Gear/Shaft.cs b/Assets/Scripts/MiniGame/Gear/Shaft.cs index e67a2d4a2..06b5bf420 100644 --- a/Assets/Scripts/MiniGame/Gear/Shaft.cs +++ b/Assets/Scripts/MiniGame/Gear/Shaft.cs @@ -23,9 +23,6 @@ namespace AibisDream [SerializeField] private Gear childGear; - // 初始角速度 - [SerializeField] private float initialSpeed; - // 目标角速度 [SerializeField] private float targetSpeed; @@ -70,8 +67,7 @@ namespace AibisDream // 如果带齿轮,要根据齿轮类型生成 childGear = InitGear(initRadius, initSprite, isInitGearBroken, isInitGearDisc); - - speed = initialSpeed; + childGear.UpdateRotation(speed, _speedScale); } @@ -274,7 +270,6 @@ namespace AibisDream isInitGearBroken = levelData.isGearBroken; isInitGearDisc = levelData.isDisc; discIdx = levelData.discIdx; - initialSpeed = levelData.initialSpeed; targetSpeed = levelData.targetSpeed; initRadius = levelData.radius; } @@ -291,7 +286,6 @@ namespace AibisDream isGearBroken = isInitGearBroken, isDisc = isInitGearDisc, discIdx = discIdx, - initialSpeed = initialSpeed, targetSpeed = targetSpeed, radius = initRadius }; @@ -315,7 +309,6 @@ namespace AibisDream // 关卡数据 public ShaftType shaftType; - public float initialSpeed; public float targetSpeed; public bool hasChildGear; public float radius; diff --git a/Assets/Scripts/MiniGame/Gear/ShaftGraph.cs b/Assets/Scripts/MiniGame/Gear/ShaftGraph.cs index aab90b35b..3db039a3b 100644 --- a/Assets/Scripts/MiniGame/Gear/ShaftGraph.cs +++ b/Assets/Scripts/MiniGame/Gear/ShaftGraph.cs @@ -43,6 +43,24 @@ namespace AibisDream UpdateSpeed(); } + /// + /// 初始化速度 + /// + /// 初始速度 + public void StartRotate(float initSpeed) + { + _vertexArray[_rootIdx].speed = initSpeed; + UpdateSpeed(); + } + + public void Accelerate(float originSpeed, float speed) + { + foreach (var shaft in _vertexArray) + { + if (shaft.HasChildGear()) shaft.UpdateSpeedScale(speed); + } + } + private int FindDriverIdx() { for (int i = 0; i < _vertexSize; i++) @@ -261,17 +279,5 @@ namespace AibisDream return isShaftAvailable; } - - /// - /// 通过引擎系统加速 - /// - /// 当前速度 - private void Accelerate(float curSpeed) - { - foreach (var shaft in _vertexArray) - { - if (shaft.HasChildGear()) shaft.UpdateSpeedScale(1 + curSpeed); - } - } } } \ No newline at end of file diff --git a/Assets/Scripts/UI/Cursor/CursorManager.cs b/Assets/Scripts/UI/Cursor/CursorManager.cs index 5fa622d49..ab095737d 100644 --- a/Assets/Scripts/UI/Cursor/CursorManager.cs +++ b/Assets/Scripts/UI/Cursor/CursorManager.cs @@ -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(); - _cursorCanvas = GetComponent(); } private void RegisterEvent() { // 此处监听所有可能对鼠标状态产生影响的事件 + RegisterDialogEvent(); + RegisterTriggerEvent(); + RegisterMenu(); + } + + private void RegisterDialogEvent() + { // 对话相关 _unRegisters.Add(EnumEventSystem.Global.Register(DialogEventEnum.LineStart, OnLineStart)); @@ -74,7 +80,10 @@ namespace AibisDream _unRegisters.Add( EnumEventSystem.Global.Register(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.PointerUp, OnPointerUp)); } + private void RegisterMenu() + { + _unRegisters.Add(EnumEventSystem.Global.Register(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 指针切换 /// diff --git a/Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs b/Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs index cb2e13812..c9f7ad2ac 100644 --- a/Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs +++ b/Assets/Scripts/UI/DialogUI/DialogCanvasManager.cs @@ -162,6 +162,7 @@ namespace AibisDream { var logObj = transform.Find("Dialogue Log").gameObject; logObj.SetActive(!logObj.activeSelf); + EnumEventSystem.Global.Send(EventEnum.Menu, logObj.activeSelf); } #endregion