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 07475192..00000000
Binary files a/Assets/_SnowWhite/Resources/UI/54be29ec5e55105fdb3b1d4d07fbf25f.png and /dev/null differ
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
-
-
-