From 1b072f875f4f0d9ae882356b412a866ffa2c2317 Mon Sep 17 00:00:00 2001
From: Ding Yuntian <1491671119@qq.com>
Date: Thu, 26 Feb 2026 19:01:28 +0800
Subject: [PATCH] =?UTF-8?q?timeline=E5=B7=A5=E5=85=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../AssetGroups/石头维修相关资源.asset | 2 +-
Assets/Animation/石头维修/卡扣解锁.anim | 2 +-
Assets/Animation/石头维修/卡扣锁定.anim | 2 +-
.../FixSystemPrefabs/Block Puzzle Game.prefab | 431 ++++++++++++++++
Assets/Prefabs/Timeline管理器.prefab | 13 -
Assets/Scenes/梦境.unity | 15 +-
Assets/Scenes/网格测试.unity | 464 +-----------------
.../Framework/SingletonKit/SingletonBase.cs | 4 +-
.../BlockPuzzle/Test/BlockPuzzleTest.cs | 12 +-
.../TimelineKit/DirectorHandler.cs | 10 +-
.../TimelineKit/README_TimelineKit.md | 254 ++++++++++
.../TimelineKit/TimelineCenter.cs | 21 +-
12 files changed, 709 insertions(+), 521 deletions(-)
create mode 100644 Assets/Scripts/SceneManagement/TimelineKit/README_TimelineKit.md
diff --git a/Assets/AddressableAssetsData/AssetGroups/石头维修相关资源.asset b/Assets/AddressableAssetsData/AssetGroups/石头维修相关资源.asset
index 84d19f384..0c5997577 100644
--- a/Assets/AddressableAssetsData/AssetGroups/石头维修相关资源.asset
+++ b/Assets/AddressableAssetsData/AssetGroups/石头维修相关资源.asset
@@ -23,7 +23,7 @@ MonoBehaviour:
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
- m_GUID: 3bd393f446c1ad24bb37d23570d508fd
- m_Address: "Timeline/\u7EF4\u4FEE\u9762\u677F/\u5361\u6263\u89E3\u9501"
+ m_Address: "Timeline/\u5361\u6263\u89E3\u9501"
m_ReadOnly: 0
m_SerializedLabels: []
FlaggedDuringContentUpdateRestriction: 0
diff --git a/Assets/Animation/石头维修/卡扣解锁.anim b/Assets/Animation/石头维修/卡扣解锁.anim
index 20d6a41e5..d01bebf70 100644
--- a/Assets/Animation/石头维修/卡扣解锁.anim
+++ b/Assets/Animation/石头维修/卡扣解锁.anim
@@ -389,7 +389,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Animation/石头维修/卡扣锁定.anim b/Assets/Animation/石头维修/卡扣锁定.anim
index d460be4ca..0e1a5c796 100644
--- a/Assets/Animation/石头维修/卡扣锁定.anim
+++ b/Assets/Animation/石头维修/卡扣锁定.anim
@@ -452,7 +452,7 @@ AnimationClip:
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
- m_LoopTime: 1
+ m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
diff --git a/Assets/Prefabs/FixSystemPrefabs/Block Puzzle Game.prefab b/Assets/Prefabs/FixSystemPrefabs/Block Puzzle Game.prefab
index b268fa388..fb2c50b58 100644
--- a/Assets/Prefabs/FixSystemPrefabs/Block Puzzle Game.prefab
+++ b/Assets/Prefabs/FixSystemPrefabs/Block Puzzle Game.prefab
@@ -31,6 +31,100 @@ Transform:
m_Children: []
m_Father: {fileID: 1133554645891563439}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1525599657047991693
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5211279205295663977}
+ - component: {fileID: 6122716205920773932}
+ - component: {fileID: 8868415619550593388}
+ - component: {fileID: 8482515862949506209}
+ m_Layer: 0
+ m_Name: "\u5361\u6263"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5211279205295663977
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525599657047991693}
+ 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: 6891256956272958273}
+ - {fileID: 3210460222259431909}
+ - {fileID: 8396338562156163422}
+ - {fileID: 9222366401037906404}
+ m_Father: {fileID: 1133554645891563439}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!95 &6122716205920773932
+Animator:
+ serializedVersion: 5
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525599657047991693}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 0}
+ 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!320 &8868415619550593388
+PlayableDirector:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525599657047991693}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_PlayableAsset: {fileID: 11400000, guid: a541678fe3c38c645b11bb878371e602, type: 2}
+ m_InitialState: 0
+ m_WrapMode: 2
+ m_DirectorUpdateMode: 1
+ m_InitialTime: 0
+ m_SceneBindings:
+ - key: {fileID: 7240691139934070323, guid: 3bd393f446c1ad24bb37d23570d508fd, type: 2}
+ value: {fileID: 6122716205920773932}
+ - key: {fileID: -1318866568229001151, guid: a541678fe3c38c645b11bb878371e602, type: 2}
+ value: {fileID: 6122716205920773932}
+ m_ExposedReferences:
+ m_References: []
+--- !u!114 &8482515862949506209
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1525599657047991693}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 07d657d6b80509b4eb04f59afaa9aa2d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ timelineName: "\u5361\u6263"
+ director: {fileID: 8868415619550593388}
--- !u!1 &1646802579994890796
GameObject:
m_ObjectHideFlags: 0
@@ -442,6 +536,90 @@ MonoBehaviour:
halfArea: {fileID: 1087829019175070639}
openArea: {fileID: 1939276753096450851}
attachPoint: {fileID: 5674932156508469889}
+--- !u!1 &3590412316622623263
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 9222366401037906404}
+ - component: {fileID: 433651996568003716}
+ m_Layer: 0
+ m_Name: "\u8986\u76D6\u7269AO"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &9222366401037906404
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3590412316622623263}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -2.6279073, y: -0.034883976, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5211279205295663977}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &433651996568003716
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3590412316622623263}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1134468525
+ m_SortingLayer: 10
+ m_SortingOrder: 30
+ m_Sprite: {fileID: 3321254178428531932, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 8.046512, y: 8.302325}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
--- !u!1 &3651605914187569618
GameObject:
m_ObjectHideFlags: 0
@@ -671,6 +849,90 @@ Transform:
m_Children: []
m_Father: {fileID: 5779712598771319248}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4669919330719663671
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6891256956272958273}
+ - component: {fileID: 142125667422480316}
+ m_Layer: 0
+ m_Name: "\u87BA\u4E1D"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6891256956272958273
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4669919330719663671}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -3.3604655, y: -2.488372, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5211279205295663977}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &142125667422480316
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4669919330719663671}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1134468525
+ m_SortingLayer: 10
+ m_SortingOrder: 33
+ m_Sprite: {fileID: 2872243242998036087, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 7.9302325, y: 4.883721}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
--- !u!1 &4770854772182749078
GameObject:
m_ObjectHideFlags: 0
@@ -889,6 +1151,7 @@ Transform:
- {fileID: 1302769718923676967}
- {fileID: 1010688890868033682}
- {fileID: 5314670846670034778}
+ - {fileID: 5211279205295663977}
- {fileID: 1499443718145266889}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1078,6 +1341,90 @@ MonoBehaviour:
width: 3.5
height: 3
anchorPoint: 4
+--- !u!1 &6881118766573231012
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8396338562156163422}
+ - component: {fileID: 7586281598082336348}
+ m_Layer: 0
+ m_Name: "\u8986\u76D6\u7269A"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8396338562156163422
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6881118766573231012}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -4.69767, y: -0.034883976, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5211279205295663977}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7586281598082336348
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6881118766573231012}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1134468525
+ m_SortingLayer: 10
+ m_SortingOrder: 31
+ m_Sprite: {fileID: 8321270285523688510, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 5.4883723, y: 8.953488}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
--- !u!1 &7489342787601982844
GameObject:
m_ObjectHideFlags: 0
@@ -1109,6 +1456,90 @@ Transform:
m_Children: []
m_Father: {fileID: 1010688890868033682}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7677358774021519331
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3210460222259431909}
+ - component: {fileID: 5249158231216185230}
+ m_Layer: 0
+ m_Name: "\u8986\u76D6\u7269B"
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3210460222259431909
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7677358774021519331}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -0.453489, y: -0.29069757, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5211279205295663977}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &5249158231216185230
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7677358774021519331}
+ m_Enabled: 1
+ m_CastShadows: 0
+ m_ReceiveShadows: 0
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 0
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 0
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 1134468525
+ m_SortingLayer: 10
+ m_SortingOrder: 32
+ m_Sprite: {fileID: -5733857998535015527, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 4.255814, y: 9.4651165}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
--- !u!1 &7819001335259345947
GameObject:
m_ObjectHideFlags: 0
diff --git a/Assets/Prefabs/Timeline管理器.prefab b/Assets/Prefabs/Timeline管理器.prefab
index 67c30c69c..0419f8ff5 100644
--- a/Assets/Prefabs/Timeline管理器.prefab
+++ b/Assets/Prefabs/Timeline管理器.prefab
@@ -150,7 +150,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1776037001249689229}
- - component: {fileID: 573063708974344586}
m_Layer: 0
m_Name: "Timeline\u7BA1\u7406\u5668"
m_TagString: Untagged
@@ -174,15 +173,3 @@ Transform:
- {fileID: 4484639372422530251}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &573063708974344586
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 7609156256298449229}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 41ad0a33cf7036c4b8f67fcae5e0c972, type: 3}
- m_Name:
- m_EditorClassIdentifier:
diff --git a/Assets/Scenes/梦境.unity b/Assets/Scenes/梦境.unity
index 9410ce4b6..c76d7f555 100644
--- a/Assets/Scenes/梦境.unity
+++ b/Assets/Scenes/梦境.unity
@@ -363,7 +363,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 0
+ m_IsActive: 1
--- !u!81 &754616037
AudioListener:
m_ObjectHideFlags: 0
@@ -491,7 +491,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 861686055}
- - component: {fileID: 861686056}
- component: {fileID: 861686057}
m_Layer: 0
m_Name: Timeline Kit
@@ -519,18 +518,6 @@ Transform:
- {fileID: 218986883}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &861686056
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 861686054}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 41ad0a33cf7036c4b8f67fcae5e0c972, type: 3}
- m_Name:
- m_EditorClassIdentifier:
--- !u!114 &861686057
MonoBehaviour:
m_ObjectHideFlags: 0
diff --git a/Assets/Scenes/网格测试.unity b/Assets/Scenes/网格测试.unity
index b30b90b08..fc389e611 100644
--- a/Assets/Scenes/网格测试.unity
+++ b/Assets/Scenes/网格测试.unity
@@ -554,7 +554,7 @@ MonoBehaviour:
m_GameObject: {fileID: 131086216}
m_Enabled: 1
m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 41ad0a33cf7036c4b8f67fcae5e0c972, type: 3}
+ m_Script: {fileID: 11500000, guid: d27b19f645194effb1d4a5b6f0920168, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &191344401
@@ -5353,15 +5353,6 @@ MonoBehaviour:
m_EditorClassIdentifier:
timelineName: "\u7EF4\u4FEE\u9762\u677F"
director: {fileID: 1492619800}
- timelineList:
- - m_AssetGUID: a541678fe3c38c645b11bb878371e602
- m_SubObjectName:
- m_SubObjectType:
- m_EditorAssetChanged: 0
- - m_AssetGUID: 3bd393f446c1ad24bb37d23570d508fd
- m_SubObjectName:
- m_SubObjectType:
- m_EditorAssetChanged: 0
--- !u!1 &1532984430
GameObject:
m_ObjectHideFlags: 0
@@ -5481,11 +5472,6 @@ MonoBehaviour:
- {fileID: 1397299356}
imageFields:
- {fileID: 1105741520}
---- !u!4 &1695625215 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: 1133554645891563439, guid: 5b2e098922156b645a82b7bcdb436ac9, type: 3}
- m_PrefabInstance: {fileID: 4973841588922437151}
- m_PrefabAsset: {fileID: 0}
--- !u!1 &1746796215
GameObject:
m_ObjectHideFlags: 0
@@ -6196,23 +6182,6 @@ MonoBehaviour:
logScreen: {fileID: 1532984432}
blockPuzzleScreen: {fileID: 1650896848}
blockPuzzlePart: {fileID: 599612780}
---- !u!1 &88715379554727043
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 8155498365026185797}
- - component: {fileID: 7745659672237331472}
- m_Layer: 0
- m_Name: "\u8986\u76D6\u7269B"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
--- !u!4 &138611741520530880
Transform:
m_ObjectHideFlags: 0
@@ -6343,21 +6312,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!4 &1846953664189554641
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 8104346266387621237}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -12.697675, y: -0.034883976, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 8004407481828689236}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1918799646539294568
GameObject:
m_ObjectHideFlags: 0
@@ -6429,58 +6383,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!212 &2732533432465196629
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3335711713898395525}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1134468525
- m_SortingLayer: 10
- m_SortingOrder: 33
- m_Sprite: {fileID: 2872243242998036087, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 7.9302325, y: 4.883721}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
--- !u!212 &2733352662725789488
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -6548,23 +6450,6 @@ Transform:
m_Children: []
m_Father: {fileID: 375453185567817599}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &3335711713898395525
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 9028183325311737200}
- - component: {fileID: 2732533432465196629}
- m_Layer: 0
- m_Name: "\u87BA\u4E1D"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
--- !u!1 &3714885012444554289
GameObject:
m_ObjectHideFlags: 0
@@ -6753,20 +6638,13 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 4770854772182749078, guid: 5b2e098922156b645a82b7bcdb436ac9, type: 3}
- propertyPath: m_IsActive
- value: 1
- objectReference: {fileID: 0}
- target: {fileID: 5832289988495609530, guid: 5b2e098922156b645a82b7bcdb436ac9, type: 3}
propertyPath: m_Name
value: Block Puzzle Game
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
- m_AddedGameObjects:
- - targetCorrespondingSourceObject: {fileID: 1133554645891563439, guid: 5b2e098922156b645a82b7bcdb436ac9, type: 3}
- insertIndex: 4
- addedObject: {fileID: 8004407481828689236}
+ m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 5b2e098922156b645a82b7bcdb436ac9, type: 3}
--- !u!4 &5112960018860681732
@@ -6826,23 +6704,6 @@ GameObject:
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
---- !u!1 &5556180071846380836
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 7892565753077922110}
- - component: {fileID: 5776859355242800320}
- m_Layer: 0
- m_Name: "\u8986\u76D6\u7269AO"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
--- !u!212 &5642937755487522085
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -6910,58 +6771,6 @@ Transform:
m_Children: []
m_Father: {fileID: 5112960018860681732}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!212 &5776859355242800320
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5556180071846380836}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1134468525
- m_SortingLayer: 10
- m_SortingOrder: 30
- m_Sprite: {fileID: 3321254178428531932, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 8.046512, y: 8.302325}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
--- !u!1 &6454654521631228249
GameObject:
m_ObjectHideFlags: 0
@@ -7065,124 +6874,6 @@ Transform:
m_Children: []
m_Father: {fileID: 375453185567817599}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!212 &7745659672237331472
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 88715379554727043}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1134468525
- m_SortingLayer: 10
- m_SortingOrder: 32
- m_Sprite: {fileID: -5733857998535015527, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 4.255814, y: 9.4651165}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
---- !u!4 &7892565753077922110
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 5556180071846380836}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -2.6279073, y: -0.034883976, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 8004407481828689236}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!4 &8004407481828689236
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 9213599469519215927}
- 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: 9028183325311737200}
- - {fileID: 8155498365026185797}
- - {fileID: 1846953664189554641}
- - {fileID: 7892565753077922110}
- m_Father: {fileID: 1695625215}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &8104346266387621237
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1846953664189554641}
- - component: {fileID: 8473700633921473907}
- m_Layer: 0
- m_Name: "\u8986\u76D6\u7269A"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!4 &8155498365026185797
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 88715379554727043}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: 7.5465107, y: -0.29069757, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 8004407481828689236}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &8175606826540433908
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -7286,58 +6977,6 @@ PlayableDirector:
m_SceneBindings: []
m_ExposedReferences:
m_References: []
---- !u!212 &8473700633921473907
-SpriteRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 8104346266387621237}
- m_Enabled: 1
- m_CastShadows: 0
- m_ReceiveShadows: 0
- m_DynamicOccludee: 1
- m_StaticShadowCaster: 0
- m_MotionVectors: 1
- m_LightProbeUsage: 1
- m_ReflectionProbeUsage: 1
- m_RayTracingMode: 0
- m_RayTraceProcedural: 0
- m_RenderingLayerMask: 1
- m_RendererPriority: 0
- m_Materials:
- - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
- m_StaticBatchInfo:
- firstSubMesh: 0
- subMeshCount: 0
- m_StaticBatchRoot: {fileID: 0}
- m_ProbeAnchor: {fileID: 0}
- m_LightProbeVolumeOverride: {fileID: 0}
- m_ScaleInLightmap: 1
- m_ReceiveGI: 1
- m_PreserveUVs: 0
- m_IgnoreNormalsForChartDetection: 0
- m_ImportantGI: 0
- m_StitchLightmapSeams: 1
- m_SelectedEditorRenderState: 0
- m_MinimumChartSize: 4
- m_AutoUVMaxDistance: 0.5
- m_AutoUVMaxAngle: 89
- m_LightmapParameters: {fileID: 0}
- m_SortingLayerID: 1134468525
- m_SortingLayer: 10
- m_SortingOrder: 31
- m_Sprite: {fileID: 8321270285523688510, guid: eb7bc07dc232e7d4dbe28cdc16612c13, type: 3}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_FlipX: 0
- m_FlipY: 0
- m_DrawMode: 0
- m_Size: {x: 5.4883723, y: 8.953488}
- m_AdaptiveModeThreshold: 0.5
- m_SpriteTileMode: 0
- m_WasSpriteAssigned: 1
- m_MaskInteraction: 0
- m_SpriteSortPoint: 0
--- !u!212 &8496249939351218120
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -7471,21 +7110,6 @@ SortingGroup:
m_SortingLayer: 11
m_SortingOrder: 0
m_SortAtRoot: 0
---- !u!4 &9028183325311737200
-Transform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 3335711713898395525}
- serializedVersion: 2
- m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
- m_LocalPosition: {x: -3.3604655, y: -2.488372, z: 0}
- m_LocalScale: {x: 1, y: 1, z: 1}
- m_ConstrainProportionsScale: 0
- m_Children: []
- m_Father: {fileID: 8004407481828689236}
- m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &9153415064469407048
SpriteRenderer:
m_ObjectHideFlags: 0
@@ -7538,90 +7162,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
---- !u!1 &9213599469519215927
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 8004407481828689236}
- - component: {fileID: 9213599469519215928}
- - component: {fileID: 9213599469519215930}
- - component: {fileID: 9213599469519215929}
- m_Layer: 0
- m_Name: "\u5361\u6263"
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!95 &9213599469519215928
-Animator:
- serializedVersion: 5
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 9213599469519215927}
- m_Enabled: 1
- m_Avatar: {fileID: 0}
- m_Controller: {fileID: 0}
- 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!114 &9213599469519215929
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 9213599469519215927}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 07d657d6b80509b4eb04f59afaa9aa2d, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- timelineName: "\u5361\u6263\u5F00\u542F"
- director: {fileID: 9213599469519215930}
- timelineList:
- - m_AssetGUID:
- m_SubObjectName:
- m_SubObjectType:
- m_EditorAssetChanged: 0
- - m_AssetGUID:
- m_SubObjectName:
- m_SubObjectType:
- m_EditorAssetChanged: 0
---- !u!320 &9213599469519215930
-PlayableDirector:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 9213599469519215927}
- m_Enabled: 1
- serializedVersion: 3
- m_PlayableAsset: {fileID: 11400000, guid: a541678fe3c38c645b11bb878371e602, type: 2}
- m_InitialState: 0
- m_WrapMode: 2
- m_DirectorUpdateMode: 1
- m_InitialTime: 0
- m_SceneBindings:
- - key: {fileID: 7240691139934070323, guid: 3bd393f446c1ad24bb37d23570d508fd, type: 2}
- value: {fileID: 9213599469519215928}
- - key: {fileID: -1318866568229001151, guid: a541678fe3c38c645b11bb878371e602, type: 2}
- value: {fileID: 9213599469519215928}
- m_ExposedReferences:
- m_References: []
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
diff --git a/Assets/Scripts/Framework/SingletonKit/SingletonBase.cs b/Assets/Scripts/Framework/SingletonKit/SingletonBase.cs
index 636586a24..553e5367a 100644
--- a/Assets/Scripts/Framework/SingletonKit/SingletonBase.cs
+++ b/Assets/Scripts/Framework/SingletonKit/SingletonBase.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Reflection;
namespace AibisDream.Kit
@@ -26,6 +26,6 @@ namespace AibisDream.Kit
}
}
- public abstract void OnSingletonInit();
+ public virtual void OnSingletonInit() { }
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/MiniGame/BlockPuzzle/Test/BlockPuzzleTest.cs b/Assets/Scripts/MiniGame/BlockPuzzle/Test/BlockPuzzleTest.cs
index 482983d12..61bd1f5cb 100644
--- a/Assets/Scripts/MiniGame/BlockPuzzle/Test/BlockPuzzleTest.cs
+++ b/Assets/Scripts/MiniGame/BlockPuzzle/Test/BlockPuzzleTest.cs
@@ -1,11 +1,10 @@
+using AibisDream.Kit;
using UnityEngine;
namespace AibisDream.Test
{
public class BlockPuzzleTest : MonoBehaviour
{
-
-
void Start()
{
Debug.LogWarning("BlockPuzzleTest 运行中");
@@ -18,7 +17,14 @@ namespace AibisDream.Test
public void UnlockBlockPuzzle()
{
- BlockPuzzleYarnCommand.UnlockSystem();
+ ActionKit.Sequence()
+ .Coroutine(() => {
+ return TimelineCenter.Instance.PlayTimelineAsync("卡扣/卡扣解锁");
+ })
+ .Callback(() => {
+ BlockPuzzleYarnCommand.UnlockSystem();
+ })
+ .Start(this);
}
public void LoadShapeRack()
diff --git a/Assets/Scripts/SceneManagement/TimelineKit/DirectorHandler.cs b/Assets/Scripts/SceneManagement/TimelineKit/DirectorHandler.cs
index 423dfed25..ad032248d 100644
--- a/Assets/Scripts/SceneManagement/TimelineKit/DirectorHandler.cs
+++ b/Assets/Scripts/SceneManagement/TimelineKit/DirectorHandler.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections;
using UnityEngine;
using UnityEngine.Playables;
@@ -316,13 +316,5 @@ namespace AibisDream
ReleaseAddressableHandle();
callback?.Invoke();
}
-
- // ///
- // /// 对象销毁时清理事件订阅
- // ///
- // private void OnDestroy()
- // {
-
- // }
}
}
diff --git a/Assets/Scripts/SceneManagement/TimelineKit/README_TimelineKit.md b/Assets/Scripts/SceneManagement/TimelineKit/README_TimelineKit.md
new file mode 100644
index 000000000..477b63bb3
--- /dev/null
+++ b/Assets/Scripts/SceneManagement/TimelineKit/README_TimelineKit.md
@@ -0,0 +1,254 @@
+# TimelineKit 使用文档
+
+TimelineKit 是 AIBIS Dream 项目中用于统一管理 Unity Timeline 播放的中心化系统。它基于 `PlayableDirector`,提供播放控制、Addressables 动态加载、Yarn 对话集成等功能。
+
+---
+
+## 目录
+
+1. [系统架构](#系统架构)
+2. [快速开始](#快速开始)
+3. [配置 DirectorHandler](#配置-directorhandler)
+4. [TimelineCenter API](#timelinecenter-api)
+5. [Timeline 名称格式](#timeline-名称格式)
+6. [Yarn 对话集成](#yarn-对话集成)
+7. [代码调用示例](#代码调用示例)
+8. [Addressables 配置](#addressables-配置)
+9. [常见问题](#常见问题)
+
+---
+
+## 系统架构
+
+```
+┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
+│ TimelineCenter │────▶│ DirectorHandler │────▶│ PlayableDirector│
+│ (单例中心) │ │ (场景中的组件) │ │ (Unity 原生) │
+└─────────────────┘ └──────────────────┘ └─────────────────┘
+ │
+ ├── 注册/注销 Director
+ ├── 播放控制 (播放/暂停/停止/重置)
+ ├── 状态查询 (时间/时长)
+ └── 批量操作
+```
+
+- **TimelineCenter**:单例管理器,负责注册所有 Director 并统一调度
+- **DirectorHandler**:挂载在带 `PlayableDirector` 的 GameObject 上,自动向 TimelineCenter 注册
+- **TimelineYarnCommand**:提供 Yarn Spinner 命令,可在对话脚本中直接播放 Timeline
+
+---
+
+## 快速开始
+
+### 1. 场景设置
+
+1. 在场景中创建或选中一个 GameObject
+2. 添加 **PlayableDirector** 组件,并分配默认的 Playable Asset
+3. **将 PlayableDirector 的 Play On Awake 设为 false**,否则 Timeline 会在场景加载时立刻播放
+4. 添加 **DirectorHandler** 组件
+5. 在 DirectorHandler 中填写 **Timeline Name**(唯一标识,用于 PlayTimeline 时指定)
+
+### 2. 播放 Timeline
+
+```csharp
+// 播放该 Director 自带的 Playable Asset
+TimelineCenter.Instance.PlayTimeline("维修面板");
+
+// 从 Addressables 加载并播放
+TimelineCenter.Instance.PlayTimeline("卡扣/卡扣解锁");
+```
+
+---
+
+## 配置 DirectorHandler
+
+| 字段 | 说明 |
+|------|------|
+| **timelineName** | Director 的全局唯一名称,供 PlayTimeline 等 API 使用 |
+| **director** | 关联的 PlayableDirector(通常与组件同一 GameObject,可自动查找) |
+
+DirectorHandler 会在 `Start` 时自动向 TimelineCenter 注册,在 `OnDestroy` 时注销。
+
+---
+
+## TimelineCenter API
+
+### 播放控制
+
+| 方法 | 说明 |
+|------|------|
+| `PlayTimeline(string timelineName)` | 播放 Timeline(同步,不等待结束) |
+| `PlayTimelineAsync(string name)` | 协程版本,播放完成后 yield 返回 |
+| `StopTimeline(string timelineName)` | 停止播放 |
+| `PauseTimeline(string timelineName)` | 暂停 |
+| `ResumeTimeline(string timelineName)` | 恢复播放 |
+| `ResetTimeline(string timelineName)` | 重置到开头 |
+| `HideTimeline(string timelineName)` | 隐藏该 Director 的 GameObject(SetActive(false)) |
+
+### 状态查询
+
+| 方法 | 说明 |
+|------|------|
+| `GetPlaybackTime(string name)` | 获取当前播放时间(秒) |
+| `GetDuration(string name)` | 获取 Timeline 总时长(秒) |
+
+### 扩展操作
+
+| 方法 | 说明 |
+|------|------|
+| `SetPlaybackSpeed(string name, float speed)` | 设置播放速度 |
+| `SeekToTime(string name, double time)` | 跳转到指定时间点 |
+
+### 批量操作
+
+| 方法 | 说明 |
+|------|------|
+| `PauseAll()` | 暂停所有已注册的 Timeline |
+| `StopAll()` | 停止所有 |
+| `ResetAll()` | 重置所有 |
+
+---
+
+## Timeline 名称格式
+
+`timelineName` 支持两种格式:
+
+| 格式 | 示例 | 说明 |
+|------|------|------|
+| **仅 Director 名** | `"维修面板"` | 播放该 Director 自带的 `playableAsset` |
+| **Director 名/AddressableKey** | `"卡扣/卡扣解锁"` | 从 Addressables 加载 `Timeline/{AddressableKey}` 并播放 |
+
+解析规则:若包含 `/`,则前半部分为 directorName,后半部分为 addressableKey;否则整个字符串为 directorName。
+
+---
+
+## Yarn 对话集成
+
+TimelineYarnCommand 提供以下 Yarn 命令,可在 `.yarn` 文件中直接使用:
+
+### play_timeline
+
+播放 Timeline,**会等待播放完成**后再继续对话。
+
+```yarn
+// 播放自带 Timeline
+<>
+
+// 播放 Addressable Timeline
+<>
+```
+
+### reset_timeline
+
+重置 Timeline 到开头。
+
+```yarn
+<>
+```
+
+### hide_timeline
+
+隐藏 Timeline 所在的 GameObject。
+
+```yarn
+<>
+```
+
+---
+
+## 代码调用示例
+
+### 直接播放(不等待)
+
+```csharp
+TimelineCenter.Instance.PlayTimeline("维修面板");
+```
+
+### 协程中等待播放完成
+
+```csharp
+IEnumerator PlayAndDoSomething()
+{
+ yield return TimelineCenter.Instance.PlayTimelineAsync("卡扣/卡扣解锁");
+ // 播放完成后执行
+ Debug.Log("Timeline 播放完毕");
+}
+```
+
+### 配合 ActionKit 使用
+
+```csharp
+ActionKit.Sequence()
+ .Coroutine(() => TimelineCenter.Instance.PlayTimelineAsync("卡扣/卡扣解锁"))
+ .Callback(() => BlockPuzzleYarnCommand.UnlockSystem())
+ .Start(this);
+```
+
+### 带完成回调的 DirectorHandler 播放
+
+若直接持有 DirectorHandler 引用,可传入 `onComplete`:
+
+```csharp
+// 仅适用于 Director 自带的 Asset,非 Addressable
+directorHandler.Play(() => Debug.Log("播放完成"));
+```
+
+---
+
+## Addressables 配置
+
+使用 `DirectorName/AddressableKey` 格式时,DirectorHandler 会加载:
+
+```
+Timeline/{AddressableKey}
+```
+
+因此需在 Addressables 中:
+
+1. 创建或使用已有 Group(如「石头维修相关资源」)
+2. 将 Timeline 资源加入 Group
+3. 设置 Address 为 `Timeline/卡扣解锁` 等形式(或与代码中的 key 一致)
+
+示例(`石头维修相关资源.asset` 中已有):
+
+- `Timeline/卡扣解锁`
+- `Timeline/卡扣锁定`
+
+代码中传递的 addressableKey 为 `卡扣解锁`,无需写 `Timeline/` 前缀。
+
+---
+
+## 常见问题
+
+### Q: Timeline 一进场景就自动播放?
+
+将 PlayableDirector 组件的 **Play On Awake** 设为 **false**。否则 Unity 会在 Awake 时自动播放,与 TimelineCenter 的播放控制冲突。
+
+### Q: Timeline 找不到?
+
+确保场景中对应 GameObject 上有 DirectorHandler,且 `timelineName` 与调用时一致。DirectorHandler 在 `Start` 时注册,若场景未完全加载可能尚未注册。
+
+### Q: Addressable 加载失败?
+
+检查:
+
+1. Addressable 的 Address 是否包含 `Timeline/` 前缀,或与 DirectorHandler 拼出的 key 一致
+2. 资源已正确加入 Addressables Group
+3. 控制台是否有 `Failed to load PlayableAsset` 等错误
+
+### Q: 播放完成回调不触发?
+
+- `PlayTimeline` / `PlayTimelineAsync` 不直接支持回调,需用协程或 ActionKit 在播放完成后再执行逻辑
+- 直接调用 `directorHandler.Play(onComplete)` 时可使用回调,但仅适用于自带 Asset
+
+### Q: 多个 Director 重名?
+
+`timelineName` 必须全局唯一,否则后注册的会覆盖先前的。
+
+---
+
+## 相关文件
+
+- `TimelineCenter.cs` - 中心管理器
+- `DirectorHandler.cs` - Director 组件
+- `TimelineYarnCommand.cs` - Yarn 命令注册
diff --git a/Assets/Scripts/SceneManagement/TimelineKit/TimelineCenter.cs b/Assets/Scripts/SceneManagement/TimelineKit/TimelineCenter.cs
index 24de6c6c7..d97d7bb22 100644
--- a/Assets/Scripts/SceneManagement/TimelineKit/TimelineCenter.cs
+++ b/Assets/Scripts/SceneManagement/TimelineKit/TimelineCenter.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -6,23 +6,14 @@ using AibisDream.Kit;
namespace AibisDream
{
- public class TimelineCenter : Singleton, ITimelineCenter
+ public class TimelineCenter : SingletonBase, ITimelineCenter
{
private readonly Dictionary _timelineDict = new();
- public override void OnSingletonInit()
- {
- RegisterAllDirector();
- }
-
- private void RegisterAllDirector()
- {
- var allDirectorHandlers = GetComponentsInChildren(true);
- foreach (var directorHandler in allDirectorHandlers)
- {
- _timelineDict.Add(directorHandler.timelineName, directorHandler);
- }
- }
+ ///
+ /// 私有构造函数,供单例工具使用
+ ///
+ private TimelineCenter() { }
public void RegisterDirector(DirectorHandler directorHandler)
{