From 68c03ea245ce150422b38b5c631d51fb6e91a363 Mon Sep 17 00:00:00 2001 From: bzx <496597135@qq.com> Date: Thu, 5 Mar 2026 16:46:24 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=B7=BB=E5=8A=A0=E6=A2=A6?= =?UTF-8?q?=E5=A2=83=E6=AF=92=E8=8B=B9=E6=9E=9C=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_SnowWhite/Prefabs/DreamAppleEvent.meta | 8 + .../DreamAppleEvent/DreamWitch.controller | 143 ++ .../DreamWitch.controller.meta | 8 + .../Prefabs/DreamAppleEvent/DreamWitch.prefab | 266 ++++ .../DreamAppleEvent/DreamWitch.prefab.meta} | 2 +- .../Prefabs/DreamAppleEvent/Ghost.prefab | 172 +++ .../DreamAppleEvent/Ghost.prefab.meta} | 2 +- .../DreamAppleEvent/PoisonApple.prefab | 163 ++ .../DreamAppleEvent/PoisonApple.prefab.meta} | 2 +- Assets/_SnowWhite/Prefabs/RightHand.prefab | 172 +++ .../UI/54be29ec5e55105fdb3b1d4d07fbf25f.png | Bin 24036 -> 0 bytes .../54be29ec5e55105fdb3b1d4d07fbf25f.png.meta | 127 -- .../_SnowWhite/Resources/UI/ConPanel.prefab | 1315 ----------------- .../_SnowWhite/Resources/UI/HUDPanel.prefab | 93 +- Assets/_SnowWhite/Resources/UI/IPBtn.prefab | 228 --- .../Resources/UI/SettlePanel.prefab | 1073 -------------- Assets/_SnowWhite/Scenes/GongSi1Lou.unity | 230 +++ Assets/_SnowWhite/Scripts/Base/GameManager.cs | 2 +- Assets/_SnowWhite/Scripts/DreamEvent.meta | 8 + .../Scripts/DreamEvent/DreamAppleEvent.cs | 635 ++++++++ .../DreamEvent/DreamAppleEvent.cs.meta | 11 + .../Scripts/DreamEvent/DreamSword.cs | 540 +++++++ .../Scripts/DreamEvent/DreamSword.cs.meta | 11 + .../Scripts/DreamEvent/DreamWitch.cs | 800 ++++++++++ .../Scripts/DreamEvent/DreamWitch.cs.meta | 11 + Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs | 419 ++++++ .../Scripts/DreamEvent/Ghost.cs.meta | 11 + .../Scripts/DreamEvent/PoisonApple.cs | 480 ++++++ .../Scripts/DreamEvent/PoisonApple.cs.meta | 11 + Assets/_SnowWhite/Scripts/Player/RightHand.cs | 35 +- Assets/_SnowWhite/Scripts/UI/HUDPanel.cs | 70 + ProjectSettings/TagManager.asset | 2 +- 32 files changed, 4283 insertions(+), 2767 deletions(-) create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent.meta create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller.meta create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab rename Assets/_SnowWhite/{Resources/UI/IPBtn.prefab.meta => Prefabs/DreamAppleEvent/DreamWitch.prefab.meta} (74%) create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab rename Assets/_SnowWhite/{Resources/UI/SettlePanel.prefab.meta => Prefabs/DreamAppleEvent/Ghost.prefab.meta} (74%) create mode 100644 Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab rename Assets/_SnowWhite/{Resources/UI/ConPanel.prefab.meta => Prefabs/DreamAppleEvent/PoisonApple.prefab.meta} (74%) delete mode 100644 Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png delete mode 100644 Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png.meta delete mode 100644 Assets/_SnowWhite/Resources/UI/ConPanel.prefab delete mode 100644 Assets/_SnowWhite/Resources/UI/IPBtn.prefab delete mode 100644 Assets/_SnowWhite/Resources/UI/SettlePanel.prefab create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent.meta create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs.meta create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs.meta create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs.meta create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs.meta create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs create mode 100644 Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs.meta diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent.meta b/Assets/_SnowWhite/Prefabs/DreamAppleEvent.meta new file mode 100644 index 00000000..dd0422fa --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 24348959437e8d3429bd5be2a6d4d100 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller new file mode 100644 index 00000000..de8037de --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller @@ -0,0 +1,143 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1102 &-7688854339527935610 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: New State + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 0} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &-7501048581804035218 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 6092036740901923608} + m_Position: {x: 390, y: 200, z: 0} + - serializedVersion: 1 + m_State: {fileID: -7688854339527935610} + m_Position: {x: 400, y: 100, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 210, y: -80, z: 0} + m_EntryPosition: {x: 40, y: 210, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: -7688854339527935610} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DreamWitch + serializedVersion: 5 + m_AnimatorParameters: + - m_Name: Spawn + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Throw + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Summon + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Idle + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Hurt + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Death + m_Type: 9 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + - m_Name: Speed + m_Type: 1 + m_DefaultFloat: 0 + m_DefaultInt: 0 + m_DefaultBool: 0 + m_Controller: {fileID: 9100000} + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -7501048581804035218} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &6092036740901923608 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u8BF4\u8BDD" + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: b76af8209cf2df34b93e4b4d5abe651e, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller.meta b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller.meta new file mode 100644 index 00000000..fed2b374 --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81210704ff241eb48818cf87e7d544f3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab new file mode 100644 index 00000000..c9d5b422 --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab @@ -0,0 +1,266 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &754555143305833408 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9039133573937344686} + - component: {fileID: 6368083535491806428} + - component: {fileID: -8020061880698280475} + m_Layer: 0 + m_Name: DreamWitch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9039133573937344686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754555143305833408} + 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: + - {fileID: 1366507445068509073} + - {fileID: 3751066667871995637} + - {fileID: 6222638020086596191} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6368083535491806428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754555143305833408} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6ff24f5131958b47966b64ab073dff2, type: 3} + m_Name: + m_EditorClassIdentifier: + spawnDuration: 2 + spawnOffset: {x: 0, y: 3, z: 5} + appleSpawnPoint: {fileID: 1366507445068509073} + throwInterval: 1.5 + maxApplesAtOnce: 3 + ghostSpawnPoint: {fileID: 3751066667871995637} + ghostInterval: 15 + ghostSpawnOffset: {x: 0, y: 0, z: -1} + hoverHeight: 3 + hoverRange: 2 + hoverSpeed: 1 + enableHovering: 1 + animator: {fileID: -8020061880698280475} + spawnAnim: Spawn + idleAnim: Idle + throwAnim: Throw + summonAnim: Summon + hurtAnim: Hurt + deathAnim: Death + spawnSound: 2.13 + throwSound: 2.14 + disappearSound: 2.18 + spawnParticle: {fileID: 0} + throwParticle: {fileID: 0} + deathEffect: {fileID: 0} + debugMode: 1 +--- !u!95 &-8020061880698280475 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 754555143305833408} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 81210704ff241eb48818cf87e7d544f3, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &2245005176326807002 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1366507445068509073} + m_Layer: 0 + m_Name: appleSpawnPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1366507445068509073 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2245005176326807002} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.05, z: 0.65} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9039133573937344686} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3592175666577572175 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6222638020086596191} + - component: {fileID: 1150679430110102161} + - component: {fileID: 6258500069401772249} + - component: {fileID: 4071878753733406444} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6222638020086596191 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3592175666577572175} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9039133573937344686} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1150679430110102161 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3592175666577572175} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6258500069401772249 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3592175666577572175} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c6f906bc8411ce4c9267853d7249fd3, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &4071878753733406444 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3592175666577572175} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} +--- !u!1 &6870427437992648422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3751066667871995637} + m_Layer: 0 + m_Name: ghostSpawnPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3751066667871995637 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6870427437992648422} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.69, z: -0.94} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9039133573937344686} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/_SnowWhite/Resources/UI/IPBtn.prefab.meta b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab.meta similarity index 74% rename from Assets/_SnowWhite/Resources/UI/IPBtn.prefab.meta rename to Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab.meta index 3a1aff46..27a7e096 100644 --- a/Assets/_SnowWhite/Resources/UI/IPBtn.prefab.meta +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/DreamWitch.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7f7d6c5b8a854d8438ecdc028a1c6da5 +guid: 01a932a0b243353458474202a274d02b PrefabImporter: externalObjects: {} userData: diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab new file mode 100644 index 00000000..20371a32 --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab @@ -0,0 +1,172 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1012488050875606214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1303702652175813201} + - component: {fileID: 4999843947434437994} + m_Layer: 19 + m_Name: Ghost + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1303702652175813201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012488050875606214} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.311168, y: 0, z: -3.135962} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5071527886225528357} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4999843947434437994 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012488050875606214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8324832479676bf42b62ad5f07c9106e, type: 3} + m_Name: + m_EditorClassIdentifier: + flySpeed: 3 + flyDuration: 5 + homingStrength: 2 + isHoming: 1 + spawnDelay: 0.5 + spawnScaleDuration: 0.5 + attachDuration: 5 + attachMoveRange: 0.3 + attachMoveSpeed: 2 + sliceEffect: {fileID: 0} + trailRenderer: {fileID: 0} + ghostRenderer: {fileID: 0} + normalMaterial: {fileID: 0} + attachMaterial: {fileID: 0} + spawnSound: 2.27 + attachSound: 2.28 + slicedSound: 2.29 + debugMode: 1 +--- !u!1 &6699833684381626609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5071527886225528357} + - component: {fileID: 486084989721139047} + - component: {fileID: 5561123489199011623} + - component: {fileID: 2079389811773163415} + m_Layer: 19 + m_Name: Capsule + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5071527886225528357 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6699833684381626609} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 1303702652175813201} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &486084989721139047 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6699833684381626609} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &5561123489199011623 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6699833684381626609} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 20cdca2f46819714eb7ed0d7375541e8, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!136 &2079389811773163415 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6699833684381626609} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/_SnowWhite/Resources/UI/SettlePanel.prefab.meta b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab.meta similarity index 74% rename from Assets/_SnowWhite/Resources/UI/SettlePanel.prefab.meta rename to Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab.meta index e481b3b7..1a878802 100644 --- a/Assets/_SnowWhite/Resources/UI/SettlePanel.prefab.meta +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/Ghost.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3cb4d9a334fbec64aa05627f1b93a0b8 +guid: d2133e78601c21643b85faf7ac37ff4b PrefabImporter: externalObjects: {} userData: diff --git a/Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab new file mode 100644 index 00000000..2c5d9f33 --- /dev/null +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab @@ -0,0 +1,163 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2592955555661140503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 973459387617294913} + - component: {fileID: 700260152399542189} + - component: {fileID: 2080382215423807986} + - component: {fileID: 8392347518033188198} + m_Layer: 19 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &973459387617294913 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2592955555661140503} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.311168, y: 0, z: -3.135962} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 7283092301746016374} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &700260152399542189 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2592955555661140503} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &2080382215423807986 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2592955555661140503} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 20cdca2f46819714eb7ed0d7375541e8, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!135 &8392347518033188198 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2592955555661140503} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6932340588733953491 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7283092301746016374} + - component: {fileID: 1733181667605525912} + m_Layer: 19 + m_Name: PoisonApple + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7283092301746016374 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6932340588733953491} + 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: + - {fileID: 973459387617294913} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1733181667605525912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6932340588733953491} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6779f2292fdd4af47a6f94932ad98434, type: 3} + m_Name: + m_EditorClassIdentifier: + trajectoryType: 0 + flightDuration: 3 + curveHeight: 2 + sideOffset: 3 + appleCollider: {fileID: 8392347518033188198} + sliceRadius: 0.5 + sliceEffect: {fileID: 0} + trailRenderer: {fileID: 0} + slicePieces: [] + sliceSound: 2.15 + debugMode: 1 diff --git a/Assets/_SnowWhite/Resources/UI/ConPanel.prefab.meta b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab.meta similarity index 74% rename from Assets/_SnowWhite/Resources/UI/ConPanel.prefab.meta rename to Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab.meta index e2c8f5c2..a07e80fc 100644 --- a/Assets/_SnowWhite/Resources/UI/ConPanel.prefab.meta +++ b/Assets/_SnowWhite/Prefabs/DreamAppleEvent/PoisonApple.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 11ae77871e473a44986ca25c79128a38 +guid: 08c07a1efc6272a4e9c2dc8e60cb5aff PrefabImporter: externalObjects: {} userData: diff --git a/Assets/_SnowWhite/Prefabs/RightHand.prefab b/Assets/_SnowWhite/Prefabs/RightHand.prefab index b9b0a6b8..db436932 100644 --- a/Assets/_SnowWhite/Prefabs/RightHand.prefab +++ b/Assets/_SnowWhite/Prefabs/RightHand.prefab @@ -713,6 +713,71 @@ Transform: m_Children: [] m_Father: {fileID: 6272334842578027103} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3932637767041714227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6341420327470006831} + - component: {fileID: 3895534965423547237} + m_Layer: 16 + m_Name: DreamSword + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6341420327470006831 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3932637767041714227} + 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: + - {fileID: 6225025101260762547} + m_Father: {fileID: 6272334842578027103} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3895534965423547237 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3932637767041714227} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 441b59c8e0ed89a48a480df24cea8d62, type: 3} + m_Name: + m_EditorClassIdentifier: + sliceRadius: 0.8 + minSliceSpeed: 2 + maxSliceAngle: 45 + targetLayer: + serializedVersion: 2 + m_Bits: 524288 + sliceTrail: {fileID: 0} + trailDuration: 0.3 + sliceParticle: {fileID: 0} + flySpeed: 15 + flyDuration: 1 + holyLightParticle: {fileID: 0} + holyFlightTrail: {fileID: 0} + holyLightMaterial: {fileID: 0} + holyPulseSpeed: 2 + holyLightColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + swingSound: 2.16 + swingSoundCooldown: 0.2 + debugMode: 1 + showDebugGizmos: 1 --- !u!1 &4542635676596756454 GameObject: m_ObjectHideFlags: 0 @@ -750,6 +815,7 @@ Transform: - {fileID: 580352712544404546} - {fileID: 6053918926551127477} - {fileID: 4978581575116740428} + - {fileID: 6341420327470006831} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &8553229327014928926 @@ -836,6 +902,7 @@ MonoBehaviour: m_Bits: 98304 ray: {fileID: 580352712544404546} hand: {fileID: 884666539354129916} + dreamSword: {fileID: 3932637767041714227} hit: {fileID: 0} isTrigger: 0 triggerDis: 0 @@ -956,6 +1023,111 @@ BoxCollider: serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &6225476738395382696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6225025101260762547} + - component: {fileID: 7647337328698899655} + - component: {fileID: 3556851638690098709} + - component: {fileID: 489037539262244247} + m_Layer: 16 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6225025101260762547 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6225476738395382696} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.0014, y: -0, z: 0.0696} + m_LocalScale: {x: 0.053277, y: 0.04, z: 0.29125} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6341420327470006831} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7647337328698899655 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6225476738395382696} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3556851638690098709 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6225476738395382696} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6c6f906bc8411ce4c9267853d7249fd3, 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: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &489037539262244247 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6225476738395382696} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} --- !u!1001 &2684983532821258424 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png b/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png deleted file mode 100644 index 0747519204d66638bd0f9f6142a0ce107e961c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24036 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 diff --git a/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png.meta b/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png.meta deleted file mode 100644 index ebb5fe4f..00000000 --- a/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png.meta +++ /dev/null @@ -1,127 +0,0 @@ -fileFormatVersion: 2 -guid: 3741ec1468d8a8a4486abcdede3a9c7b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 13 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 0 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_SnowWhite/Resources/UI/ConPanel.prefab b/Assets/_SnowWhite/Resources/UI/ConPanel.prefab deleted file mode 100644 index 5b068f4d..00000000 --- a/Assets/_SnowWhite/Resources/UI/ConPanel.prefab +++ /dev/null @@ -1,1315 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &101169959804132163 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8837809370111094707} - - component: {fileID: 8467797575202189337} - - component: {fileID: 7330110570022864679} - m_Layer: 0 - m_Name: Image (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8837809370111094707 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 101169959804132163} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.97, y: 0.97, z: 0.97} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 4285150312399270504} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -11.5, y: 2.2} - m_SizeDelta: {x: 252, y: 59} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8467797575202189337 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 101169959804132163} - m_CullTransparentMesh: 1 ---- !u!114 &7330110570022864679 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 101169959804132163} - 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: 21300000, guid: 31f9d507dc1090e40890488af661cce4, 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!1 &1655582744225354579 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1742415150635032318} - - component: {fileID: 4442018217305825738} - - component: {fileID: 3447647754067627928} - m_Layer: 0 - m_Name: Text (Legacy) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1742415150635032318 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655582744225354579} - 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: 9152081248045943333} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.5} - m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4442018217305825738 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655582744225354579} - m_CullTransparentMesh: 1 ---- !u!114 &3447647754067627928 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1655582744225354579} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, 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_FontData: - m_Font: {fileID: 12800000, guid: 7743e66bf111ecd478cacabf6cfe11c1, type: 3} - m_FontSize: 65 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 2 - m_MaxSize: 121 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 0 - m_HorizontalOverflow: 1 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 192.168.1.221 ---- !u!1 &1663032043912723249 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3953940986248717525} - - component: {fileID: 7308105770678923882} - - component: {fileID: 5074025334627723985} - m_Layer: 0 - m_Name: Content - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3953940986248717525 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1663032043912723249} - 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: 4505948274014654145} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0.0002936492} - m_SizeDelta: {x: 0, y: 261} - m_Pivot: {x: 0, y: 1} ---- !u!114 &7308105770678923882 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1663032043912723249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: -694 - m_Top: 167 - m_Bottom: 0 - m_ChildAlignment: 4 - m_Spacing: 20 - m_ChildForceExpandWidth: 1 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!114 &5074025334627723985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1663032043912723249} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalFit: 0 - m_VerticalFit: 2 ---- !u!1 &3004846387420578572 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7822314074319250458} - - component: {fileID: 1706036345901214064} - - component: {fileID: 8171108347461617939} - - component: {fileID: 3913736337732875894} - m_Layer: 0 - m_Name: Con(0) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7822314074319250458 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004846387420578572} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.15, y: 1.15, z: 1.15} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 3868936698666940836} - - {fileID: 4285150312399270504} - - {fileID: 957213748619224338} - - {fileID: 9152081248045943333} - m_Father: {fileID: 5670767679311589233} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -1, y: 1} - m_SizeDelta: {x: 720, y: 425} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1706036345901214064 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004846387420578572} - m_CullTransparentMesh: 1 ---- !u!114 &8171108347461617939 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004846387420578572} - 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: 0.8490566, g: 0.8490566, b: 0.8490566, a: 0.78431374} - 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: 21300000, guid: cd5a4ca0ea846a74885b680fbb9d6702, 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!114 &3913736337732875894 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3004846387420578572} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 0 - m_Right: 0 - m_Top: 0 - m_Bottom: 0 - m_ChildAlignment: 4 - m_Spacing: 20 - m_ChildForceExpandWidth: 0 - m_ChildForceExpandHeight: 0 - m_ChildControlWidth: 0 - m_ChildControlHeight: 0 - m_ChildScaleWidth: 0 - m_ChildScaleHeight: 0 - m_ReverseArrangement: 0 ---- !u!1 &3132736330239582493 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4505948274014654145} - - component: {fileID: 7165106002957444709} - - component: {fileID: 1539441904490820483} - - component: {fileID: 1107016350934636335} - m_Layer: 0 - m_Name: Viewport - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4505948274014654145 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3132736330239582493} - 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: - - {fileID: 3953940986248717525} - m_Father: {fileID: 3654027913332958722} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -50} - m_SizeDelta: {x: 0, y: -100} - m_Pivot: {x: 0, y: 1} ---- !u!222 &7165106002957444709 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3132736330239582493} - m_CullTransparentMesh: 1 ---- !u!114 &1539441904490820483 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3132736330239582493} - 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: 10917, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - 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!114 &1107016350934636335 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3132736330239582493} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!1 &3204757280136384181 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4285150312399270504} - - component: {fileID: 7972682159259273351} - - component: {fileID: 2352074797876622065} - - component: {fileID: 4187847188515863374} - m_Layer: 0 - m_Name: FindServer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4285150312399270504 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3204757280136384181} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.38, y: 0.38, z: 0.38} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 8837809370111094707} - m_Father: {fileID: 7822314074319250458} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 8.7, y: -38.6} - m_SizeDelta: {x: 720, y: 101} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7972682159259273351 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3204757280136384181} - m_CullTransparentMesh: 1 ---- !u!114 &2352074797876622065 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3204757280136384181} - 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: 21300000, guid: 4d82bf7cf7f87a743908262ca3e33460, 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!114 &4187847188515863374 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3204757280136384181} - 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: 2352074797876622065} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 2518662657941593367} - m_TargetAssemblyTypeName: ConPanel, Assembly-CSharp - m_MethodName: OnClickFindServer - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!1 &5670767679311589232 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5670767679311589233} - - component: {fileID: 5670767679311589235} - - component: {fileID: 2290811044743103264} - - component: {fileID: 2518662657941593367} - m_Layer: 0 - m_Name: ConPanel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &5670767679311589233 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5670767679311589232} - 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: - - {fileID: 7822314074319250458} - - {fileID: 3654027913332958722} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 573.6, y: 500} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5670767679311589235 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5670767679311589232} - m_CullTransparentMesh: 1 ---- !u!114 &2290811044743103264 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5670767679311589232} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 17e8988964d3ddf4eb19b2b040152b76, type: 3} - m_Name: - m_EditorClassIdentifier: - nowState: 0 ---- !u!114 &2518662657941593367 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5670767679311589232} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 831f4d41fb0772544b8d979c5bcd8bee, type: 3} - m_Name: - m_EditorClassIdentifier: - PanelState: {fileID: 2290811044743103264} - Page2: {fileID: 3953940986248717525} - IPBtn: {fileID: 4436211812007206401, guid: 7f7d6c5b8a854d8438ecdc028a1c6da5, type: 3} - IPBtns: [] - IsInit: 0 ---- !u!1 &5939056968979904597 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3868936698666940836} - - component: {fileID: 3451760529660759614} - - component: {fileID: 992844464380465708} - - component: {fileID: 5379177855232856504} - m_Layer: 0 - m_Name: Host - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3868936698666940836 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5939056968979904597} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.38, y: 0.38, z: 0.38} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 3808804771675822528} - m_Father: {fileID: 7822314074319250458} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 8.7, y: 11.7} - m_SizeDelta: {x: 720, y: 101} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3451760529660759614 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5939056968979904597} - m_CullTransparentMesh: 1 ---- !u!114 &992844464380465708 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5939056968979904597} - 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: 21300000, guid: 4d82bf7cf7f87a743908262ca3e33460, 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!114 &5379177855232856504 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5939056968979904597} - 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: 992844464380465708} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 2518662657941593367} - m_TargetAssemblyTypeName: ConPanel, Assembly-CSharp - m_MethodName: OnClickHost - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!1 &6887318311662752677 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3808804771675822528} - - component: {fileID: 2097278713897946995} - - component: {fileID: 7334188320741805285} - m_Layer: 0 - m_Name: Image (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &3808804771675822528 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6887318311662752677} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.97, y: 0.97, z: 0.97} - m_ConstrainProportionsScale: 1 - m_Children: [] - m_Father: {fileID: 3868936698666940836} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -11.5, y: 2.2} - m_SizeDelta: {x: 252, y: 59} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2097278713897946995 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6887318311662752677} - m_CullTransparentMesh: 1 ---- !u!114 &7334188320741805285 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6887318311662752677} - 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: 21300000, guid: 3399c7c06a1c0024888cbb90d5c06388, 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!1 &6932933128518240743 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3654027913332958722} - - component: {fileID: 5015845784101780321} - - component: {fileID: 1383108187724398957} - - component: {fileID: 7021983099822810366} - m_Layer: 0 - m_Name: Scroll View(1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &3654027913332958722 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6932933128518240743} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 4505948274014654145} - m_Father: {fileID: 5670767679311589233} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 42} - m_SizeDelta: {x: 2258, y: 746.41895} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5015845784101780321 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6932933128518240743} - m_CullTransparentMesh: 1 ---- !u!114 &1383108187724398957 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6932933128518240743} - 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: 21300000, guid: 7fa3c09e0ccf95a429c2bb505a572696, 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!114 &7021983099822810366 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6932933128518240743} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Content: {fileID: 3953940986248717525} - m_Horizontal: 0 - m_Vertical: 1 - m_MovementType: 1 - m_Elasticity: 0.1 - m_Inertia: 1 - m_DecelerationRate: 0.135 - m_ScrollSensitivity: 1 - m_Viewport: {fileID: 4505948274014654145} - m_HorizontalScrollbar: {fileID: 0} - m_VerticalScrollbar: {fileID: 0} - m_HorizontalScrollbarVisibility: 2 - m_VerticalScrollbarVisibility: 2 - m_HorizontalScrollbarSpacing: -3 - m_VerticalScrollbarSpacing: -3 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &6974669943930437898 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 957213748619224338} - - component: {fileID: 7047349999067934064} - - component: {fileID: 8343025175570967873} - m_Layer: 0 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &957213748619224338 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6974669943930437898} - 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: 7822314074319250458} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 1.5, y: 96.8} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7047349999067934064 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6974669943930437898} - m_CullTransparentMesh: 1 ---- !u!114 &8343025175570967873 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6974669943930437898} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u8054\u673A\u9009\u9879" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: 9861a6325d4fe384cabed1305ec8e929, type: 2} - m_sharedMaterial: {fileID: -709690668904339887, guid: 9861a6325d4fe384cabed1305ec8e929, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4281265407 - m_fontColor: {r: 1, g: 0.92549026, b: 0.18039216, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 24.23 - m_fontSizeBase: 24.23 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 512 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &8150467304955034659 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9152081248045943333} - - component: {fileID: 4564022736430051644} - - component: {fileID: 6358737893794953858} - - component: {fileID: 4961926104672054232} - m_Layer: 0 - m_Name: InputField (Legacy) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &9152081248045943333 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8150467304955034659} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.26086956, y: 0.26086956, z: 0.26086956} - m_ConstrainProportionsScale: 1 - m_Children: - - {fileID: 4932253313531934418} - - {fileID: 1742415150635032318} - m_Father: {fileID: 7822314074319250458} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 451.39136, y: -148.35832} - m_SizeDelta: {x: 1121, y: 94} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4564022736430051644 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8150467304955034659} - m_CullTransparentMesh: 1 ---- !u!114 &6358737893794953858 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8150467304955034659} - 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: 21300000, guid: e5a3236c125b0654eafe066c1f5f85ff, 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!114 &4961926104672054232 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8150467304955034659} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, 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: 6358737893794953858} - m_TextComponent: {fileID: 3447647754067627928} - m_Placeholder: {fileID: 7416538940425524248} - m_ContentType: 0 - m_InputType: 0 - m_AsteriskChar: 42 - m_KeyboardType: 0 - m_LineType: 0 - m_HideMobileInput: 0 - m_CharacterValidation: 0 - m_CharacterLimit: 0 - m_OnSubmit: - m_PersistentCalls: - m_Calls: [] - m_OnDidEndEdit: - m_PersistentCalls: - m_Calls: [] - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] - m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} - m_CustomCaretColor: 0 - m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} - m_Text: 192.168.1.221 - m_CaretBlinkRate: 0.85 - m_CaretWidth: 1 - m_ReadOnly: 0 - m_ShouldActivateOnSelect: 1 ---- !u!1 &8480597530353187381 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4932253313531934418} - - component: {fileID: 3903629078124229434} - - component: {fileID: 7416538940425524248} - m_Layer: 0 - m_Name: Placeholder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &4932253313531934418 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8480597530353187381} - 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: 9152081248045943333} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -0.5} - m_SizeDelta: {x: -20, y: -13} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &3903629078124229434 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8480597530353187381} - m_CullTransparentMesh: 1 ---- !u!114 &7416538940425524248 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8480597530353187381} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_FontData: - m_Font: {fileID: 12800000, guid: 7743e66bf111ecd478cacabf6cfe11c1, type: 3} - m_FontSize: 20 - m_FontStyle: 2 - m_BestFit: 0 - m_MinSize: 2 - m_MaxSize: 40 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: "\u8F93\u5165\u670D\u52A1\u5668\u5730\u5740" diff --git a/Assets/_SnowWhite/Resources/UI/HUDPanel.prefab b/Assets/_SnowWhite/Resources/UI/HUDPanel.prefab index aa3ef1ab..ec0bedd6 100644 --- a/Assets/_SnowWhite/Resources/UI/HUDPanel.prefab +++ b/Assets/_SnowWhite/Resources/UI/HUDPanel.prefab @@ -563,6 +563,7 @@ RectTransform: m_Children: - {fileID: 14603909123281466} - {fileID: 1520060182627552417} + - {fileID: 1661330965035013419} - {fileID: 14603910604296089} - {fileID: 14603909935618084} - {fileID: 14603910878599804} @@ -602,11 +603,13 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: LessTimeText: {fileID: 14603908873354842} - eggImage: {fileID: 2694820340010660571} bloodEffectPrefab: {fileID: 1190333178644712044} bloodEffectDuration: 2 timerPanel: {fileID: 0} timerText: {fileID: 0} + ghostUIPrefab: {fileID: 9017577495742741455} + ghostUIDuration: 3 + ghostUIContainer: {fileID: 14603909944634288} --- !u!1 &14603909974664752 GameObject: m_ObjectHideFlags: 0 @@ -1812,3 +1815,91 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &9017577495742741455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1661330965035013419} + - component: {fileID: 3624383442721764108} + - component: {fileID: 3965886824339722058} + - component: {fileID: 2961853340268937047} + m_Layer: 10 + m_Name: ghostUIPrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1661330965035013419 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9017577495742741455} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.63, y: 0.63, z: 0.63} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 14603909944634288} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 512, y: 619} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3624383442721764108 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9017577495742741455} + m_CullTransparentMesh: 1 +--- !u!114 &3965886824339722058 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9017577495742741455} + 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: 0.4392157} + 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: 21300000, guid: a6721511441c05a43964dac58584c890, 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!225 &2961853340268937047 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9017577495742741455} + m_Enabled: 1 + m_Alpha: 1 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 diff --git a/Assets/_SnowWhite/Resources/UI/IPBtn.prefab b/Assets/_SnowWhite/Resources/UI/IPBtn.prefab deleted file mode 100644 index 6a16568a..00000000 --- a/Assets/_SnowWhite/Resources/UI/IPBtn.prefab +++ /dev/null @@ -1,228 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4436211812007206401 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6963393465874576158} - - component: {fileID: 4443248091346105258} - - component: {fileID: 6503283152138286998} - - component: {fileID: 8436270637514513032} - - component: {fileID: 3526706898400189732} - m_Layer: 0 - m_Name: IPBtn - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6963393465874576158 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4436211812007206401} - 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: - - {fileID: 7115733095195457303} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1121, y: 94} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &4443248091346105258 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4436211812007206401} - m_CullTransparentMesh: 1 ---- !u!114 &6503283152138286998 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4436211812007206401} - 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: 21300000, guid: e5a3236c125b0654eafe066c1f5f85ff, 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!114 &8436270637514513032 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4436211812007206401} - 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: 6503283152138286998} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3526706898400189732} - m_TargetAssemblyTypeName: IPBtn, Assembly-CSharp - m_MethodName: OnTouchBtn - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 ---- !u!114 &3526706898400189732 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4436211812007206401} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0c73adafed0de8342b06c1603c34ab38, type: 3} - m_Name: - m_EditorClassIdentifier: - IPText: {fileID: 8476728881415520508} ---- !u!1 &7127913122131862565 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7115733095195457303} - - component: {fileID: 1023812241818874033} - - component: {fileID: 8476728881415520508} - m_Layer: 0 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &7115733095195457303 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7127913122131862565} - 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: 6963393465874576158} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &1023812241818874033 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7127913122131862565} - m_CullTransparentMesh: 1 ---- !u!114 &8476728881415520508 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7127913122131862565} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 0.03773582, g: 0.03577783, b: 0.03577783, 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_FontData: - m_Font: {fileID: 12800000, guid: 7743e66bf111ecd478cacabf6cfe11c1, type: 3} - m_FontSize: 67 - m_FontStyle: 0 - m_BestFit: 0 - m_MinSize: 3 - m_MaxSize: 68 - m_Alignment: 4 - m_AlignByGeometry: 0 - m_RichText: 1 - m_HorizontalOverflow: 0 - m_VerticalOverflow: 0 - m_LineSpacing: 1 - m_Text: 0.0.0.0 diff --git a/Assets/_SnowWhite/Resources/UI/SettlePanel.prefab b/Assets/_SnowWhite/Resources/UI/SettlePanel.prefab deleted file mode 100644 index 815004bc..00000000 --- a/Assets/_SnowWhite/Resources/UI/SettlePanel.prefab +++ /dev/null @@ -1,1073 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &517958550022157508 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517958550022157509} - - component: {fileID: 517958550022157511} - - component: {fileID: 517958550022157510} - m_Layer: 10 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &517958550022157509 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550022157508} - 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: - - {fileID: 9154382923048448148} - - {fileID: 594488910238934639} - - {fileID: 2422870007928686853} - - {fileID: 8332140001139414898} - m_Father: {fileID: 517958550788174242} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -9, y: 85} - m_SizeDelta: {x: 465, y: 54} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &517958550022157511 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550022157508} - m_CullTransparentMesh: 1 ---- !u!114 &517958550022157510 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550022157508} - 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: 21300000, guid: 8910e0019c69cf04ebbd5508564f1b74, 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!1 &517958550094975846 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517958550094975847} - - component: {fileID: 517958550094975849} - - component: {fileID: 517958550094975848} - m_Layer: 10 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &517958550094975847 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550094975846} - 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: 517958550788174242} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1920, y: 1080} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &517958550094975849 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550094975846} - m_CullTransparentMesh: 1 ---- !u!114 &517958550094975848 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550094975846} - 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: 21300000, guid: b205553b03577044cb502c38f90d3968, 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!1 &517958550117920139 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517958550117920140} - - component: {fileID: 517958550117920142} - - component: {fileID: 517958550117920141} - m_Layer: 10 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &517958550117920140 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550117920139} - 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: 517958550788174242} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 15, y: 30} - m_SizeDelta: {x: 628, y: 487} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &517958550117920142 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550117920139} - m_CullTransparentMesh: 1 ---- !u!114 &517958550117920141 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550117920139} - 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: 21300000, guid: 8a289ca2cbe548b488c423596ee2bad9, 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!1 &517958550788174241 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517958550788174242} - - component: {fileID: 1575450382975969614} - m_Layer: 10 - m_Name: SettlePanel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &517958550788174242 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550788174241} - 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: - - {fileID: 517958550094975847} - - {fileID: 517958551052073809} - - {fileID: 517958550117920140} - - {fileID: 517958550022157509} - - {fileID: 6839937304341189515} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1575450382975969614 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958550788174241} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ef0ab2d451a14ea42924bc5fc7aa721d, type: 3} - m_Name: - m_EditorClassIdentifier: - settlePre: {fileID: 4333621407084028297, guid: 967c51da60b108e46b03160cc93a5277, - type: 3} - text: {fileID: 7949144310932959656} - Node: {fileID: 517958551052073808} ---- !u!1 &517958551052073808 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 517958551052073809} - - component: {fileID: 517958551052073811} - - component: {fileID: 517958551052073810} - - component: {fileID: 3732618639375016762} - m_Layer: 10 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &517958551052073809 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958551052073808} - 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: 517958550788174242} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 25, y: -11} - m_SizeDelta: {x: 582, y: 344} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &517958551052073811 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958551052073808} - m_CullTransparentMesh: 1 ---- !u!114 &517958551052073810 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958551052073808} - 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: 21300000, guid: aabb834416be15e40bb3e22dbdce7caa, 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!114 &3732618639375016762 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 517958551052073808} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Padding: - m_Left: 32 - m_Right: 0 - m_Top: 15 - m_Bottom: 0 - m_ChildAlignment: 3 - m_StartCorner: 0 - m_StartAxis: 1 - m_CellSize: {x: 467, y: 48} - m_Spacing: {x: 0, y: 0} - m_Constraint: 0 - m_ConstraintCount: 2 ---- !u!1 &661795445956563884 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9154382923048448148} - - component: {fileID: 5345966350631117259} - - component: {fileID: 8546653523384909455} - m_Layer: 10 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &9154382923048448148 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 661795445956563884} - 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: 517958550022157509} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -157.8, y: -5.7} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5345966350631117259 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 661795445956563884} - m_CullTransparentMesh: 1 ---- !u!114 &8546653523384909455 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 661795445956563884} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u73A9\u5BB6" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e375a3b6680d3c848b457b0516e02a8e, type: 2} - m_sharedMaterial: {fileID: -4503282815784229796, guid: e375a3b6680d3c848b457b0516e02a8e, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26 - m_fontSizeBase: 26 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &4612536147588945979 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8332140001139414898} - - component: {fileID: 2472044706849215010} - - component: {fileID: 4816336283188877371} - m_Layer: 10 - m_Name: Text (TMP) (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &8332140001139414898 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4612536147588945979} - 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: 517958550022157509} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 148.8, y: -5.7} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2472044706849215010 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4612536147588945979} - m_CullTransparentMesh: 1 ---- !u!114 &4816336283188877371 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4612536147588945979} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u79F0\u53F7" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e375a3b6680d3c848b457b0516e02a8e, type: 2} - m_sharedMaterial: {fileID: -4503282815784229796, guid: e375a3b6680d3c848b457b0516e02a8e, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26 - m_fontSizeBase: 26 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &4864476028772380132 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 594488910238934639} - - component: {fileID: 5682198585703097328} - - component: {fileID: 2027554305978256403} - m_Layer: 10 - m_Name: Text (TMP) (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &594488910238934639 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4864476028772380132} - 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: 517958550022157509} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -58.7, y: -5.7} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &5682198585703097328 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4864476028772380132} - m_CullTransparentMesh: 1 ---- !u!114 &2027554305978256403 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4864476028772380132} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u79EF\u5206" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e375a3b6680d3c848b457b0516e02a8e, type: 2} - m_sharedMaterial: {fileID: -4503282815784229796, guid: e375a3b6680d3c848b457b0516e02a8e, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26 - m_fontSizeBase: 26 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &7034276384961205228 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2422870007928686853} - - component: {fileID: 8658214244239952993} - - component: {fileID: 4538924260694890730} - m_Layer: 10 - m_Name: Text (TMP) (2) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2422870007928686853 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7034276384961205228} - 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: 517958550022157509} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 45.3, y: -5.7} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &8658214244239952993 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7034276384961205228} - m_CullTransparentMesh: 1 ---- !u!114 &4538924260694890730 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7034276384961205228} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: "\u6392\u540D" - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e375a3b6680d3c848b457b0516e02a8e, type: 2} - m_sharedMaterial: {fileID: -4503282815784229796, guid: e375a3b6680d3c848b457b0516e02a8e, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 26 - m_fontSizeBase: 26 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!1 &7641004075875176436 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6839937304341189515} - - component: {fileID: 2874698784572761591} - - component: {fileID: 7949144310932959656} - m_Layer: 10 - m_Name: Text (TMP) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &6839937304341189515 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7641004075875176436} - 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: 517958550788174242} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 228, y: 197} - m_SizeDelta: {x: 200, y: 50} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &2874698784572761591 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7641004075875176436} - m_CullTransparentMesh: 1 ---- !u!114 &7949144310932959656 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7641004075875176436} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: e375a3b6680d3c848b457b0516e02a8e, type: 2} - m_sharedMaterial: {fileID: -4503282815784229796, guid: e375a3b6680d3c848b457b0516e02a8e, - type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} - m_enableVertexGradient: 0 - m_colorMode: 3 - m_fontColorGradient: - topLeft: {r: 1, g: 1, b: 1, a: 1} - topRight: {r: 1, g: 1, b: 1, a: 1} - bottomLeft: {r: 1, g: 1, b: 1, a: 1} - bottomRight: {r: 1, g: 1, b: 1, a: 1} - m_fontColorGradientPreset: {fileID: 0} - m_spriteAsset: {fileID: 0} - m_tintAllSprites: 0 - m_StyleSheet: {fileID: 0} - m_TextStyleHashCode: -1183493901 - m_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_HorizontalAlignment: 2 - m_VerticalAlignment: 256 - m_textAlignment: 65535 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_linkedTextComponent: {fileID: 0} - parentLinkedComponent: {fileID: 0} - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_IsTextObjectScaleStatic: 0 - m_VertexBufferAutoSizeReduction: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 0, y: 0, z: 0, w: 0} - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_hasFontAssetChanged: 0 - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/_SnowWhite/Scenes/GongSi1Lou.unity b/Assets/_SnowWhite/Scenes/GongSi1Lou.unity index e73bf480..71eed1ed 100644 --- a/Assets/_SnowWhite/Scenes/GongSi1Lou.unity +++ b/Assets/_SnowWhite/Scenes/GongSi1Lou.unity @@ -3375,6 +3375,134 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!1 &324761303 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 324761304} + - component: {fileID: 324761305} + m_Layer: 0 + m_Name: BGM4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &324761304 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324761303} + 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: 582162615} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!82 &324761305 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 324761303} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 8300000, guid: 555483875b0edae428027d604c612fb8, type: 3} + m_PlayOnAwake: 1 + m_Volume: 1 + m_Pitch: 1 + Loop: 1 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1 &348209181 GameObject: m_ObjectHideFlags: 0 @@ -3788,6 +3916,7 @@ MonoBehaviour: - {fileID: 277529619} - {fileID: 399455311} - {fileID: 2105210298} + - {fileID: 324761303} enemyPos: {fileID: 1152711581} startDoorPos: {fileID: 928594070} mirrorPos: {fileID: 0} @@ -6090,6 +6219,7 @@ Transform: - {fileID: 277529620} - {fileID: 399455312} - {fileID: 2105210300} + - {fileID: 324761304} m_Father: {fileID: 240862678} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &582162616 @@ -6289,6 +6419,37 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 627150162} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &629258868 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 629258869} + m_Layer: 0 + m_Name: dreamEnvironment + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &629258869 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 629258868} + 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: 1647437757} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &634864417 GameObject: m_ObjectHideFlags: 0 @@ -16388,6 +16549,73 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!1 &1647437756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1647437757} + - component: {fileID: 1647437758} + m_Layer: 0 + m_Name: DreamAppleEvent + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1647437757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1647437756} + 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: + - {fileID: 629258869} + m_Father: {fileID: 1689605413} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1647437758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1647437756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: df41abfd0e10f9d448e889dfa4b7086c, type: 3} + m_Name: + m_EditorClassIdentifier: + debugMode: 1 + autoStart: 0 + autoStartDelay: 1 + dreamWitchPrefab: {fileID: 754555143305833408, guid: 01a932a0b243353458474202a274d02b, + type: 3} + witchSpawnOffset: {x: 0, y: 3, z: 5} + dreamSwordPrefab: {fileID: 0} + swordAttachPoint: {fileID: 0} + poisonApplePrefab: {fileID: 6932340588733953491, guid: 08c07a1efc6272a4e9c2dc8e60cb5aff, + type: 3} + targetAppleCount: 30 + appleSpawnInterval: 2 + ghostPrefab: {fileID: 1012488050875606214, guid: d2133e78601c21643b85faf7ac37ff4b, + type: 3} + ghostSpawnInterval: 15 + battleTimeLimit: 240 + introAudio: 1.17 + victoryAudio: 1.18 + bgm: 3.4 + victorySfx: 2.2 + dreamEnvironment: {fileID: 629258868} + currentState: 0 --- !u!1 &1667946988 GameObject: m_ObjectHideFlags: 0 @@ -17050,6 +17278,7 @@ Transform: - {fileID: 613688039} - {fileID: 1188798799} - {fileID: 1927483618} + - {fileID: 1647437757} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1706367014 @@ -21715,6 +21944,7 @@ MonoBehaviour: - {fileID: 613688040} - {fileID: 1188798800} - {fileID: 1927483619} + - {fileID: 1647437758} --- !u!4 &6399154517215508142 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/_SnowWhite/Scripts/Base/GameManager.cs b/Assets/_SnowWhite/Scripts/Base/GameManager.cs index cfb1ad2e..288297ac 100644 --- a/Assets/_SnowWhite/Scripts/Base/GameManager.cs +++ b/Assets/_SnowWhite/Scripts/Base/GameManager.cs @@ -103,7 +103,7 @@ public class GameManager : MonoBehaviour //CreateAICharacter(); //CleanupGuideArrow(); //CreateEnemy(GameLocal.Ins.enemyPos.position,GameLocal.Ins.enemyPos.eulerAngles); - StartCutscene(2); + StartCutscene(3); } public void StartCutscene(int id) diff --git a/Assets/_SnowWhite/Scripts/DreamEvent.meta b/Assets/_SnowWhite/Scripts/DreamEvent.meta new file mode 100644 index 00000000..2fafdc9e --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 33264a20e93bcb74ba4bfa3a9c419ab1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs b/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs new file mode 100644 index 00000000..9fb65375 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs @@ -0,0 +1,635 @@ +using UnityEngine; +using DG.Tweening; +using DarkTonic.MasterAudio; +using System.Collections; +using System.Collections.Generic; + +/// +/// 梦境毒苹果事件状态 +/// +public enum DreamEventState +{ + None, // 未开始 + Intro, // 介绍阶段 + Battle, // 战斗中 + TimeUp, // 时间到(强制结束) + Victory, // 胜利 + Failure, // 失败 + Complete // 完成 +} + +/// +/// 梦境毒苹果事件 - 玩家在梦境中切开毒苹果恢复理智 +/// 继承CutsceneBase,管理完整的梦境战斗流程 +/// +/// 核心玩法: +/// - 女巫投掷毒苹果(三种随机轨迹) +/// - 幽灵每15秒出现攻击玩家 +/// - 玩家挥剑切毒苹果和幽灵 +/// - 4分钟内切30个毒苹果获胜 +/// +public class DreamAppleEvent : CutsceneBase +{ + #region 配置参数 + + [Header("女巫配置")] + public GameObject dreamWitchPrefab; // 梦境女巫预制体 + public Vector3 witchSpawnOffset = new Vector3(0, 3f, 5f); + + [Header("宝剑配置")] + public GameObject dreamSwordPrefab; // 梦境宝剑预制体 + public Transform swordAttachPoint; // 宝剑附着点(玩家手部) + + [Header("毒苹果配置")] + public GameObject poisonApplePrefab; // 毒苹果预制体 + public int targetAppleCount = 30; // 目标切中数量 + public float appleSpawnInterval = 2f; // 苹果生成间隔 + + [Header("幽灵配置")] + public GameObject ghostPrefab; // 幽灵预制体 + public float ghostSpawnInterval = 15f; // 幽灵生成间隔(策划案要求15秒) + + [Header("时间配置")] + public float battleTimeLimit = 240f; // 4分钟时限 + + [Header("音效配置")] + [SoundGroup] public string introAudio = "1.17"; // 介绍语音 + [SoundGroup] public string victoryAudio = "1.18"; // 胜利语音 + [SoundGroup] public string bgm = "3.4"; // 梦境BGM + [SoundGroup] public string victorySfx = "2.2"; // 战斗胜利音效 + + [Header("场景配置")] + public GameObject dreamEnvironment; // 梦境环境(天空盒、塔罗牌等) + + #endregion + + #region 状态 + + public DreamEventState currentState = DreamEventState.None; + public float remainingTime { get; private set; } + public int slicedAppleCount { get; private set; } + public int missedAppleCount { get; private set; } + + #endregion + + #region 私有变量 + + private DreamWitch dreamWitch; + private DreamSword dreamSword; + private Transform playerTransform; + private Coroutine battleCoroutine; + private Coroutine appleSpawnCoroutine; + private Coroutine ghostSpawnCoroutine; + private List activeObjects = new List(); + + #endregion + + #region 实现抽象方法 + + public override void StartCutscene() + { + if (isPlaying) + { + Debug.LogWarning("[DreamAppleEvent] 事件已在进行中"); + return; + } + + isPlaying = true; + currentStep = 0; + currentState = DreamEventState.None; + slicedAppleCount = 0; + missedAppleCount = 0; + + playerTransform = GameLocal.Ins?.self?.transform; + + if (debugMode) + Debug.Log("[DreamAppleEvent] ========== 开始梦境毒苹果事件 =========="); + + StartCoroutine(PlayEventSequence()); + } + + public override string GetCurrentStateDescription() + { + return $"状态: {currentState}, 剩余时间: {remainingTime:F1}秒, 已切苹果: {slicedAppleCount}/{targetAppleCount}"; + } + + public override void WaitComplete() + { + base.WaitComplete(); + // 可以用于外部强制完成 + } + + #endregion + + #region 事件流程 + + private IEnumerator PlayEventSequence() + { + // ========== 场景切换 ========== + if (dreamEnvironment != null) + dreamEnvironment.SetActive(true); + + // 播放梦境BGM + GameManager.Ins?.PlayBGM(3); + + yield return new WaitForSeconds(1f); + + // ========== 介绍阶段 ========== + currentState = DreamEventState.Intro; + currentStep = 1; + + if (debugMode) + Debug.Log("[DreamAppleEvent] 步骤1: 播放介绍语音"); + + PlayAudio2D(introAudio); + yield return StartCoroutine(WaitForAudioComplete(introAudio, 15f)); + + // ========== 给玩家宝剑 ========== + SpawnSword(); + + yield return new WaitForSeconds(1f); + + // ========== 生成女巫 ========== + SpawnWitch(); + + yield return new WaitForSeconds(2f); // 等待女巫生成动画 + + // ========== 开始战斗 ========== + currentState = DreamEventState.Battle; + currentStep = 2; + + if (debugMode) + Debug.Log("[DreamAppleEvent] 步骤2: 战斗开始"); + + // 启动战斗计时器 + remainingTime = battleTimeLimit; + battleCoroutine = StartCoroutine(BattleTimer()); + + // 启动苹果生成 + appleSpawnCoroutine = StartCoroutine(AppleSpawnLoop()); + + // 启动幽灵生成 + ghostSpawnCoroutine = StartCoroutine(GhostSpawnLoop()); + + // 等待战斗结束 + yield return new WaitUntil(() => + currentState == DreamEventState.Victory || + currentState == DreamEventState.TimeUp || + currentState == DreamEventState.Complete); + + // 停止生成 + StopSpawnCoroutines(); + + // 清理所有活动对象 + CleanupActiveObjects(); + + // 等待完成 + yield return new WaitUntil(() => currentState == DreamEventState.Complete); + } + + /// + /// 战斗计时器 + /// + private IEnumerator BattleTimer() + { + while (remainingTime > 0 && currentState == DreamEventState.Battle) + { + remainingTime -= Time.deltaTime; + + // 更新UI + UpdateBattleUI(); + + // 检查胜利条件 + if (slicedAppleCount >= targetAppleCount) + { + OnVictory(); + yield break; + } + + yield return null; + } + + // 时间到 + if (remainingTime <= 0 && slicedAppleCount < targetAppleCount) + { + OnTimeUp(); + } + } + + /// + /// 毒苹果生成循环 + /// + private IEnumerator AppleSpawnLoop() + { + yield return new WaitForSeconds(1f); // 初始延迟 + + while (currentState == DreamEventState.Battle) + { + if (dreamWitch != null && dreamWitch.IsActive) + { + dreamWitch.ThrowApple(); + } + + yield return new WaitForSeconds(appleSpawnInterval); + } + } + + /// + /// 幽灵生成循环 + /// + private IEnumerator GhostSpawnLoop() + { + yield return new WaitForSeconds(ghostSpawnInterval); // 首个幽灵延迟 + + while (currentState == DreamEventState.Battle) + { + if (dreamWitch != null && dreamWitch.IsActive) + { + dreamWitch.SummonGhost(); + } + + yield return new WaitForSeconds(ghostSpawnInterval); + } + } + + #endregion + + #region 生成方法 + + /// + /// 生成宝剑 + /// + private void SpawnSword() + { + GameManager.Ins.playerRightHand.ShowDreamSword(); + dreamSword = GameManager.Ins.playerRightHand.dreamSword.GetComponent(); + if (dreamSword != null) + { + dreamSword.Initialize(this); + } + + if (debugMode) + Debug.Log("[DreamAppleEvent] 宝剑已生成"); + } + + /// + /// 生成女巫 + /// + private void SpawnWitch() + { + if (dreamWitchPrefab == null) + { + Debug.LogError("[DreamAppleEvent] 女巫预制体未设置!"); + return; + } + + Vector3 spawnPos = playerTransform != null ? + playerTransform.position + witchSpawnOffset : + witchSpawnOffset; + + GameObject witch = Instantiate(dreamWitchPrefab, spawnPos, Quaternion.identity); + + dreamWitch = witch.GetComponent(); + if (dreamWitch == null) + { + dreamWitch = witch.AddComponent(); + } + + // 设置预制体引用 + if (dreamWitch.poisonApplePrefab == null) + dreamWitch.poisonApplePrefab = poisonApplePrefab; + if (dreamWitch.ghostPrefab == null) + dreamWitch.ghostPrefab = ghostPrefab; + + dreamWitch.Initialize(playerTransform, this); + + activeObjects.Add(witch); + + if (debugMode) + Debug.Log($"[DreamAppleEvent] 女巫已生成在: {spawnPos}"); + } + + #endregion + + #region 战斗回调 + + /// + /// 毒苹果被切开 + /// + public void OnAppleSliced(PoisonApple apple) + { + slicedAppleCount++; + + if (debugMode) + Debug.Log($"[DreamAppleEvent] 苹果被切开!进度: {slicedAppleCount}/{targetAppleCount}"); + + // 更新UI + UpdateBattleUI(); + + // 检查胜利 + if (slicedAppleCount >= targetAppleCount && currentState == DreamEventState.Battle) + { + OnVictory(); + } + } + + /// + /// 毒苹果未击中 + /// + public void OnAppleMissed(PoisonApple apple) + { + missedAppleCount++; + + if (debugMode) + Debug.Log($"[DreamAppleEvent] 苹果未击中!已错过: {missedAppleCount}"); + } + + /// + /// 幽灵被切开 + /// + public void OnGhostSliced(Ghost ghost) + { + if (debugMode) + Debug.Log("[DreamAppleEvent] 幽灵被切开!"); + } + + /// + /// 幽灵附着玩家 + /// + public void OnGhostAttached(Ghost ghost) + { + if (debugMode) + Debug.Log("[DreamAppleEvent] 幽灵附着玩家!"); + + // TODO: 触发屏幕特效 + } + + #endregion + + #region 结束处理 + + /// + /// 胜利 + /// + private void OnVictory() + { + if (currentState != DreamEventState.Battle) return; + + currentState = DreamEventState.Victory; + currentStep = 5; + + if (debugMode) + Debug.Log("[DreamAppleEvent] ========== 胜利! =========="); + + // 停止计时器 + if (battleCoroutine != null) + { + StopCoroutine(battleCoroutine); + battleCoroutine = null; + } + + StartCoroutine(VictorySequence()); + } + + /// + /// 胜利流程 + /// + private IEnumerator VictorySequence() + { + // 女巫离开 + if (dreamWitch != null) + { + dreamWitch.Leave(); + } + + // 播放胜利音效 + PlayAudio2D(victorySfx); + + yield return new WaitForSeconds(1f); + + // 播放胜利语音 + PlayAudio2D(victoryAudio); + yield return StartCoroutine(WaitForAudioComplete(victoryAudio, 15f)); + + // 完成 + currentState = DreamEventState.Complete; + currentStep = 10; + + if (debugMode) + Debug.Log("[DreamAppleEvent] ========== 梦境毒苹果事件完成 =========="); + + TriggerComplete(); + } + + /// + /// 时间到 + /// + private void OnTimeUp() + { + if (currentState != DreamEventState.Battle) return; + + currentState = DreamEventState.TimeUp; + currentStep = 6; + IsOvertime = true; + + if (debugMode) + Debug.Log("[DreamAppleEvent] ========== 时间到,强制结束 =========="); + + // 停止计时器 + if (battleCoroutine != null) + { + StopCoroutine(battleCoroutine); + battleCoroutine = null; + } + + StartCoroutine(TimeUpSequence()); + } + + /// + /// 时间到流程(强制结束) + /// 宝剑从玩家手中飞出,刺向女巫,女巫被封印消散 + /// + private IEnumerator TimeUpSequence() + { + if (debugMode) + Debug.Log("[DreamAppleEvent] 开始宝剑飞向女巫序列"); + + // 检查宝剑和女巫是否存在 + if (dreamSword == null || dreamWitch == null) + { + Debug.LogWarning("[DreamAppleEvent] 宝剑或女巫不存在,直接结束"); + yield break; + } + + // 宝剑飞向女巫 + bool swordFlyingComplete = false; + dreamSword.FlyToTarget(dreamWitch.transform, () => { + swordFlyingComplete = true; + }); + + // 等待宝剑命中 + yield return new WaitUntil(() => swordFlyingComplete); + + if (debugMode) + Debug.Log("[DreamAppleEvent] 宝剑命中女巫,等待消散"); + + // 等待女巫消散完成(消散动画在 OnSwordHit 中触发) + yield return new WaitForSeconds(3f); + + // 播放胜利语音(按策划案,强制结束也算推进剧情) + PlayAudio2D(victoryAudio); + yield return StartCoroutine(WaitForAudioComplete(victoryAudio, 15f)); + + // 完成 + currentState = DreamEventState.Complete; + currentStep = 10; + + if (debugMode) + Debug.Log("[DreamAppleEvent] ========== 梦境毒苹果事件完成(超时) =========="); + + TriggerComplete(); + } + + #endregion + + #region 辅助方法 + + /// + /// 更新战斗UI + /// + private void UpdateBattleUI() + { + // TODO: 更新HUD显示 + // HUDPanel.Ins?.UpdateDreamEvent(slicedAppleCount, targetAppleCount, remainingTime); + } + + /// + /// 停止生成协程 + /// + private void StopSpawnCoroutines() + { + if (appleSpawnCoroutine != null) + { + StopCoroutine(appleSpawnCoroutine); + appleSpawnCoroutine = null; + } + + if (ghostSpawnCoroutine != null) + { + StopCoroutine(ghostSpawnCoroutine); + ghostSpawnCoroutine = null; + } + } + + /// + /// 清理活动对象 + /// + private void CleanupActiveObjects() + { + // 女巫清理 + if (dreamWitch != null) + { + dreamWitch.Cleanup(); + } + + // 销毁所有生成的对象 + foreach (var obj in activeObjects) + { + if (obj != null) + { + Destroy(obj); + } + } + GameManager.Ins.playerRightHand.ShowHand(); + activeObjects.Clear(); + } + + /// + /// 等待音频播放完成 + /// + private IEnumerator WaitForAudioComplete(string audioName, float maxWaitTime = 10f) + { + float elapsedTime = 0f; + yield return new WaitForSeconds(0.1f); + + while (elapsedTime < maxWaitTime) + { + MasterAudioGroup audioGroup = MasterAudio.GrabGroup(audioName); + if (audioGroup == null || audioGroup.ActiveVoices <= 0) + { + if (debugMode) + Debug.Log($"[DreamAppleEvent] 音频 {audioName} 播放完成"); + yield break; + } + + elapsedTime += Time.deltaTime; + yield return null; + } + } + + #endregion + + #region 清理 + + public override void Cleanup() + { + // 停止所有协程 + StopSpawnCoroutines(); + + if (battleCoroutine != null) + { + StopCoroutine(battleCoroutine); + battleCoroutine = null; + } + + // 清理活动对象 + CleanupActiveObjects(); + + // 隐藏环境 + if (dreamEnvironment != null) + dreamEnvironment.SetActive(false); + + base.Cleanup(); + } + + #endregion + + #region 编辑器辅助 + +#if UNITY_EDITOR + [ContextMenu("开始事件")] + private void TestStartEvent() + { + StartCutscene(); + } + + [ContextMenu("停止事件")] + private void TestStopEvent() + { + StopCutscene(); + } + + [ContextMenu("模拟胜利")] + private void TestVictory() + { + slicedAppleCount = targetAppleCount; + OnVictory(); + } + + [ContextMenu("模拟时间到")] + private void TestTimeUp() + { + remainingTime = 0; + OnTimeUp(); + } + + [ContextMenu("模拟切中苹果")] + private void TestSliceApple() + { + slicedAppleCount++; + Debug.Log($"当前进度: {slicedAppleCount}/{targetAppleCount}"); + } +#endif + + #endregion +} \ No newline at end of file diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs.meta b/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs.meta new file mode 100644 index 00000000..78026a01 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamAppleEvent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: df41abfd0e10f9d448e889dfa4b7086c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs b/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs new file mode 100644 index 00000000..a29a56d3 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs @@ -0,0 +1,540 @@ +using UnityEngine; +using DarkTonic.MasterAudio; +using System.Collections.Generic; +using DG.Tweening; + +/// +/// 梦境宝剑 - 用于切开毒苹果和幽灵 +/// 类似《切水果》玩法的挥砍检测 +/// 支持飞剑功能(超时强制结束时飞向女巫) +/// +public class DreamSword : MonoBehaviour +{ + #region 配置参数 + + [Header("挥砍检测")] + public float sliceRadius = 0.8f; // 切中判定半径 + public float minSliceSpeed = 2f; // 最小挥砍速度 + public float maxSliceAngle = 45f; // 最大切入角度 + + [Header("目标层级")] + public LayerMask targetLayer; // 可切中的层级(毒苹果、幽灵) + + [Header("视觉效果")] + public GameObject sliceTrail; // 挥砍轨迹特效 + public float trailDuration = 0.3f; // 轨迹持续时间 + public ParticleSystem sliceParticle; // 切中粒子特效 + + [Header("飞剑配置")] + public float flySpeed = 15f; // 飞剑速度 + public float flyDuration = 1f; // 飞行时间 + public ParticleSystem holyLightParticle; // 圣光粒子特效 + public TrailRenderer holyFlightTrail; // 圣光飞行拖尾 + public Material holyLightMaterial; // 圣光材质 + public float holyPulseSpeed = 2f; // 圣光脉冲速度 + public Color holyLightColor = Color.yellow; // 圣光颜色 + + [Header("音效")] + [SoundGroup] public string swingSound = "2.16"; // 宝剑挥砍音效 + public float swingSoundCooldown = 0.2f; // 挥砍音效冷却 + + [Header("调试")] + public bool debugMode = true; + public bool showDebugGizmos = true; + + #endregion + + #region 私有变量 + + private Vector3 lastPosition; + private Vector3 currentVelocity; + private float lastSwingSoundTime; + private bool isSlicing = false; + private List slicedObjects = new List(); + private TrailRenderer trailRenderer; + private DreamAppleEvent eventController; + + // 飞剑相关 + private bool isFlying = false; + private Tweener flyTween; + private Tweener holyPulseTween; + private Transform originalParent; + private Material originalMaterial; + private Renderer swordRenderer; + + #endregion + + #region 属性 + + /// + /// 当前挥砍速度 + /// + public float SliceSpeed => currentVelocity.magnitude; + + /// + /// 是否正在挥砍 + /// + public bool IsSlicing => isSlicing && SliceSpeed >= minSliceSpeed; + + /// + /// 是否正在飞行 + /// + public bool IsFlying => isFlying; + + #endregion + + #region Unity生命周期 + + private void Awake() + { + if (sliceTrail != null) + { + trailRenderer = sliceTrail.GetComponent(); + } + } + + private void OnEnable() + { + lastPosition = transform.position; + slicedObjects.Clear(); + + if (trailRenderer != null) + { + trailRenderer.enabled = false; + } + } + + private void Update() + { + // 计算速度 + currentVelocity = (transform.position - lastPosition) / Time.deltaTime; + + // 检测挥砍 + if (currentVelocity.magnitude >= minSliceSpeed) + { + if (!isSlicing) + { + OnSliceStart(); + } + OnSlicing(); + } + else if (isSlicing) + { + OnSliceEnd(); + } + + lastPosition = transform.position; + } + + private void LateUpdate() + { + // 清理已销毁的对象 + slicedObjects.RemoveAll(obj => obj == null); + } + + #endregion + + #region 公开方法 + + /// + /// 初始化宝剑 + /// + public void Initialize(DreamAppleEvent controller) + { + eventController = controller; + } + + /// + /// 手动触发切开(用于VR控制器按钮或其他输入) + /// + public void ManualSlice() + { + if (!isSlicing) + { + OnSliceStart(); + } + + // 检测切中的物体 + DetectSliceTargets(); + + OnSliceEnd(); + } + + #endregion + + #region 挥砍检测 + + /// + /// 挥砍开始 + /// + private void OnSliceStart() + { + isSlicing = true; + slicedObjects.Clear(); + + // 启用轨迹 + if (trailRenderer != null) + { + trailRenderer.Clear(); + trailRenderer.enabled = true; + } + + // 播放挥砍音效 + if (Time.time - lastSwingSoundTime > swingSoundCooldown) + { + if (!string.IsNullOrEmpty(swingSound)) + { + MasterAudio.PlaySound(swingSound); + } + lastSwingSoundTime = Time.time; + } + + if (debugMode) + Debug.Log($"[DreamSword] 挥砍开始,速度: {SliceSpeed:F2}"); + } + + /// + /// 挥砍中 + /// + private void OnSlicing() + { + // 检测切中的物体 + DetectSliceTargets(); + } + + /// + /// 挥砍结束 + /// + private void OnSliceEnd() + { + isSlicing = false; + + // 延迟禁用轨迹 + if (trailRenderer != null) + { + DOVirtual.DelayedCall(trailDuration, () => { + if (trailRenderer != null && !isSlicing) + { + trailRenderer.enabled = false; + } + }); + } + } + + /// + /// 检测切中的目标 + /// + private void DetectSliceTargets() + { + // 使用球形检测 + Collider[] hits = Physics.OverlapSphere(transform.position, sliceRadius, targetLayer); + + foreach (var hit in hits) + { + // 检查是否已经切过这个物体 + if (slicedObjects.Contains(hit.gameObject)) continue; + + // 检查切入角度 + if (!CheckSliceAngle(hit.transform)) continue; + + // 尝试切开毒苹果 + PoisonApple apple = hit.GetComponent(); + if (apple != null && apple.IsFlying) + { + apple.Slice(); + slicedObjects.Add(hit.gameObject); + + // 播放切中特效 + PlaySliceEffect(hit.transform.position); + + continue; + } + + // 尝试切开幽灵 + Ghost ghost = hit.GetComponent(); + if (ghost != null && (ghost.IsFlying || ghost.IsAttached)) + { + ghost.Slice(); + slicedObjects.Add(hit.gameObject); + + // 播放切中特效 + PlaySliceEffect(hit.transform.position); + + continue; + } + } + } + + /// + /// 检查切入角度 + /// + private bool CheckSliceAngle(Transform target) + { + Vector3 toTarget = (target.position - transform.position).normalized; + float angle = Vector3.Angle(currentVelocity.normalized, toTarget); + return angle <= maxSliceAngle; + } + + /// + /// 播放切中特效 + /// + private void PlaySliceEffect(Vector3 position) + { + if (sliceParticle != null) + { + sliceParticle.transform.position = position; + sliceParticle.Play(); + } + } + + #endregion + + #region 飞剑功能 + + /// + /// 飞向目标(女巫) + /// + /// 目标Transform + /// 命中回调 + public void FlyToTarget(Transform target, System.Action onComplete = null) + { + if (isFlying || target == null) + { + Debug.LogWarning("[DreamSword] 无法飞行:已在飞行中或目标为空"); + return; + } + + isFlying = true; + + // 保存原始父物体 + originalParent = transform.parent; + + // 脱离父物体 + transform.SetParent(null); + + // 启用圣光特效 + EnableHolyLightEffect(); + + if (debugMode) + Debug.Log($"[DreamSword] 开始飞向目标: {target.position}"); + + // 计算飞行时间 + float distance = Vector3.Distance(transform.position, target.position); + float duration = Mathf.Clamp(distance / flySpeed, 0.5f, flyDuration); + + // 飞向目标 + flyTween = transform.DOMove(target.position, duration) + .SetEase(Ease.OutQuad); + + // 旋转朝向目标 + Vector3 direction = (target.position - transform.position).normalized; + transform.DORotateQuaternion(Quaternion.LookRotation(direction), 0.2f); + + // 延迟触发命中 + DOVirtual.DelayedCall(duration, () => { + OnHitTarget(target, onComplete); + }); + } + + /// + /// 飞向指定位置 + /// + public void FlyToPosition(Vector3 targetPosition, System.Action onComplete = null) + { + if (isFlying) + { + Debug.LogWarning("[DreamSword] 无法飞行:已在飞行中"); + return; + } + + isFlying = true; + originalParent = transform.parent; + transform.SetParent(null); + + EnableHolyLightEffect(); + + if (debugMode) + Debug.Log($"[DreamSword] 开始飞向位置: {targetPosition}"); + + float distance = Vector3.Distance(transform.position, targetPosition); + float duration = Mathf.Clamp(distance / flySpeed, 0.5f, flyDuration); + + flyTween = transform.DOMove(targetPosition, duration) + .SetEase(Ease.OutQuad); + + Vector3 direction = (targetPosition - transform.position).normalized; + transform.DORotateQuaternion(Quaternion.LookRotation(direction), 0.2f); + + DOVirtual.DelayedCall(duration, () => { + isFlying = false; + onComplete?.Invoke(); + }); + } + + /// + /// 命中目标 + /// + private void OnHitTarget(Transform target, System.Action onComplete) + { + if (debugMode) + Debug.Log($"[DreamSword] 命中目标: {target.name}"); + + // 停止圣光脉冲 + if (holyPulseTween != null) + { + holyPulseTween.Kill(); + holyPulseTween = null; + } + + // 通知女巫被击中 + DreamWitch witch = target.GetComponent(); + if (witch != null) + { + witch.OnSwordHit(transform.position); + } + + isFlying = false; + onComplete?.Invoke(); + } + + /// + /// 启用圣光特效 + /// + private void EnableHolyLightEffect() + { + // 启用圣光粒子 + if (holyLightParticle != null) + { + holyLightParticle.Play(); + } + + // 启用圣光拖尾 + if (holyFlightTrail != null) + { + holyFlightTrail.Clear(); + holyFlightTrail.enabled = true; + } + + // 更换圣光材质 + if (holyLightMaterial != null) + { + if (swordRenderer == null) + swordRenderer = GetComponentInChildren(); + + if (swordRenderer != null) + { + originalMaterial = swordRenderer.material; + swordRenderer.material = holyLightMaterial; + } + } + + // 启动圣光脉冲动画 + StartHolyPulse(); + } + + /// + /// 禁用圣光特效 + /// + private void DisableHolyLightEffect() + { + if (holyLightParticle != null) + { + holyLightParticle.Stop(); + } + + if (holyFlightTrail != null) + { + holyFlightTrail.enabled = false; + } + + // 恢复原材质 + if (originalMaterial != null && swordRenderer != null) + { + swordRenderer.material = originalMaterial; + } + } + + /// + /// 启动圣光脉冲动画 + /// + private void StartHolyPulse() + { + if (swordRenderer == null) + swordRenderer = GetComponentInChildren(); + + if (swordRenderer != null && swordRenderer.material.HasProperty("_EmissionColor")) + { + Material mat = swordRenderer.material; + mat.EnableKeyword("_EMISSION"); + + holyPulseTween = DOTween.To( + () => 0f, + intensity => { + Color emissionColor = holyLightColor * intensity; + mat.SetColor("_EmissionColor", emissionColor); + }, + 2f, + 1f / holyPulseSpeed + ).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InOutSine); + } + } + + /// + /// 停止飞行 + /// + public void StopFlying() + { + if (!isFlying) return; + + if (flyTween != null) + { + flyTween.Kill(); + flyTween = null; + } + + DisableHolyLightEffect(); + isFlying = false; + } + + #endregion + + #region 辅助方法 + + /// + /// 获取挥砍方向 + /// + public Vector3 GetSliceDirection() + { + return currentVelocity.normalized; + } + + #endregion + + #region 编辑器可视化 + +#if UNITY_EDITOR + private void OnDrawGizmos() + { + if (!showDebugGizmos) return; + + // 绘制切中范围 + Gizmos.color = isSlicing ? Color.green : Color.yellow; + Gizmos.DrawWireSphere(transform.position, sliceRadius); + + // 绘制挥砍方向 + if (isSlicing) + { + Gizmos.color = Color.red; + Gizmos.DrawRay(transform.position, currentVelocity.normalized * 2f); + } + } + + [ContextMenu("测试:手动切开")] + private void TestManualSlice() + { + ManualSlice(); + } +#endif + + #endregion +} \ No newline at end of file diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs.meta b/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs.meta new file mode 100644 index 00000000..1a246122 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamSword.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 441b59c8e0ed89a48a480df24cea8d62 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs b/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs new file mode 100644 index 00000000..103ce55b --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs @@ -0,0 +1,800 @@ +using System; +using UnityEngine; +using DG.Tweening; +using DarkTonic.MasterAudio; +using System.Collections; +using System.Collections.Generic; +using Random = UnityEngine.Random; + +/// +/// 梦境女巫状态 +/// +public enum DreamWitchState +{ + None, // 未初始化 + Spawning, // 生成中 + Idle, // 待机 + Throwing, // 投掷毒苹果 + Summoning, // 召唤幽灵 + Hurt, // 受伤 + Dying, // 死亡中 + Disappeared // 消失 +} + +/// +/// 梦境女巫 - 在梦境中投掷毒苹果和召唤幽灵 +/// 继承扩展自基础Witch类 +/// +public class DreamWitch : MonoBehaviour +{ + #region 配置参数 + + [Header("生成配置")] + public float spawnDuration = 2f; // 生成动画时间 + public Vector3 spawnOffset = new Vector3(0, 3f, 5f); // 相对玩家的生成位置 + + [Header("毒苹果配置")] + [NonSerialized] + public GameObject poisonApplePrefab; // 毒苹果预制体 + public Transform appleSpawnPoint; // 苹果生成点 + public float throwInterval = 1.5f; // 投掷间隔 + public int maxApplesAtOnce = 3; // 同时最多存在的苹果数量 + + [Header("幽灵配置")] + [NonSerialized] + public GameObject ghostPrefab; // 幽灵预制体 + public Transform ghostSpawnPoint; // 幽灵生成点(女巫身后) + public float ghostInterval = 15f; // 幽灵生成间隔(策划案要求每15秒) + public Vector3 ghostSpawnOffset = new Vector3(0, 0, -1f); // 幽灵生成偏移 + + [Header("移动配置")] + public float hoverHeight = 3f; // 悬浮高度 + public float hoverRange = 2f; // 悬浮移动范围 + public float hoverSpeed = 1f; // 悬浮移动速度 + public bool enableHovering = true; // 是否启用悬浮移动 + + [Header("动画")] + public Animator animator; + public string spawnAnim = "Spawn"; + public string idleAnim = "Idle"; + public string throwAnim = "Throw"; + public string summonAnim = "Summon"; + public string hurtAnim = "Hurt"; + public string deathAnim = "Death"; + + [Header("音效")] + [SoundGroup] public string spawnSound = "2.13"; // 坏女巫出场音效 + [SoundGroup] public string throwSound = "2.14"; // 发射毒苹果音效 + [SoundGroup] public string disappearSound = "2.18"; // 女巫离场消失音效 + + [Header("视觉效果")] + public ParticleSystem spawnParticle; // 生成特效 + public ParticleSystem throwParticle; // 投掷特效 + public GameObject deathEffect; // 死亡特效 + + [Header("封印特效")] + public GameObject sealEffectPrefab; // 金色封印图案预制体 + public float sealExpandDuration = 0.5f; // 封印扩散时间 + public float sealMaxScale = 2f; // 封印最大缩放 + public ParticleSystem holyExplosionParticle; // 圣光爆炸特效 + public float holyDisolveDuration = 2f; // 圣光消散时间 + public Color sealColor = new Color(1f, 0.84f, 0f); // 金色 + + [Header("调试")] + public bool debugMode = true; + + #endregion + + #region 私有变量 + + private DreamWitchState state = DreamWitchState.None; + private Transform playerTransform; + private DreamAppleEvent eventController; + private Tweener hoverTween; + private List activeApples = new List(); + private List activeGhosts = new List(); + private float lastThrowTime; + private float lastGhostTime; + + #endregion + + #region 属性 + + public DreamWitchState State => state; + public bool IsActive => state == DreamWitchState.Idle || + state == DreamWitchState.Throwing || + state == DreamWitchState.Summoning; + + #endregion + + #region Unity生命周期 + + private void Awake() + { + if (animator == null) + animator = GetComponent(); + + if (appleSpawnPoint == null) + appleSpawnPoint = transform; + + if (ghostSpawnPoint == null) + ghostSpawnPoint = transform; + } + + private void Update() + { + // 清理已销毁的对象 + activeApples.RemoveAll(obj => obj == null); + activeGhosts.RemoveAll(obj => obj == null); + + // 女巫始终面向玩家 + if (playerTransform != null && state != DreamWitchState.Dying && state != DreamWitchState.Disappeared) + { + Vector3 direction = playerTransform.position - transform.position; + direction.y = 0; // 只在水平面上旋转 + if (direction != Vector3.zero) + { + Quaternion targetRotation = Quaternion.LookRotation(direction); + transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 5f); + } + } + } + + private void OnDestroy() + { + if (hoverTween != null) + hoverTween.Kill(); + } + + #endregion + + #region 公开方法 + + /// + /// 初始化女巫 + /// + public void Initialize(Transform player, DreamAppleEvent controller) + { + playerTransform = player; + eventController = controller; + + // 设置初始位置 + if (playerTransform != null) + { + transform.position = playerTransform.position + spawnOffset; + transform.LookAt(playerTransform); + transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0); + } + + // 开始生成动画 + StartCoroutine(SpawnSequence()); + + if (debugMode) + Debug.Log("[DreamWitch] 初始化完成"); + } + + /// + /// 投掷毒苹果 + /// + public void ThrowApple() + { + if (state != DreamWitchState.Idle) return; + + StartCoroutine(ThrowSequence()); + } + + /// + /// 投掷多个毒苹果 + /// + public void ThrowApples(int count) + { + StartCoroutine(ThrowMultipleSequence(count)); + } + + /// + /// 召唤幽灵 + /// + public void SummonGhost() + { + if (state != DreamWitchState.Idle) return; + + StartCoroutine(SummonGhostSequence()); + } + + /// + /// 受伤 + /// + public void Hurt() + { + if (animator != null && !string.IsNullOrEmpty(hurtAnim)) + { + animator.SetTrigger(hurtAnim); + } + } + + /// + /// 死亡 + /// + public void Die() + { + if (state == DreamWitchState.Dying || state == DreamWitchState.Disappeared) return; + + StartCoroutine(DeathSequence()); + } + + /// + /// 离开场景 + /// + public void Leave() + { + StartCoroutine(LeaveSequence()); + } + + /// + /// 被宝剑刺中(封印特效) + /// + public void OnSwordHit(Vector3 hitPoint) + { + if (state == DreamWitchState.Dying || state == DreamWitchState.Disappeared) return; + + if (debugMode) + Debug.Log($"[DreamWitch] 被宝剑刺中! 位置: {hitPoint}"); + + // 停止悬浮 + if (hoverTween != null) + { + hoverTween.Kill(); + hoverTween = null; + } + + // 开始封印消散序列 + StartCoroutine(SealAndDisolveSequence(hitPoint)); + } + + /// + /// 封印并消散序列 + /// + private IEnumerator SealAndDisolveSequence(Vector3 hitPoint) + { + state = DreamWitchState.Dying; + + // 1. 播放被刺中动画 + if (animator != null && !string.IsNullOrEmpty(hurtAnim)) + { + animator.SetTrigger(hurtAnim); + } + + // 2. 生成封印图案 + GameObject seal = null; + if (sealEffectPrefab != null) + { + seal = Instantiate(sealEffectPrefab, hitPoint, Quaternion.identity); + seal.transform.LookAt(playerTransform != null ? playerTransform : Camera.main.transform); + seal.transform.eulerAngles = new Vector3(90, seal.transform.eulerAngles.y, 0); + + // 封印从小到大扩散动画 + seal.transform.localScale = Vector3.zero; + seal.transform.DOScale(sealMaxScale, sealExpandDuration) + .SetEase(Ease.OutBack); + + if (debugMode) + Debug.Log("[DreamWitch] 封印图案生成完成"); + } + + // 3. 播放圣光爆炸特效 + if (holyExplosionParticle != null) + { + holyExplosionParticle.transform.position = hitPoint; + holyExplosionParticle.Play(); + } + + // 4. 身体开始出现封印图案(通过材质变化) + yield return StartCoroutine(ShowSealPatternOnBody()); + + // 5. 圣光消散效果 + yield return StartCoroutine(HolyDisolveEffect()); + + // 清理封印 + if (seal != null) + { + Destroy(seal); + } + + // 播放离开音效 + if (!string.IsNullOrEmpty(disappearSound)) + { + MasterAudio.PlaySound(disappearSound); + } + + state = DreamWitchState.Disappeared; + gameObject.SetActive(false); + + if (debugMode) + Debug.Log("[DreamWitch] 封印消散完成"); + } + + /// + /// 身体显示封印图案 + /// + private IEnumerator ShowSealPatternOnBody() + { + var renderers = GetComponentsInChildren(); + + if (renderers.Length > 0) + { + // 让身体开始发光 + float elapsed = 0f; + float duration = 0.5f; + + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float intensity = elapsed / duration; + + foreach (var renderer in renderers) + { + var mat = renderer.material; + if (mat.HasProperty("_EmissionColor")) + { + mat.EnableKeyword("_EMISSION"); + Color emission = sealColor * intensity * 2f; + mat.SetColor("_EmissionColor", emission); + } + } + + yield return null; + } + } + else + { + yield return null; + } + } + + /// + /// 圣光消散效果 + /// + private IEnumerator HolyDisolveEffect() + { + var renderers = GetComponentsInChildren(); + + if (renderers.Length > 0) + { + float elapsed = 0f; + + while (elapsed < holyDisolveDuration) + { + elapsed += Time.deltaTime; + float progress = elapsed / holyDisolveDuration; + + // 从中刺位置开始向外发光消散 + foreach (var renderer in renderers) + { + var mat = renderer.material; + + // 渐隐 + if (mat.HasProperty("_Color")) + { + Color color = mat.color; + color.a = 1f - progress; + mat.color = color; + } + + // 圣光发光效果(先增强后减弱) + if (mat.HasProperty("_EmissionColor")) + { + float glowIntensity = Mathf.Sin(progress * Mathf.PI) * 3f; + Color emission = sealColor * glowIntensity; + mat.SetColor("_EmissionColor", emission); + } + } + + yield return null; + } + } + else + { + yield return new WaitForSeconds(holyDisolveDuration); + } + } + + /// + /// 清理所有生成的对象 + /// + public void Cleanup() + { + // 清理苹果 + foreach (var apple in activeApples) + { + if (apple != null) + Destroy(apple); + } + activeApples.Clear(); + + // 清理幽灵 + foreach (var ghost in activeGhosts) + { + if (ghost != null) + { + Ghost g = ghost.GetComponent(); + if (g != null) + g.ForceRemove(); + else + Destroy(ghost); + } + } + activeGhosts.Clear(); + } + + #endregion + + #region 生成序列 + + /// + /// 生成动画序列 + /// + private IEnumerator SpawnSequence() + { + state = DreamWitchState.Spawning; + + // 播放生成特效 + if (spawnParticle != null) + { + spawnParticle.Play(); + } + + // 播放生成音效 + if (!string.IsNullOrEmpty(spawnSound)) + { + MasterAudio.PlaySound(spawnSound); + } + + // 播放生成动画 + if (animator != null && !string.IsNullOrEmpty(spawnAnim)) + { + animator.SetTrigger(spawnAnim); + } + + // 缩放出现 + transform.localScale = Vector3.zero; + hoverTween = transform.DOScale(Vector3.one, spawnDuration) + .SetEase(Ease.OutBack); + + yield return new WaitForSeconds(spawnDuration); + + // 进入待机状态 + state = DreamWitchState.Idle; + + // 开始悬浮 + if (enableHovering) + { + StartHovering(); + } + + if (debugMode) + Debug.Log("[DreamWitch] 生成完成,进入待机状态"); + } + + #endregion + + #region 投掷逻辑 + + /// + /// 投掷序列 + /// + private IEnumerator ThrowSequence() + { + state = DreamWitchState.Throwing; + + // 播放投掷动画 + if (animator != null && !string.IsNullOrEmpty(throwAnim)) + { + animator.SetTrigger(throwAnim); + } + + // 播放投掷特效 + if (throwParticle != null) + { + throwParticle.Play(); + } + + // 播放投掷音效 + if (!string.IsNullOrEmpty(throwSound)) + { + MasterAudio.PlaySound(throwSound); + } + + yield return new WaitForSeconds(0.3f); // 等待动画到合适帧 + + // 生成毒苹果 + SpawnApple(); + + yield return new WaitForSeconds(0.5f); // 投掷后恢复时间 + + state = DreamWitchState.Idle; + } + + /// + /// 连续投掷多个苹果 + /// + private IEnumerator ThrowMultipleSequence(int count) + { + for (int i = 0; i < count; i++) + { + if (state == DreamWitchState.Dying || state == DreamWitchState.Disappeared) + yield break; + + yield return StartCoroutine(ThrowSequence()); + yield return new WaitForSeconds(0.5f); + } + } + + /// + /// 生成毒苹果 + /// + private void SpawnApple() + { + if (poisonApplePrefab == null || playerTransform == null) + { + Debug.LogWarning("[DreamWitch] 毒苹果预制体或玩家未设置!"); + return; + } + + // 检查苹果数量限制 + if (activeApples.Count >= maxApplesAtOnce) + { + if (debugMode) + Debug.Log("[DreamWitch] 已达最大苹果数量,跳过生成"); + return; + } + + Vector3 spawnPos = appleSpawnPoint != null ? appleSpawnPoint.position : transform.position; + // 终点精确为玩家位置(不再添加随机偏移) + Vector3 targetPos = playerTransform.position; + + // 生成苹果 + GameObject apple = Instantiate(poisonApplePrefab, spawnPos, Quaternion.identity); + + // 初始化苹果,传入玩家Transform用于实时追踪 + PoisonApple appleScript = apple.GetComponent(); + if (appleScript != null) + { + appleScript.InitializeWithTracking(spawnPos, playerTransform, eventController); + } + else + { + Debug.LogWarning("[DreamWitch] 毒苹果预制体缺少 PoisonApple 组件!"); + } + + activeApples.Add(apple); + + if (debugMode) + Debug.Log($"[DreamWitch] 生成毒苹果,终点: 玩家位置 {targetPos},当前数量: {activeApples.Count}"); + } + + #endregion + + #region 幽灵召唤 + + /// + /// 召唤幽灵序列 + /// + private IEnumerator SummonGhostSequence() + { + state = DreamWitchState.Summoning; + + // 播放召唤动画 + if (animator != null && !string.IsNullOrEmpty(summonAnim)) + { + animator.SetTrigger(summonAnim); + } + + yield return new WaitForSeconds(0.5f); + + // 生成幽灵 + SpawnGhost(); + + yield return new WaitForSeconds(0.5f); + + state = DreamWitchState.Idle; + } + + /// + /// 生成幽灵 + /// + private void SpawnGhost() + { + if (ghostPrefab == null || playerTransform == null) + { + Debug.LogWarning("[DreamWitch] 幽灵预制体或玩家未设置!"); + return; + } + + // 在女巫身后生成幽灵 + Vector3 spawnPos = ghostSpawnPoint != null ? + ghostSpawnPoint.position : + transform.position + transform.rotation * ghostSpawnOffset; + + GameObject ghost = Instantiate(ghostPrefab, spawnPos, Quaternion.identity); + + // 初始化幽灵 + Ghost ghostScript = ghost.GetComponent(); + if (ghostScript != null) + { + ghostScript.Initialize(spawnPos, playerTransform, eventController); + } + else + { + Debug.LogWarning("[DreamWitch] 幽灵预制体缺少 Ghost 组件!"); + } + + activeGhosts.Add(ghost); + + if (debugMode) + Debug.Log($"[DreamWitch] 召唤幽灵,当前数量: {activeGhosts.Count}"); + } + + #endregion + + #region 悬浮移动 + + /// + /// 开始悬浮移动 + /// + private void StartHovering() + { + if (!enableHovering) return; + + // 记录初始位置 + Vector3 startPos = transform.position; + + // 左右悬浮移动 + hoverTween = DOTween.To( + () => 0f, + t => { + if (playerTransform != null) + { + // 始终面向玩家 + transform.LookAt(playerTransform); + transform.eulerAngles = new Vector3(0, transform.eulerAngles.y, 0); + + // 左右悬浮 + float offsetX = Mathf.Sin(t * hoverSpeed) * hoverRange; + float offsetY = Mathf.Sin(t * hoverSpeed * 0.7f) * hoverRange * 0.3f; + transform.position = startPos + new Vector3(offsetX, offsetY, 0); + } + }, + Mathf.PI * 2f, + hoverSpeed + ).SetLoops(-1).SetEase(Ease.InOutSine); + } + + #endregion + + #region 死亡与离开 + + /// + /// 死亡序列 + /// + private IEnumerator DeathSequence() + { + state = DreamWitchState.Dying; + + // 停止悬浮 + if (hoverTween != null) + hoverTween.Kill(); + + // 播放死亡动画 + if (animator != null && !string.IsNullOrEmpty(deathAnim)) + { + animator.SetTrigger(deathAnim); + } + + // 播放死亡特效 + if (deathEffect != null) + { + Instantiate(deathEffect, transform.position, Quaternion.identity); + } + + yield return new WaitForSeconds(1f); + + // 渐隐消失 + yield return StartCoroutine(FadeOut(1f)); + } + + /// + /// 离开序列 + /// + private IEnumerator LeaveSequence() + { + state = DreamWitchState.Dying; + + // 停止悬浮 + if (hoverTween != null) + hoverTween.Kill(); + + // 播放离开音效 + if (!string.IsNullOrEmpty(disappearSound)) + { + MasterAudio.PlaySound(disappearSound); + } + + // 渐隐消失 + yield return StartCoroutine(FadeOut(1f)); + } + + /// + /// 渐隐消失 + /// + private IEnumerator FadeOut(float duration) + { + var renderers = GetComponentsInChildren(); + + if (renderers.Length > 0) + { + float elapsed = 0f; + while (elapsed < duration) + { + elapsed += Time.deltaTime; + float alpha = 1f - (elapsed / duration); + + foreach (var renderer in renderers) + { + var mat = renderer.material; + if (mat.HasProperty("_Color")) + { + Color color = mat.color; + color.a = alpha; + mat.color = color; + } + } + + yield return null; + } + } + + state = DreamWitchState.Disappeared; + gameObject.SetActive(false); + + if (debugMode) + Debug.Log("[DreamWitch] 消失完成"); + } + + #endregion + + #region 编辑器辅助 + +#if UNITY_EDITOR + [ContextMenu("测试:投掷毒苹果")] + private void TestThrowApple() + { + ThrowApple(); + } + + [ContextMenu("测试:投掷3个毒苹果")] + private void TestThrowMultipleApples() + { + ThrowApples(3); + } + + [ContextMenu("测试:召唤幽灵")] + private void TestSummonGhost() + { + SummonGhost(); + } + + [ContextMenu("测试:死亡")] + private void TestDie() + { + Die(); + } + + [ContextMenu("测试:离开")] + private void TestLeave() + { + Leave(); + } +#endif + + #endregion +} \ No newline at end of file diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs.meta b/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs.meta new file mode 100644 index 00000000..2161688c --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/DreamWitch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e6ff24f5131958b47966b64ab073dff2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs b/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs new file mode 100644 index 00000000..e18e0d01 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs @@ -0,0 +1,419 @@ +using UnityEngine; +using DG.Tweening; +using DarkTonic.MasterAudio; +using System.Collections; + +/// +/// 幽灵状态 +/// +public enum GhostState +{ + Spawning, // 生成中 + Flying, // 飞向玩家 + Attaching, // 附着在玩家身上 + Sliced, // 被切开 + Disappeared // 消失 +} + +/// +/// 幽灵 - 从女巫身后飞出,攻击玩家 +/// 玩家需要用剑切开,否则会吸附在玩家身上造成屏幕特效 +/// +public class Ghost : MonoBehaviour +{ + #region 配置参数 + + [Header("飞行配置")] + public float flySpeed = 3f; // 飞行速度 + public float flyDuration = 5f; // 最大飞行时间 + public float homingStrength = 2f; // 追踪强度 + public bool isHoming = true; // 是否追踪玩家 + + [Header("生成配置")] + public float spawnDelay = 0.5f; // 生成延迟 + public float spawnScaleDuration = 0.5f; // 生成缩放时间 + + [Header("附着配置")] + public float attachDuration = 5f; // 附着持续时间 + public float attachMoveRange = 0.3f; // 附着后移动范围 + public float attachMoveSpeed = 2f; // 附着后移动速度 + + [Header("视觉效果")] + public GameObject sliceEffect; // 被切开特效 + public TrailRenderer trailRenderer; // 飞行拖尾 + public Renderer ghostRenderer; // 幽灵渲染器 + public Material normalMaterial; // 正常材质 + public Material attachMaterial; // 附着材质 + + [Header("音效")] + [SoundGroup] public string spawnSound = "2.27"; // 幽灵出现音效 + [SoundGroup] public string attachSound = "2.28"; // 幽灵嘲笑音效 + [SoundGroup] public string slicedSound = "2.29"; // 幽灵被砍杀音效 + + [Header("调试")] + public bool debugMode = true; + + #endregion + + #region 私有变量 + + private GhostState state = GhostState.Spawning; + private Vector3 startPos; + private Transform targetPlayer; + private Tweener currentTween; + private DreamAppleEvent eventController; + private float spawnTime; + private Vector3 attachOffset; + + #endregion + + #region 属性 + + public GhostState State => state; + public bool IsFlying => state == GhostState.Flying; + public bool IsAttached => state == GhostState.Attaching; + + #endregion + + #region Unity生命周期 + + private void Awake() + { + if (trailRenderer == null) + trailRenderer = GetComponentInChildren(); + + if (ghostRenderer == null) + ghostRenderer = GetComponentInChildren(); + } + + private void OnEnable() + { + state = GhostState.Spawning; + spawnTime = Time.time; + + if (trailRenderer != null) + { + trailRenderer.Clear(); + trailRenderer.enabled = false; + } + } + + private void Update() + { + if (state == GhostState.Flying && isHoming && targetPlayer != null) + { + // 追踪玩家 + Vector3 direction = (targetPlayer.position - transform.position).normalized; + transform.position += direction * flySpeed * Time.deltaTime; + transform.rotation = Quaternion.LookRotation(direction); + + // 检查是否到达玩家 + float distance = Vector3.Distance(transform.position, targetPlayer.position); + if (distance < 0.5f) + { + AttachToPlayer(); + } + } + else if (state == GhostState.Attaching && targetPlayer != null) + { + // 附着后跟随玩家并在镜头前移动 + transform.position = targetPlayer.position + attachOffset + + Mathf.Sin(Time.time * attachMoveSpeed) * Vector3.right * attachMoveRange + + Mathf.Cos(Time.time * attachMoveSpeed * 0.7f) * Vector3.up * attachMoveRange * 0.5f; + } + } + + private void OnDestroy() + { + if (currentTween != null) + currentTween.Kill(); + } + + #endregion + + #region 公开方法 + + /// + /// 初始化幽灵 + /// + /// 起始位置(女巫身后) + /// 玩家Transform + /// 事件控制器 + public void Initialize(Vector3 start, Transform player, DreamAppleEvent controller = null) + { + startPos = start; + targetPlayer = player; + eventController = controller; + + // 开始生成动画 + StartCoroutine(SpawnSequence()); + + if (debugMode) + Debug.Log($"[Ghost] 初始化,起点: {startPos}"); + } + + /// + /// 切开幽灵 + /// + public void Slice() + { + if (state == GhostState.Sliced || state == GhostState.Disappeared) return; + + GhostState previousState = state; + state = GhostState.Sliced; + + // 停止所有动作 + if (currentTween != null) + currentTween.Kill(); + + // 播放被切开音效 + if (!string.IsNullOrEmpty(slicedSound)) + { + MasterAudio.PlaySound(slicedSound); + } + + // 播放被切开特效 + if (sliceEffect != null) + { + GameObject effect = Instantiate(sliceEffect, transform.position, Quaternion.identity); + Destroy(effect, 2f); + } + + // 通知事件控制器 + if (eventController != null) + { + eventController.OnGhostSliced(this); + } + + // 如果之前是附着状态,移除屏幕特效 + if (previousState == GhostState.Attaching) + { + RemoveScreenEffect(); + } + + if (debugMode) + Debug.Log("[Ghost] 被切开!"); + + // 渐隐消失 + FadeOut(0.3f); + } + + /// + /// 强制移除(如事件结束) + /// + public void ForceRemove() + { + if (state == GhostState.Disappeared) return; + + state = GhostState.Disappeared; + + if (currentTween != null) + currentTween.Kill(); + + if (state == GhostState.Attaching) + { + RemoveScreenEffect(); + } + + Destroy(gameObject); + } + + #endregion + + #region 生成与飞行 + + /// + /// 生成序列 + /// + private IEnumerator SpawnSequence() + { + // 播放生成音效 + if (!string.IsNullOrEmpty(spawnSound)) + { + MasterAudio.PlaySound(spawnSound); + } + + // 缩放出现 + transform.localScale = Vector3.zero; + currentTween = transform.DOScale(Vector3.one, spawnScaleDuration) + .SetEase(Ease.OutBack); + + yield return new WaitForSeconds(spawnScaleDuration); + + // 开始飞行 + state = GhostState.Flying; + + // 启用拖尾 + if (trailRenderer != null) + { + trailRenderer.enabled = true; + } + + // 设置超时 + StartCoroutine(FlightTimeout()); + } + + /// + /// 飞行超时检测 + /// + private IEnumerator FlightTimeout() + { + yield return new WaitForSeconds(flyDuration); + + if (state == GhostState.Flying) + { + // 超时后强制消失 + FadeOut(0.5f); + } + } + + #endregion + + #region 附着逻辑 + + /// + /// 附着到玩家身上 + /// + private void AttachToPlayer() + { + if (state != GhostState.Flying) return; + + state = GhostState.Attaching; + + // 计算附着偏移(在玩家前方) + attachOffset = Vector3.forward * 0.5f + Vector3.up * 0.3f; + + // 停止拖尾 + if (trailRenderer != null) + { + trailRenderer.enabled = false; + } + + // 更换材质 + if (attachMaterial != null && ghostRenderer != null) + { + ghostRenderer.material = attachMaterial; + } + + // 播放嘲笑音效 + if (!string.IsNullOrEmpty(attachSound)) + { + MasterAudio.PlaySound(attachSound); + } + + // 添加屏幕特效 + ApplyScreenEffect(); + + // 通知事件控制器 + if (eventController != null) + { + eventController.OnGhostAttached(this); + } + + if (debugMode) + Debug.Log("[Ghost] 附着到玩家身上!"); + + // 附着持续时间后自动消失 + StartCoroutine(AutoRemoveAfterAttach()); + } + + /// + /// 附着后自动消失 + /// + private IEnumerator AutoRemoveAfterAttach() + { + yield return new WaitForSeconds(attachDuration); + + if (state == GhostState.Attaching) + { + RemoveScreenEffect(); + FadeOut(0.5f); + } + } + + /// + /// 应用屏幕特效 + /// + private void ApplyScreenEffect() + { + // TODO: 调用屏幕特效系统 + if (HUDPanel.Ins != null) + { + HUDPanel.Ins.ShowGhostUI(); + } + } + + /// + /// 移除屏幕特效 + /// + private void RemoveScreenEffect() + { + // TODO: 调用屏幕特效系统 + // 示例:ScreenEffectManager.Ins?.HideGhostEffect(); + } + + #endregion + + #region 视觉效果 + + /// + /// 渐隐消失 + /// + private void FadeOut(float duration) + { + state = GhostState.Disappeared; + + if (ghostRenderer != null) + { + Material mat = ghostRenderer.material; + if (mat.HasProperty("_Color")) + { + Color originalColor = mat.color; + currentTween = DOTween.To( + () => originalColor.a, + a => { + Color c = mat.color; + c.a = a; + mat.color = c; + }, + 0f, + duration + ).OnComplete(() => { + Destroy(gameObject); + }); + } + else + { + Destroy(gameObject, duration); + } + } + else + { + Destroy(gameObject, duration); + } + } + + #endregion + + #region 编辑器辅助 + +#if UNITY_EDITOR + [ContextMenu("测试:切开")] + private void TestSlice() + { + Slice(); + } + + [ContextMenu("测试:附着到玩家")] + private void TestAttach() + { + if (GameLocal.Ins?.self != null) + { + targetPlayer = GameLocal.Ins.self.transform; + AttachToPlayer(); + } + } +#endif + + #endregion +} \ No newline at end of file diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs.meta b/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs.meta new file mode 100644 index 00000000..ef841b92 --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/Ghost.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8324832479676bf42b62ad5f07c9106e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs b/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs new file mode 100644 index 00000000..15f34ece --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs @@ -0,0 +1,480 @@ +using UnityEngine; +using DG.Tweening; +using DarkTonic.MasterAudio; +using System.Collections; + +/// +/// 毒苹果轨迹类型 +/// +public enum TrajectoryType +{ + UpwardParabola, // 向上抛物线:从女巫位置向上抛出,弧线落向玩家 + LeftParabola, // 左抛物线:从女巫左侧弧线飞向玩家 + RightParabola // 右抛物线:从女巫右侧弧线飞向玩家 +} + +/// +/// 毒苹果状态 +/// +public enum AppleState +{ + Flying, // 飞行中 + Sliced, // 被切开 + Missed // 未击中(飞出范围) +} + +/// +/// 毒苹果 - 女巫发射的毒苹果,玩家需要用剑切开 +/// 三种随机飞行轨迹:向上抛物线、左抛物线、右抛物线 +/// +public class PoisonApple : MonoBehaviour +{ + #region 配置参数 + + [Header("轨迹配置")] + public TrajectoryType trajectoryType; + public float flightDuration = 3f; // 飞行时间 + public float curveHeight = 2f; // 曲线高度 + public float sideOffset = 3f; // 左右偏移量 + + [Header("碰撞检测")] + public Collider appleCollider; + public float sliceRadius = 0.5f; // 切中判定半径 + + [Header("视觉效果")] + public GameObject sliceEffect; // 切开特效 + public TrailRenderer trailRenderer; // 飞行拖尾 + public GameObject[] slicePieces; // 切开后的碎片 + + [Header("音效")] + [SoundGroup] public string sliceSound = "2.15"; // 切中毒苹果音效 + + [Header("调试")] + public bool debugMode = true; + + #endregion + + #region 私有变量 + + private AppleState state = AppleState.Flying; + private Vector3 startPos; + private Vector3 endPos; + private Vector3 controlPoint; + private Tweener flightTween; + private DreamAppleEvent eventController; + private float spawnTime; + private Transform targetPlayer; // 玩家Transform(用于实时追踪) + private bool isTrackingPlayer = false; // 是否追踪玩家 + private float flightProgress = 0f; // 飞行进度 + + #endregion + + #region 属性 + + public AppleState State => state; + public bool IsFlying => state == AppleState.Flying; + + #endregion + + #region Unity生命周期 + + private void Awake() + { + if (appleCollider == null) + appleCollider = GetComponent(); + + if (trailRenderer == null) + trailRenderer = GetComponentInChildren(); + } + + private void OnEnable() + { + state = AppleState.Flying; + spawnTime = Time.time; + + if (trailRenderer != null) + { + trailRenderer.Clear(); + trailRenderer.enabled = true; + } + } + + private void OnDestroy() + { + if (flightTween != null) + flightTween.Kill(); + } + + #endregion + + #region 公开方法 + + /// + /// 初始化毒苹果 + /// + /// 起始位置(女巫位置) + /// 目标位置(玩家位置) + /// 轨迹类型 + /// 事件控制器 + public void Initialize(Vector3 start, Vector3 target, TrajectoryType trajectory, DreamAppleEvent controller = null) + { + startPos = start; + endPos = target; + trajectoryType = trajectory; + eventController = controller; + + // 计算控制点 + CalculateControlPoint(); + + // 开始飞行 + StartFlight(); + + if (debugMode) + Debug.Log($"[PoisonApple] 初始化,轨迹: {trajectoryType}, 起点: {startPos}, 终点: {endPos}"); + } + + /// + /// 随机轨迹初始化 + /// + public void InitializeRandom(Vector3 start, Vector3 target, DreamAppleEvent controller = null) + { + // 随机选择轨迹类型 + TrajectoryType randomTrajectory = (TrajectoryType)Random.Range(0, 3); + Initialize(start, target, randomTrajectory, controller); + } + + /// + /// 带实时追踪的初始化(终点始终为玩家位置) + /// + /// 起始位置(女巫位置) + /// 玩家Transform + /// 事件控制器 + public void InitializeWithTracking(Vector3 start, Transform player, DreamAppleEvent controller = null) + { + if (player == null) + { + Debug.LogWarning("[PoisonApple] 玩家Transform为空!"); + return; + } + + startPos = start; + targetPlayer = player; + eventController = controller; + isTrackingPlayer = true; + + // 随机选择轨迹类型 + trajectoryType = (TrajectoryType)Random.Range(0, 3); + + // 开始飞行(带实时追踪) + StartFlightWithTracking(); + + if (debugMode) + Debug.Log($"[PoisonApple] 初始化(追踪模式),轨迹: {trajectoryType}, 起点: {startPos}, 终点: 玩家位置"); + } + + /// + /// 切开毒苹果 + /// + public void Slice() + { + if (state != AppleState.Flying) return; + + state = AppleState.Sliced; + + // 停止飞行 + if (flightTween != null) + flightTween.Kill(); + + // 播放切中音效 + if (!string.IsNullOrEmpty(sliceSound)) + { + MasterAudio.PlaySound(sliceSound); + } + + // 播放切中特效 + if (sliceEffect != null) + { + GameObject effect = Instantiate(sliceEffect, transform.position, Quaternion.identity); + Destroy(effect, 2f); + } + + // 显示切开碎片 + ShowSlicePieces(); + + // 通知事件控制器 + if (eventController != null) + { + eventController.OnAppleSliced(this); + } + + if (debugMode) + Debug.Log("[PoisonApple] 被切开!"); + + // 延迟销毁 + StartCoroutine(DelayedDestroy(0.5f)); + } + + /// + /// 未击中处理 + /// + public void Miss() + { + if (state != AppleState.Flying) return; + + state = AppleState.Missed; + + // 通知事件控制器 + if (eventController != null) + { + eventController.OnAppleMissed(this); + } + + if (debugMode) + Debug.Log("[PoisonApple] 未被击中!"); + } + + #endregion + + #region 飞行逻辑 + + /// + /// 计算贝塞尔曲线控制点 + /// + private void CalculateControlPoint() + { + Vector3 midPoint = (startPos + endPos) * 0.5f; + Vector3 direction = (endPos - startPos).normalized; + Vector3 right = Vector3.Cross(Vector3.up, direction).normalized; + + switch (trajectoryType) + { + case TrajectoryType.UpwardParabola: + // 向上抛物线:控制点在中间上方 + controlPoint = midPoint + Vector3.up * curveHeight * 1.5f; + break; + + case TrajectoryType.LeftParabola: + // 左抛物线:控制点在中间左侧上方 + controlPoint = midPoint + (-right * sideOffset) + Vector3.up * curveHeight; + break; + + case TrajectoryType.RightParabola: + // 右抛物线:控制点在中间右侧上方 + controlPoint = midPoint + (right * sideOffset) + Vector3.up * curveHeight; + break; + } + } + + /// + /// 开始飞行(贝塞尔曲线) + /// + private void StartFlight() + { + // 使用DOTween沿贝塞尔曲线飞行 + float elapsed = 0f; + + flightTween = DOTween.To( + () => 0f, + t => { + transform.position = CalculateBezierPoint(t); + // 朝向运动方向 + if (t < 1f) + { + Vector3 nextPos = CalculateBezierPoint(t + 0.01f); + transform.rotation = Quaternion.LookRotation(nextPos - transform.position); + } + }, + 1f, + flightDuration + ).SetEase(Ease.Linear).OnComplete(() => { + // 飞行结束,未击中 + Miss(); + StartCoroutine(DelayedDestroy(0.5f)); + }); + } + + /// + /// 开始飞行(带实时追踪玩家位置) + /// 苹果沿三种弧线飞行,但终点始终追踪玩家当前位置 + /// + private void StartFlightWithTracking() + { + // 初始目标位置 + endPos = targetPlayer.position; + CalculateControlPoint(); + + StartCoroutine(FlightTrackingCoroutine()); + } + + /// + /// 追踪飞行协程 + /// + private IEnumerator FlightTrackingCoroutine() + { + float elapsedTime = 0f; + + while (elapsedTime < flightDuration && state == AppleState.Flying) + { + elapsedTime += Time.deltaTime; + flightProgress = elapsedTime / flightDuration; + + // 实时更新终点为玩家当前位置 + if (targetPlayer != null) + { + endPos = targetPlayer.position; + // 每帧重新计算控制点以保持弧线形状 + CalculateControlPointWithTracking(); + } + + // 计算当前位置 + Vector3 currentPos = CalculateBezierPoint(flightProgress); + transform.position = currentPos; + + // 朝向运动方向 + if (flightProgress < 1f) + { + Vector3 nextPos = CalculateBezierPoint(Mathf.Min(flightProgress + 0.01f, 1f)); + Vector3 direction = nextPos - currentPos; + if (direction.sqrMagnitude > 0.01f) + { + transform.rotation = Quaternion.LookRotation(direction); + } + } + + yield return null; + } + + // 飞行结束 + if (state == AppleState.Flying) + { + Miss(); + StartCoroutine(DelayedDestroy(0.5f)); + } + } + + /// + /// 计算控制点(带追踪模式,保持弧线形状朝向玩家) + /// + private void CalculateControlPointWithTracking() + { + Vector3 midPoint = (startPos + endPos) * 0.5f; + Vector3 direction = (endPos - startPos).normalized; + Vector3 right = Vector3.Cross(Vector3.up, direction).normalized; + + // 根据进度调整控制点高度(让弧线在中间最高) + float heightMultiplier = Mathf.Sin(flightProgress * Mathf.PI); + + switch (trajectoryType) + { + case TrajectoryType.UpwardParabola: + // 向上抛物线:控制点在中间上方 + controlPoint = midPoint + Vector3.up * curveHeight * 1.5f; + break; + + case TrajectoryType.LeftParabola: + // 左抛物线:控制点在中间左侧上方 + controlPoint = midPoint + (-right * sideOffset) + Vector3.up * curveHeight; + break; + + case TrajectoryType.RightParabola: + // 右抛物线:控制点在中间右侧上方 + controlPoint = midPoint + (right * sideOffset) + Vector3.up * curveHeight; + break; + } + } + + /// + /// 计算贝塞尔曲线上的点 + /// + private Vector3 CalculateBezierPoint(float t) + { + // 二次贝塞尔曲线公式:B(t) = (1-t)²P0 + 2(1-t)tP1 + t²P2 + float oneMinusT = 1f - t; + return oneMinusT * oneMinusT * startPos + + 2f * oneMinusT * t * controlPoint + + t * t * endPos; + } + + #endregion + + #region 视觉效果 + + /// + /// 显示切开碎片 + /// + private void ShowSlicePieces() + { + // 隐藏原始模型 + if (trailRenderer != null) + trailRenderer.enabled = false; + + // 显示碎片并飞散 + if (slicePieces != null && slicePieces.Length > 0) + { + foreach (var piece in slicePieces) + { + if (piece != null) + { + piece.SetActive(true); + // 随机飞散 + Rigidbody rb = piece.GetComponent(); + if (rb != null) + { + rb.isKinematic = false; + rb.AddForce(Random.onUnitSphere * 3f, ForceMode.Impulse); + rb.AddTorque(Random.onUnitSphere * 180f, ForceMode.Impulse); + } + } + } + } + } + + #endregion + + #region 辅助方法 + + /// + /// 延迟销毁 + /// + private IEnumerator DelayedDestroy(float delay) + { + yield return new WaitForSeconds(delay); + + if (Application.isPlaying) + { + Destroy(gameObject); + } + } + + #endregion + + #region 编辑器辅助 + +#if UNITY_EDITOR + [ContextMenu("测试:切开来")] + private void TestSlice() + { + Slice(); + } + + [ContextMenu("测试:设置向上抛物线")] + private void TestUpwardTrajectory() + { + trajectoryType = TrajectoryType.UpwardParabola; + } + + [ContextMenu("测试:设置左抛物线")] + private void TestLeftTrajectory() + { + trajectoryType = TrajectoryType.LeftParabola; + } + + [ContextMenu("测试:设置右抛物线")] + private void TestRightTrajectory() + { + trajectoryType = TrajectoryType.RightParabola; + } +#endif + + #endregion +} \ No newline at end of file diff --git a/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs.meta b/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs.meta new file mode 100644 index 00000000..c487af1d --- /dev/null +++ b/Assets/_SnowWhite/Scripts/DreamEvent/PoisonApple.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6779f2292fdd4af47a6f94932ad98434 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/_SnowWhite/Scripts/Player/RightHand.cs b/Assets/_SnowWhite/Scripts/Player/RightHand.cs index 96172476..fa8f3710 100644 --- a/Assets/_SnowWhite/Scripts/Player/RightHand.cs +++ b/Assets/_SnowWhite/Scripts/Player/RightHand.cs @@ -31,6 +31,7 @@ public class RightHand : MonoBehaviour public Transform ray; [Tooltip("手模型")] public GameObject hand; + [Tooltip("剑模型")] public GameObject dreamSword; public GameObject hit; @@ -74,6 +75,7 @@ public class RightHand : MonoBehaviour public void Init() { hand.SetActive(true); + dreamSword.SetActive(false); statueEventHandObject.SetActive(false); _isOpenLine = true; } @@ -166,27 +168,26 @@ public class RightHand : MonoBehaviour if(hit==null) return; } - - /// - /// 合成宝石钥匙 - /// - public void CreateGemKey() - { - StartCoroutine(StartGemEnd()); - } - - IEnumerator StartGemEnd() - { - GameManager.Ins.PlaySound2DRPC("1.13"); - - yield return new WaitForSeconds(3f); - } - + public void ChangeHand() { hand.SetActive(true); _isOpenLine = true; } + + public void ShowDreamSword() + { + dreamSword.SetActive(true); + hand.SetActive(false); + _isOpenLine = false; + } + + public void ShowHand() + { + hand.SetActive(true); + dreamSword.SetActive(false); + _isOpenLine = true; + } #region 水晶雕像击打方法 @@ -385,8 +386,6 @@ public class RightHand : MonoBehaviour // 恢复射线 _isOpenLine = true; - if (ray != null) - ray.gameObject.SetActive(true); // 切换道具 if (statueEventHandObject != null) diff --git a/Assets/_SnowWhite/Scripts/UI/HUDPanel.cs b/Assets/_SnowWhite/Scripts/UI/HUDPanel.cs index fafe278d..81d70de7 100644 --- a/Assets/_SnowWhite/Scripts/UI/HUDPanel.cs +++ b/Assets/_SnowWhite/Scripts/UI/HUDPanel.cs @@ -23,6 +23,11 @@ public class HUDPanel : UIBehaviour [Header("计时器")] public GameObject timerPanel; // 计时器面板 public TextMeshProUGUI timerText; // 计时器文本 + + [Header("幽灵UI")] + public GameObject ghostUIPrefab; // 幽灵UI预制体 + public float ghostUIDuration = 3f; // 幽灵UI显示时间 + public Transform ghostUIContainer; // 幽灵UI容器 public static HUDPanel Ins; @@ -40,6 +45,7 @@ public class HUDPanel : UIBehaviour { base.OnUIShow(args); bloodEffectPrefab.SetActive(false); + ghostUIPrefab.SetActive(false); } void Update() { @@ -159,4 +165,68 @@ public class HUDPanel : UIBehaviour } #endregion + + #region 梦境毒苹果事件 + + /// + /// 显示幽灵UI(幽灵碰到玩家时调用) + /// + public void ShowGhostUI() + { + if (ghostUIPrefab != null) + { + Transform container = ghostUIContainer != null ? ghostUIContainer : transform; + GameObject ghostUI = Instantiate(ghostUIPrefab, container); + ghostUI.SetActive(true); + + // 设置随机位置(在屏幕上飘动) + var rectTransform = ghostUI.GetComponent(); + if (rectTransform != null) + { + int randomX = Random.Range(-150, 150); + int randomY = Random.Range(-100, 100); + rectTransform.anchoredPosition = new Vector2(randomX, randomY); + } + + // 添加飘动动画 + var canvasGroup = ghostUI.GetComponent(); + if (canvasGroup == null) + canvasGroup = ghostUI.AddComponent(); + + // 左右飘动动画 + if (rectTransform != null) + { + rectTransform.DOAnchorPosX(rectTransform.anchoredPosition.x + 50f, 1f) + .SetLoops(-1, LoopType.Yoyo) + .SetEase(Ease.InOutSine); + } + + // 淡出动画 + canvasGroup.alpha = 1f; + canvasGroup.DOFade(0, ghostUIDuration).OnComplete(() => + { + Destroy(ghostUI); + }); + + Debug.Log("[HUDPanel] 显示幽灵UI"); + } + else + { + Debug.LogWarning("[HUDPanel] 幽灵UI预制体未设置!"); + } + } + + /// + /// 显示多个幽灵UI + /// + public void ShowMultipleGhostUI(int count) + { + for (int i = 0; i < count; i++) + { + // 延迟显示,形成依次出现的效果 + DOVirtual.DelayedCall(i * 0.2f, () => ShowGhostUI()); + } + } + + #endregion } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 20232fe6..a964a165 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -41,7 +41,7 @@ TagManager: - Hand - Bow - WildBoar - - + - DreamAppleEvent - - -