diff --git a/Assets/Art/Timeline/0-180.playable b/Assets/Art/Timeline/0-180.playable new file mode 100644 index 0000000..874ddc2 --- /dev/null +++ b/Assets/Art/Timeline/0-180.playable @@ -0,0 +1,1122 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8421437356586026945 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: 5947863982767822378} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!114 &-7590656864639944084 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (3) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: -10, y: -0.8468, z: -0.0046} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: 1884113296467586574} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!114 &-6786903364522282068 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (1) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: -10, y: 0, z: 0} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: -5418850314548018007} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!74 &-5418850314548018007 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (1) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!74 &-4989139322308630654 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (2) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} + m_Name: 0-180 + m_EditorClassIdentifier: + m_Version: 0 + m_Tracks: + - {fileID: -8421437356586026945} + - {fileID: -6786903364522282068} + - {fileID: 5642281781616806033} + - {fileID: -7590656864639944084} + m_FixedDuration: 0 + m_EditorSettings: + m_Framerate: 60 + m_ScenePreview: 1 + m_DurationMode: 0 + m_MarkerTrack: {fileID: 0} +--- !u!74 &1884113296467586574 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (3) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!114 &5642281781616806033 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (2) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: 0, y: -0.8468, z: -0.0046} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: -4989139322308630654} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!74 &5947863982767822378 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度.meta b/Assets/Art/Timeline/0-180.playable.meta similarity index 52% rename from Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度.meta rename to Assets/Art/Timeline/0-180.playable.meta index 3a40173..9099c39 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度.meta +++ b/Assets/Art/Timeline/0-180.playable.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: 03811c703638b5144b2933c5b9877777 -folderAsset: yes -DefaultImporter: +guid: c48874f905c2eef4fa0c3c2f643f7d22 +NativeFormatImporter: externalObjects: {} + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Art/Timeline/180-0.playable b/Assets/Art/Timeline/180-0.playable new file mode 100644 index 0000000..d034056 --- /dev/null +++ b/Assets/Art/Timeline/180-0.playable @@ -0,0 +1,1122 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3363750484671550300 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: 6009440714449136373} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!74 &-1492182396507566462 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (3) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bfda56da833e2384a9677cd3c976a436, type: 3} + m_Name: 180-0 + m_EditorClassIdentifier: + m_Version: 0 + m_Tracks: + - {fileID: -3363750484671550300} + - {fileID: 1987304972953789498} + - {fileID: 2914873767249624483} + - {fileID: 1828734976308347945} + m_FixedDuration: 0 + m_EditorSettings: + m_Framerate: 60 + m_ScenePreview: 1 + m_DurationMode: 0 + m_MarkerTrack: {fileID: 0} +--- !u!114 &1828734976308347945 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (3) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: -10, y: -0.8468, z: -0.0046} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: -1492182396507566462} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!114 &1987304972953789498 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (1) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: -10, y: 0, z: 0} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: 6555897429747282408} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!74 &2888068834091462213 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (2) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!114 &2914873767249624483 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d21dcc2386d650c4597f3633c75a1f98, type: 3} + m_Name: Animation Track (2) + m_EditorClassIdentifier: + m_Version: 3 + m_AnimClip: {fileID: 0} + m_Locked: 0 + m_Muted: 0 + m_CustomPlayableFullTypename: + m_Curves: {fileID: 0} + m_Parent: {fileID: 11400000} + m_Children: [] + m_Clips: [] + m_Markers: + m_Objects: [] + m_InfiniteClipPreExtrapolation: 1 + m_InfiniteClipPostExtrapolation: 1 + m_InfiniteClipOffsetPosition: {x: 0, y: -0.8468, z: -0.0046} + m_InfiniteClipOffsetEulerAngles: {x: -0, y: 0, z: 0} + m_InfiniteClipTimeOffset: 0 + m_InfiniteClipRemoveOffset: 0 + m_InfiniteClipApplyFootIK: 1 + mInfiniteClipLoop: 0 + m_MatchTargetFields: 63 + m_Position: {x: 0, y: 0, z: 0} + m_EulerAngles: {x: 0, y: 0, z: 0} + m_AvatarMask: {fileID: 0} + m_ApplyAvatarMask: 1 + m_TrackOffset: 0 + m_InfiniteClip: {fileID: 2888068834091462213} + m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1} + m_Rotation: {x: 0, y: 0, z: 0, w: 1} + m_ApplyOffsets: 0 +--- !u!74 &6009440714449136373 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + - serializedVersion: 2 + path: 0 + attribute: 1 + script: {fileID: 0} + typeID: 4 + customType: 0 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalPosition.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] +--- !u!74 &6555897429747282408 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Recorded (1) + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 180, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1.5 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1.5 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 180 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 4 + script: {fileID: 0} + flags: 16 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 4 + script: {fileID: 0} + flags: 16 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 4 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 4 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Art/Timeline/180-0.playable.meta b/Assets/Art/Timeline/180-0.playable.meta new file mode 100644 index 0000000..b4a3af8 --- /dev/null +++ b/Assets/Art/Timeline/180-0.playable.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35f6739f33351504f8f108636f5bf69f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/BaseData.xlsx b/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/BaseData.xlsx index 76a6798..500d625 100644 Binary files a/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/BaseData.xlsx and b/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/BaseData.xlsx differ diff --git a/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/StateData.xlsx b/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/StateData.xlsx index 1757136..30516d4 100644 Binary files a/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/StateData.xlsx and b/Assets/Resources/XinFeiTingZhen/ExcelData/Excel/StateData.xlsx differ diff --git a/Assets/Third/AI/Scripts/Chat/ChatUI.cs b/Assets/Third/AI/Scripts/Chat/ChatUI.cs index bdb4ff6..f1e595b 100644 --- a/Assets/Third/AI/Scripts/Chat/ChatUI.cs +++ b/Assets/Third/AI/Scripts/Chat/ChatUI.cs @@ -66,15 +66,7 @@ public class ChatUI : MonoBehaviour thinking = value; } } - //private bool typing; - //public bool Typing - //{ - // get { return typing; } - // set - // { - // typing = value; - // } - //} + private bool closed; Action action; private void Awake() @@ -162,7 +154,7 @@ public class ChatUI : MonoBehaviour if (!string.IsNullOrEmpty(str)) { Thinking = true; - ChatAI.Instance.SendData(Regex.Replace(str, @"[\p{P}\p{S}]", ""), str => + ChatAI.Instance.SendData(str, str => { Thinking = false; wakeUpCurrentTime = 0; @@ -174,11 +166,8 @@ public class ChatUI : MonoBehaviour } else { - //coroutine = StartCoroutine(TypeText(0.18f * str.Length, str, str => GenChatTxt(str), () => Typing = false)); GenChatTxt(str); - //Typing = false; OnAppendMsg(0, MsgTypeEnum.Str, str); - //Typing = true; ChatAI.Instance.PlayVoice(str, clip => { audioSource.clip = clip; audioSource.Play(); @@ -196,7 +185,7 @@ public class ChatUI : MonoBehaviour if (!string.IsNullOrEmpty(str)) { Thinking = true; - ChatAI.Instance.SendData(Regex.Replace(str, @"[\p{P}\p{S}]", ""), str => + ChatAI.Instance.SendData(str, str => { Thinking = false; wakeUpCurrentTime = 0; @@ -208,11 +197,8 @@ public class ChatUI : MonoBehaviour } else { - //coroutine = StartCoroutine(TypeText(0.18f * str.Length, str, str => GenChatTxt(str), () => Typing = false)); GenChatTxtNext(str); - //Typing = false; OnAppendMsg(0, MsgTypeEnum.Str, str); - //Typing = true; ChatAI.Instance.PlayVoice(str, clip => { audioSource.clip = clip; audioSource.Play(); @@ -242,7 +228,6 @@ public class ChatUI : MonoBehaviour private void ResponseCallBack(string _response) { _response = _response.Trim(); - //VoiceBtnEnable(); m_SendBtn.interactable = true; if (!string.IsNullOrEmpty(_response)) { diff --git a/Assets/Third/SensorModule/Scripts/Sensor/Base/Sensor.cs b/Assets/Third/SensorModule/Scripts/Sensor/Base/Sensor.cs index 1c7fc39..efd8663 100644 --- a/Assets/Third/SensorModule/Scripts/Sensor/Base/Sensor.cs +++ b/Assets/Third/SensorModule/Scripts/Sensor/Base/Sensor.cs @@ -1,22 +1,23 @@ -using System.Collections; -using System.Collections.Generic; +// Sensor.cs using UnityEngine; -/// -/// ´«¸ÐÆ÷»ùÀà -/// + public abstract class Sensor : MonoBehaviour { SensorManager sensorManager; + public void Init(SensorManager sm) { sensorManager = sm; } + public void SendData(string data) { sensorManager.SendFunction(data); } - public virtual void ReceiveData(string datas) + + // Ð޸ģºÔö¼Ó portName ²ÎÊý£¬ÓÃÓÚÇø·ÖÊý¾ÝÀ´Ô´ + public virtual void ReceiveData(string datas, string portName) { if (!gameObject.activeSelf) return; } -} +} \ No newline at end of file diff --git a/Assets/Third/SensorModule/Scripts/Sensor/TZQ_Sensor.cs b/Assets/Third/SensorModule/Scripts/Sensor/TZQ_Sensor.cs index 01798ac..63fe577 100644 --- a/Assets/Third/SensorModule/Scripts/Sensor/TZQ_Sensor.cs +++ b/Assets/Third/SensorModule/Scripts/Sensor/TZQ_Sensor.cs @@ -1,15 +1,14 @@ using System.Text.RegularExpressions; using UnityEngine; using UnityEngine.UI; - public class TZQ_Sensor : Sensor { [SerializeField] Text txt; public int positionValue = 0; - public override void ReceiveData(string datas) + public override void ReceiveData(string datas,string portName) { - base.ReceiveData(datas); + base.ReceiveData(datas, portName); Regex regex = new Regex(@"Position:(\d+)"); Match match = regex.Match(datas); if (match.Success) @@ -20,4 +19,4 @@ public class TZQ_Sensor : Sensor } } } -} +} \ No newline at end of file diff --git a/Assets/Third/SensorModule/Scripts/Sensor/ZXKWakeup.cs b/Assets/Third/SensorModule/Scripts/Sensor/ZXKWakeup.cs index d1e71c4..2aba2bc 100644 --- a/Assets/Third/SensorModule/Scripts/Sensor/ZXKWakeup.cs +++ b/Assets/Third/SensorModule/Scripts/Sensor/ZXKWakeup.cs @@ -1,12 +1,4 @@ -using NAudio.Wave; using System; -using System.IO; -using System.IO.Ports; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; /// /// ÓïÒô¹¤¾ß /// @@ -14,9 +6,9 @@ public class ZXKWakeup : Sensor { //»½ÐÑ´Ê£ºÐ¡ÖÇСÖÇ public Action callBack;//»½Ðѻص÷ - public override void ReceiveData(string datas) + public override void ReceiveData(string datas, string portName) { - base.ReceiveData(datas); + base.ReceiveData(datas, portName); if (datas.TrimEnd('\n', '\r') == "hello") { callBack?.Invoke(); diff --git a/Assets/Third/SensorModule/Scripts/SensorManager.cs b/Assets/Third/SensorModule/Scripts/SensorManager.cs index a3e3ad7..2f3fa20 100644 --- a/Assets/Third/SensorModule/Scripts/SensorManager.cs +++ b/Assets/Third/SensorModule/Scripts/SensorManager.cs @@ -1,25 +1,21 @@ +// SensorManager.cs using System; -using System.Collections.Concurrent; using System.Collections.Generic; -using System.Data.SqlTypes; using System.IO.Ports; using System.Text; using System.Threading; -//using UnityEditor.PackageManager.UI; using UnityEngine; using UnityThreadingUtils; -using ZXKFramework; -public class SensorManager : MonoBehaviour /*MonoSingleton*/ +public class SensorManager : MonoBehaviour { public enum DataType { ×Ö·û´®, ×Ö½ÚÁ÷, } - #region ´®¿Ú²ÎÊý,Ö÷ÒªÐ޸Ĵ®¿ÚÃûÓë²¨ÌØÂÊ - [Header("´®¿ÚÃû")] - public string portName = "COM10"; + + #region ´®¿Ú²ÎÊý [Header("²¨ÌØÂÊ")] public int baudRate = 115200; [Header("ÆæÅ¼Ð£Ñé")] @@ -28,31 +24,162 @@ public class SensorManager : MonoBehaviour /*MonoSingleton*/ private int dataBits = 8; [Header("ֹͣλ")] private StopBits stopBits = StopBits.One; - SerialPort sp = null; - Thread dataReceiveThread; [Header("½ÓÊÕÊý¾Ý¸ñʽ")] public DataType dataType; #endregion + + // 1. Ð޸ģºÊ¹ÓÃÁÐ±í´æ´¢¶à¸ö´®¿Ú¼°Ïà¹ØÏß³Ì + private List serialPorts = new List(); + private List receiveThreads = new List(); + private Dictionary allSensor = new Dictionary(); - StringBuilder sb = new StringBuilder(); public GameObject sensorView; + private void Start() { - sp = new SerialPort(portName, baudRate, parity, dataBits, stopBits); + // 1. ×Ô¶¯²éÕÒ²¢Á¬½ÓËùÓпÉÓÃ¶Ë¿Ú + List connectedPorts = AutoConnectAll(); + + if (connectedPorts.Count == 0) + { + Debug.LogError("ûÓÐÕÒµ½¿ÉÓõĴ®¿ÚÉ豸¡£"); + return; + } + + // 2. ³õʼ»¯´«¸ÐÆ÷ foreach (Sensor s in GetComponentsInChildren()) { allSensor.TryAdd(s.GetType().Name, s); + s.Init(this); // Á¢¼´³õʼ»¯ } - switch (dataType) + } + + /// + /// ×Ô¶¯²éÕÒ²¢Á¬½ÓËùÓпÉÓõĴ®¿Ú + /// + /// ³É¹¦Á¬½ÓµÄ¶Ë¿ÚÃû³ÆÁбí + private List AutoConnectAll() + { + List connectedPorts = new List(); + string[] portNames = SerialPort.GetPortNames(); + + if (portNames.Length == 0) { - case DataType.×Ö½ÚÁ÷: - dataReceiveThread = new Thread(new ThreadStart(DataReceiveBytesThread)); - break; - case DataType.×Ö·û´®: - dataReceiveThread = new Thread(new ThreadStart(DataReceiveStrThread)); - break; + Debug.LogWarning("δ¼ì²âµ½Èκδ®¿ÚÓ²¼þ¡£"); + return connectedPorts; + } + + foreach (string name in portNames) + { + try + { + SerialPort sp = new SerialPort(name, baudRate, parity, dataBits, stopBits); + sp.ReadTimeout = 1000; + sp.Open(); + + // Á¬½Ó³É¹¦£¬¼ÓÈëÁбí + serialPorts.Add(sp); + connectedPorts.Add(name); + Debug.Log($"³É¹¦Á¬½ÓÉ豸: {name}"); + + // 2. Ϊÿһ¸ö¶Ë¿ÚÆô¶¯¶ÀÁ¢µÄ½ÓÊÕÏß³Ì + Thread thread = new Thread(() => DataReceiveThread(sp)); + thread.IsBackground = true; + thread.Start(); + receiveThreads.Add(thread); + + } + catch (Exception e) + { + Debug.LogWarning($"¶Ë¿Ú {name} Á¬½Óʧ°Ü: {e.Message}"); + } + } + + return connectedPorts; + } + + /// + /// ͨÓõÄÊý¾Ý½ÓÊÕÏ̷߳½·¨£¨Ã¿¸ö´®¿ÚÒ»¸ö£© + /// + /// µ±Ç°´¦ÀíµÄ´®¿Ú¶ÔÏó + private void DataReceiveThread(SerialPort port) + { + while (true) + { + // ¼ì²é¶Ë¿ÚÊÇ·ñ»¹ÓÐЧ + if (port == null || !port.IsOpen) break; + + try + { + if (port.BytesToRead > 0) + { + string receivedData = ""; + + // ¸ù¾Ý¸ñʽ½âÎöÊý¾Ý + if (dataType == DataType.×Ö½ÚÁ÷) + { + byte[] buffer = new byte[port.BytesToRead]; + port.Read(buffer, 0, buffer.Length); + receivedData = Encoding.Default.GetString(buffer); + } + else // ×Ö·û´® + { + receivedData = port.ReadExisting(); + } + + // ʹÓõ÷¶ÈÆ÷½«ÈÎÎñÅ×»ØÖ÷Ïß³Ì + UnityMainThreadDispatcher.Instance().Enqueue(() => + { + // 3. ¹Ø¼ü£º½«Êý¾ÝºÍ¶Ë¿ÚÃûÒ»Æð·Ö·¢¸øËùÓд«¸ÐÆ÷ + // Äã¿ÉÒÔÔÚÕâÀïдÂß¼­£¬±ÈÈçÖ»´¦ÀíÌØ¶¨¶Ë¿ÚµÄÊý¾Ý£¬»òÕ߹㲥¸øËùÓÐ + foreach (var sensor in allSensor.Values) + { + sensor.ReceiveData(receivedData, port.PortName); + } + }); + } + } + catch (TimeoutException) + { + // ³¬Ê±Õý³££¬¼ÌÐøÑ­»· + continue; + } + catch (Exception ex) + { + Debug.Log($"¶ÁÈ¡ {port.PortName} ʱ³ö´í: {ex.Message}"); + break; // ¶ÁÈ¡³ö´í£¬Í˳öÏß³ÌÑ­»· + } + + Thread.Sleep(20); // ·ÀÖ¹CPUÕ¼Óùý¸ß + } + } + + /// + /// ·¢ËÍÊý¾Ý£¨¹ã²¥Ä£Ê½£ºÏòËùÓдò¿ªµÄ¶Ë¿Ú·¢ËÍ£© + /// + /// + public void SendFunction(string str) + { + if (string.IsNullOrEmpty(str)) return; + + byte[] dataSend = Encoding.ASCII.GetBytes(str); + + // ±éÀúËùÓд®¿Ú£¬Ïòÿһ¸ö·¢ËÍÊý¾Ý + foreach (var sp in serialPorts) + { + try + { + if (sp != null && sp.IsOpen) + { + sp.Write(dataSend, 0, dataSend.Length); + Debug.Log($"Ïò {sp.PortName} ·¢ËÍ: {str}"); + } + } + catch (Exception e) + { + Debug.LogError($"·¢ËÍʧ°Ü {sp?.PortName}: {e.Message}"); + } } - OpenPort(); } private void Update() { @@ -68,160 +195,35 @@ public class SensorManager : MonoBehaviour /*MonoSingleton*/ } } } - /// - /// ½ÓÊÕ×Ö½ÚÁ÷ - /// - private void DataReceiveBytesThread() - { - while (true) - { - if (sp != null && sp.IsOpen) - { - try - { - if (sp.BytesToRead > 0) - { - byte[] buffer = new byte[sp.BytesToRead]; - sp.Read(buffer, 0, sp.BytesToRead); - string receivedData = Encoding.Default.GetString(buffer); - //Debug.Log(receivedData); - UnityMainThreadDispatcher.Instance().Enqueue(() => - { - foreach (var s in allSensor) - { - s.Value.ReceiveData(receivedData); - } - }); - } - } - catch (Exception e) - { - Debug.Log("ÏûÏ¢½ÓÊÕʧ°Ü:" + e); - } - } - Thread.Sleep(20); - } - } - - /// - /// ½ÓÊÕ×Ö·û´® - /// - private void DataReceiveStrThread() - { - while (true) - { - if (sp != null && sp.IsOpen) - { - try - { - if (sp.BytesToRead > 0) - { - sb.Append(sp.ReadExisting()); - //this.ColorLog(GDLog.LogColorState.Blue, sp.ReadLine()); - UnityMainThreadDispatcher.Instance().Enqueue(() => - { - foreach (var s in allSensor) - { - s.Value.ReceiveData(sb.ToString()); - } - sb.Clear(); - }); - } - } - catch (Exception) - { - Debug.Log("ÏûÏ¢½ÓÊÕʧ°Ü"); - } - } - Thread.Sleep(20); - } - } - /// - /// ·¢ËÍÏûÏ¢ - /// - /// - public void SendFunction(string str) - { - try - { - byte[] dataSend = Encoding.ASCII.GetBytes(str); - if (sp != null && sp.IsOpen) - { - if (dataSend != null && dataSend.Length > 0) - { - sp.Write(dataSend, 0, dataSend.Length); - Debug.Log("·¢ËÍÏûÏ¢³É¹¦£º" + str); - } - } - } - catch (Exception) - { - Debug.Log("·¢ËÍÏûϢʧ°Ü£º" + str); - } - } - //»ñȡָ¶¨´«¸ÐÆ÷ + // »ñÈ¡´«¸ÐÆ÷Âß¼­±£³Ö²»±ä public T GetSensor() where T : Sensor { - try + string name = typeof(T).Name; + if (!allSensor.ContainsKey(name)) { - string name = typeof(T).Name; - if (!allSensor.ContainsKey(name)) + T comp = GetComponentInChildren(); + if (comp != null) { - allSensor.TryAdd(name, GetComponentInChildren()); - allSensor[name].Init(this); - } - //Debug.Log("´«¸ÐÆ÷»ñÈ¡³É¹¦"); - return allSensor[name] as T; - } - catch (Exception) - { - Debug.Log("´«¸ÐÆ÷»ñȡʧ°Ü"); - return null; - } - } - #region ´®¿Ú¿ªÆô¹Ø±ÕÏà¹Ø - //´ò¿ª´®¿Ú - public void OpenPort() - { - try - { - if (!sp.IsOpen) - { - sp.Open(); - dataReceiveThread.Start(); - Debug.Log("´®¿Ú´ò¿ª³É¹¦"); + allSensor[name] = comp; + comp.Init(this); } } - catch (Exception e) - { - Debug.Log("´®¿Ú´ò¿ªÊ§°Ü" + e.ToString()); - } + return allSensor[name] as T; } - //¹Ø±Õ´®¿Ú - public void ClosePort() - { - try - { - sp.Close(); - dataReceiveThread.Abort(); - Debug.Log("´®¿Ú¹Ø±Õ"); - } - catch (Exception) - { - Debug.Log("´®¿Ú¹Ø±Õʧ°Ü"); - } - } - #endregion - - #region Unity Í˳öÏà¹Ø + // Í˳öʱ¹Ø±ÕËùÓÐ¶Ë¿Ú private void OnApplicationQuit() { - ClosePort(); + foreach (var sp in serialPorts) + { + try + { + if (sp != null && sp.IsOpen) sp.Close(); + sp?.Dispose(); + } + catch (Exception e) { Debug.Log(e.Message); } + } + serialPorts.Clear(); + receiveThreads.Clear(); } - private void OnDisable() - { - ClosePort(); - } - #endregion } \ No newline at end of file diff --git a/Assets/_Scenes/Init.unity b/Assets/_Scenes/Init.unity index b19eb27..66d9d71 100644 --- a/Assets/_Scenes/Init.unity +++ b/Assets/_Scenes/Init.unity @@ -2662,7 +2662,7 @@ MonoBehaviour: m_Calls: [] m_FontData: m_Font: {fileID: 12800000, guid: 60ee95c36778d1e45be2c34febf3bae9, type: 3} - m_FontSize: 30 + m_FontSize: 28 m_FontStyle: 1 m_BestFit: 0 m_MinSize: 2 diff --git a/Assets/_Scenes/XinFeiTingZhen.unity b/Assets/_Scenes/XinFeiTingZhen.unity index 7751381..cd1ce53 100644 --- a/Assets/_Scenes/XinFeiTingZhen.unity +++ b/Assets/_Scenes/XinFeiTingZhen.unity @@ -13456,6 +13456,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 85679981} m_CullTransparentMesh: 1 +--- !u!1 &88074756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 88074757} + m_Layer: 0 + m_Name: Init + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &88074757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 88074756} + 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: 482236347} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &88731828 GameObject: m_ObjectHideFlags: 0 @@ -27887,7 +27918,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 90 - angleThreshold: 0.5 + currentState: 0 --- !u!114 &164371420 MonoBehaviour: m_ObjectHideFlags: 0 @@ -50744,6 +50775,8 @@ Transform: - {fileID: 1290841875} - {fileID: 874457400} - {fileID: 91711526} + - {fileID: 482236347} + - {fileID: 1529152633} m_Father: {fileID: 1942301345} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &320283063 @@ -50945,6 +50978,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 321170204} m_CullTransparentMesh: 1 +--- !u!1 &322000172 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 322000173} + m_Layer: 0 + m_Name: Init + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &322000173 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 322000172} + 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: 1529152633} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &322303626 GameObject: m_ObjectHideFlags: 0 @@ -77043,6 +77107,52 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 481938719} m_CullTransparentMesh: 1 +--- !u!1 &482236346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 482236347} + - component: {fileID: 482236348} + m_Layer: 0 + m_Name: 0-180 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &482236347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 482236346} + 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: 88074757} + - {fileID: 1763236867} + m_Father: {fileID: 320283062} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &482236348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 482236346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73e6573c7793f244a81c07ddef440979, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &482404400 GameObject: m_ObjectHideFlags: 0 @@ -101088,6 +101198,63 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 638086546} m_CullTransparentMesh: 1 +--- !u!1 &638142533 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 638142534} + - component: {fileID: 638142535} + m_Layer: 0 + m_Name: Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &638142534 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 638142533} + 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: 1529152633} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!320 &638142535 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 638142533} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: 35f6739f33351504f8f108636f5bf69f, type: 2} + m_InitialState: 0 + m_WrapMode: 2 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: -3363750484671550300, guid: 35f6739f33351504f8f108636f5bf69f, type: 2} + value: {fileID: 1609040204495296083} + - key: {fileID: 1987304972953789498, guid: 35f6739f33351504f8f108636f5bf69f, type: 2} + value: {fileID: 1131973531} + - key: {fileID: 2914873767249624483, guid: 35f6739f33351504f8f108636f5bf69f, type: 2} + value: {fileID: 6845830716270844837} + - key: {fileID: 1828734976308347945, guid: 35f6739f33351504f8f108636f5bf69f, type: 2} + value: {fileID: 164371421} + m_ExposedReferences: + m_References: [] --- !u!1 &638762768 GameObject: m_ObjectHideFlags: 0 @@ -121547,7 +121714,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: AttentionList: [] - duration: 20 + duration: 90 countdownImage: {fileID: 438585181} timeText: {fileID: 1592349207} --- !u!1 &763628518 @@ -181273,7 +181440,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 90 - angleThreshold: 0.5 + currentState: 0 --- !u!114 &1131973533 MonoBehaviour: m_ObjectHideFlags: 0 @@ -240897,6 +241064,52 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: serializedGuid: f81ae0c0f0c7a743a5c5f63b788208e3 +--- !u!1 &1529152632 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1529152633} + - component: {fileID: 1529152634} + m_Layer: 0 + m_Name: 180-0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1529152633 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1529152632} + 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: 322000173} + - {fileID: 638142534} + m_Father: {fileID: 320283062} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1529152634 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1529152632} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73e6573c7793f244a81c07ddef440979, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1529991838 GameObject: m_ObjectHideFlags: 0 @@ -277979,6 +278192,63 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1762772529} m_CullTransparentMesh: 1 +--- !u!1 &1763236866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1763236867} + - component: {fileID: 1763236868} + m_Layer: 0 + m_Name: Play + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1763236867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763236866} + 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: 482236347} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!320 &1763236868 +PlayableDirector: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1763236866} + m_Enabled: 1 + serializedVersion: 3 + m_PlayableAsset: {fileID: 11400000, guid: c48874f905c2eef4fa0c3c2f643f7d22, type: 2} + m_InitialState: 0 + m_WrapMode: 2 + m_DirectorUpdateMode: 1 + m_InitialTime: 0 + m_SceneBindings: + - key: {fileID: -8421437356586026945, guid: c48874f905c2eef4fa0c3c2f643f7d22, type: 2} + value: {fileID: 1609040204495296083} + - key: {fileID: -6786903364522282068, guid: c48874f905c2eef4fa0c3c2f643f7d22, type: 2} + value: {fileID: 1131973531} + - key: {fileID: 5642281781616806033, guid: c48874f905c2eef4fa0c3c2f643f7d22, type: 2} + value: {fileID: 6845830716270844837} + - key: {fileID: -7590656864639944084, guid: c48874f905c2eef4fa0c3c2f643f7d22, type: 2} + value: {fileID: 164371421} + m_ExposedReferences: + m_References: [] --- !u!1 &1763559331 GameObject: m_ObjectHideFlags: 0 @@ -303072,7 +303342,6 @@ MonoBehaviour: virtualCameraManager: {fileID: 0} test: 0 sceneDataHandler: {fileID: 0} - multiObjectController: {fileID: 693784968} --- !u!114 &1942301347 MonoBehaviour: m_ObjectHideFlags: 0 @@ -350581,7 +350850,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 90 - angleThreshold: 0.5 + currentState: 0 --- !u!114 &1609040204495296085 MonoBehaviour: m_ObjectHideFlags: 0 @@ -368632,7 +368901,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 6c58763dd2491d94c882310d382a6dfc, type: 3} m_Name: m_EditorClassIdentifier: - portName: COM4 baudRate: 115200 dataType: 1 sensorView: {fileID: 2871564559804087914} @@ -418546,7 +418814,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rotationSpeed: 90 - angleThreshold: 0.5 + currentState: 0 --- !u!114 &6845830716270844836 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/FSMManager.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/FSMManager.cs index a9148cd..9068afe 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/FSMManager.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/FSMManager.cs @@ -36,6 +36,7 @@ namespace YiLiao.XinFeiTingZhen GameManager.Instance.uiManager.CloseUI(); GameManager.Instance.uiManager.CloseUI(); GameManager.Instance.uiManager.CloseUI(); + GameManager.Instance.uiManager.CloseUI(); GameManager.Instance.highLightManager.HideAllHighLight(); GameManager.Instance.sceneDataHandler.SaveSceneDataToJson(main_gameModel.mainData.folder + "/SaveData/" + stateName + ".json"); GameManager.Instance.uiManager.GetUI().AddTip(gameModel.bData.txt); @@ -197,13 +198,13 @@ namespace YiLiao.XinFeiTingZhen public void PlayClip(string value, Action callBack = null) { float t = GetClipLength(value); - if (t > 0.1f) GameManager.Instance.uiManager.GetUI().LockAllBtn(); + if (t > 0.1f) GameManager.Instance.uiManager.CloseUI(); GameManager.Instance.timelineManager.PlayNormalClip(value); if (Game.Instance) { if (coroutine != null) Game.Instance.IEnumeratorManager.Stop(coroutine); coroutine = Game.Instance.IEnumeratorManager.Run(WaitExecute(t, () => { - GameManager.Instance.uiManager.GetUI().UnLockAllBtn(); + GameManager.Instance.uiManager.ShowUI(); callBack?.Invoke(); })); } diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/DiErXinYinZengQiang.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/DiErXinYinZengQiang.cs index d02208f..a0b734c 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/DiErXinYinZengQiang.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/DiErXinYinZengQiang.cs @@ -21,7 +21,7 @@ namespace YiLiao.XinFeiTingZhen public override void OnStateEnter() { base.OnStateEnter(); - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { GameManager.Instance.senSor.SendFunction("#ID:8,9;SONG:59,59;%"); fsm.PlayBgm(0); fsm.ShowTip(0); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/HouZhengZhongXian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/HouZhengZhongXian.cs index 9619023..083e3a1 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/HouZhengZhongXian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/HouZhengZhongXian.cs @@ -8,12 +8,10 @@ namespace YiLiao.XinFeiTingZhen base.OnStateEnter(); fsm.ShowTip(0); fsm.PlayBgm(0); - - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°×µ¹Ç¼¬Í»¡±", "×µ¹Ç¼¬Í»", 0, 999); fsm.Light_EnableInteraction("×µ¹Ç¼¬Í»"); }); - fsm.InteractionDown("×µ¹Ç¼¬Í»", obj => { fsm.HideArrow(); fsm.InteractionDown("×µ¹Ç¼¬Í»", null); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaGu.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaGu.cs index 7074395..f91d912 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaGu.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaGu.cs @@ -8,13 +8,12 @@ namespace YiLiao.XinFeiTingZhen base.OnStateEnter(); fsm.ShowTip(0); fsm.PlayBgm(0); - - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°¼çëιǡ±", "¼çëιÇ×ó", 0, 999); fsm.Light_EnableInteraction("¼çëιÇ×ó"); fsm.Light_EnableInteraction("¼çëιÇÓÒ"); }); - + fsm.InteractionDown("¼çëιÇ×ó", args => { fsm.AddScore(0, 0.5f); fsm.Unlight_DisableInteraction("¼çëιÇ×ó"); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaQuJian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaQuJian.cs index 7bc6a91..84799b5 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaQuJian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaQuJian.cs @@ -16,12 +16,10 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°Á½¼çëιÇÄÚÔµÖ®¼äµÄÇøÓò¡±", "Á½¼çëιÇÄÚÔµÖ®¼äµÄÇøÓò", 0, 999); fsm.Show_Light_EnableInteraction("Á½¼çëιÇÄÚÔµÖ®¼äµÄÇøÓò"); }); - fsm.InteractionDown("Á½¼çëιÇÄÚÔµÖ®¼äµÄÇøÓò", obj => { fsm.HideArrow(); fsm.InteractionDown("Á½¼çëιÇÄÚÔµÖ®¼äµÄÇøÓò", null); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaShangQu.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaShangQu.cs index ef339e9..2525560 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaShangQu.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaShangQu.cs @@ -16,10 +16,12 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°¼çëθÔÒÔÉϵÄÇøÓò¡±", "¼çëθÔÒÔÉϵÄÇøÓò", 0, 999); fsm.Show_Light_EnableInteraction("¼çëθÔÒÔÉϵÄÇøÓò"); }); + fsm.InteractionDown("¼çëθÔÒÔÉϵÄÇøÓò", obj => { fsm.HideArrow(); fsm.InteractionDown("¼çëθÔÒÔÉϵÄÇøÓò", null); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaJiao.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaJiao.cs index b7f2b16..ba0c9c2 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaJiao.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaJiao.cs @@ -8,12 +8,10 @@ namespace YiLiao.XinFeiTingZhen base.OnStateEnter(); fsm.ShowTip(0); fsm.PlayBgm(0); - - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°¼çëÎϽǡ±", "¼çëÎϽÇ", 0, 999); fsm.Light_EnableInteraction("¼çëÎϽÇ"); }); - fsm.InteractionDown("¼çëÎϽÇ", args => { fsm.AddScore(0, 0.5f); fsm.Unlight_DisableInteraction("¼çëÎϽÇ"); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaQu.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaQu.cs index 123202e..abc3ab2 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaQu.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXiaQu.cs @@ -16,10 +16,12 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°Á½¼çëÎϽǵÄÁ¬ÏßÓëµÚ12ÐØ×µË®Æ½ÏßÖ®¼äÇøÓò¡±", "Á½¼çëÎϽǵÄÁ¬ÏßÓëµÚ12ÐØ×µË®Æ½ÏßÖ®¼äÇøÓò", 0, 999); fsm.Show_Light_EnableInteraction("Á½¼çëÎϽǵÄÁ¬ÏßÓëµÚ12ÐØ×µË®Æ½ÏßÖ®¼äÇøÓò"); }); + fsm.InteractionDown("Á½¼çëÎϽǵÄÁ¬ÏßÓëµÚ12ÐØ×µË®Æ½ÏßÖ®¼äÇøÓò", obj => { fsm.HideArrow(); fsm.InteractionDown("Á½¼çëÎϽǵÄÁ¬ÏßÓëµÚ12ÐØ×µË®Æ½ÏßÖ®¼äÇøÓò", null); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXian.cs index 74c86a3..c1bf444 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/JianJiaXian.cs @@ -17,7 +17,7 @@ namespace YiLiao.XinFeiTingZhen fsm.ShowTip(0); fsm.PlayBgm(0); fsm.PlayClip("¼çëÎÏß¶¯»­1", () => { - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°¼çëÎϽǡ±", "¼çëÎϽÇ", 0, 999); fsm.Light_EnableInteraction("¼çëÎϽÇ"); }); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiGu11_12.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiGu11_12.cs index f4a8eef..c0f31cd 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiGu11_12.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiGu11_12.cs @@ -8,7 +8,7 @@ namespace YiLiao.XinFeiTingZhen base.OnStateEnter(); fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo180(() => { + fsm.PlayClip("0-180", () => { fsm.ShowArrow("µã»÷¡°11-12À߹ǡ±", "Àß¹Ç11-12×ó", 0, 999); fsm.Light_EnableInteraction("Àß¹Ç11-12×ó"); fsm.Light_EnableInteraction("Àß¹Ç11-12ÓÒ"); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiJianXi.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiJianXi.cs index 3a27b6b..633c01d 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiJianXi.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LeiJianXi.cs @@ -8,7 +8,7 @@ namespace YiLiao.XinFeiTingZhen base.OnStateEnter(); fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.Show("Àß¼ä϶"); fsm.ShowArrow("µã»÷¡°Àß¼ä϶¡±", "Àß¼ä϶", 0, 999); }); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LianXuXingZaYin.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LianXuXingZaYin.cs index 914be7f..54e4f31 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LianXuXingZaYin.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/LianXuXingZaYin.cs @@ -34,7 +34,7 @@ namespace YiLiao.XinFeiTingZhen } if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.ShiXun) { - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.PlayBgm(0); fsm.ShowTip(0); fsm.Light("Ö§Æø¹Ü·ÎÅÝÌýÕïÆ÷λÖÃ3"); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QiGuanHuXiYin.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QiGuanHuXiYin.cs index 64a2bf3..15c85b5 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QiGuanHuXiYin.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QiGuanHuXiYin.cs @@ -22,7 +22,7 @@ namespace YiLiao.XinFeiTingZhen public override void OnStateEnter() { base.OnStateEnter(); - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { GameManager.Instance.senSor.SendFunction("#ID:3;SONG:1;%"); fsm.PlayBgm(0); fsm.ShowTip(0); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QianZhengZhongXian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QianZhengZhongXian.cs index 6b1151e..6426a82 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QianZhengZhongXian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/QianZhengZhongXian.cs @@ -16,7 +16,7 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.ShowArrow("µã»÷¡°ÐعDZúÉÏÔµµÄÖе㡱", "ÐØ¹Ç±úÉÏÔµµÄÖеã", 0, 999); fsm.Show_Light_EnableInteraction("ÐØ¹Ç±úÉÏÔµµÄÖеã"); }); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/ShuZhangZaoQiBenMaLv.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/ShuZhangZaoQiBenMaLv.cs index 9368ec3..3652313 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/ShuZhangZaoQiBenMaLv.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/ShuZhangZaoQiBenMaLv.cs @@ -33,7 +33,7 @@ namespace YiLiao.XinFeiTingZhen } if (fsm.main_gameModel.modeType == ZXKFramework.ModeType.ShiXun) { - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.PlayBgm(0); fsm.ShowTip(0); fsm.Light("×óËø¹ÇÖÐÏßÓëµÚ5À߼佻µãÄÚ0.5cmÌýÕïÆ÷λÖÃ1"); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/SuoGuZhongXian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/SuoGuZhongXian.cs index 707d8b6..befb035 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/SuoGuZhongXian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/SuoGuZhongXian.cs @@ -16,7 +16,7 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.ShowArrow("µã»÷¡°Ëø¹ÇµÄ¼ç·å¶Ë¡±", "Ëø¹ÇµÄ¼ç·å¶Ë", 0, 999); fsm.Show_Light_EnableInteraction("Ëø¹ÇµÄ¼ç·å¶Ë"); }); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/XiongGuXian.cs b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/XiongGuXian.cs index 7cfd049..eabf41d 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/XiongGuXian.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/FSMManager/State/XiongGuXian.cs @@ -16,11 +16,10 @@ namespace YiLiao.XinFeiTingZhen { fsm.ShowTip(0); fsm.PlayBgm(0); - GameManager.Instance.multiObjectController.RotateAllTo0(() => { + fsm.PlayClip("180-0", () => { fsm.ShowArrow("µã»÷¡°ÐعDZßÔµ¡±", "ÐØ¹Ç±ßÔµ", 0, 999); fsm.Show_Light_EnableInteraction("ÐØ¹Ç±ßÔµ"); }); - fsm.InteractionDown("ÐØ¹Ç±ßÔµ", obj => { fsm.HideArrow(); fsm.InteractionDown("ÐØ¹Ç±ßÔµ", null); diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/GameManager.cs b/Assets/_Scripts/Application/XinFeiTingZhen/GameManager.cs index 09295a9..162c0c8 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/GameManager.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/GameManager.cs @@ -36,8 +36,6 @@ namespace YiLiao.XinFeiTingZhen public bool test; [HideInInspector] public SceneDataHandler sceneDataHandler; - - public MultiObjectController multiObjectController; IEnumerator Start() { diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs b/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs deleted file mode 100644 index 4959d9c..0000000 --- a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs +++ /dev/null @@ -1,88 +0,0 @@ -using UnityEngine; -using System; - -public class MultiObjectController : MonoBehaviour -{ - [Header("ÐèÒªÐýתµÄÎïÌåÁбí")] - // ÔÚInspectorÃæ°åÀï°Ñ¶à¸öÎïÌåÍϵ½ÕâÀï - public YAxisRotator[] rotators; - /// - /// ÈÃËùÓÐÎïÌåתµ½180¶È£¬²¢ÔÚÈ«²¿Íê³Éºó´òÓ¡ÈÕÖ¾ - /// - public void RotateAllTo180(Action callBack = null) - { - int completedCount = 0; - int totalCount = rotators.Length; - - foreach (var rotator in rotators) - { - if (rotator == null) continue; - - // Ϊÿ¸öÎïÌåµ÷ÓÃÐýת - // ʹÓñհü²¶»ñ completedCount ºÍ totalCount ÓеãÂé·³£¬ÒòΪ±äÁ¿»á±ä - // ¸üºÃµÄ·½Ê½ÊǶ¨ÒåÒ»¸ö¾Ö²¿º¯Êý»òʹÓüÆÊýÆ÷À࣬ÕâÀïÓüòµ¥µÄ¾Ö²¿º¯Êýд·¨ - if (rotator.isActiveAndEnabled) - { - rotator.RotateTo180(() => - { - completedCount++; - Debug.Log($"{rotator.gameObject.name} Íê³ÉÐýת£¡µ±Ç°Íê³ÉÊý: {completedCount}/{totalCount}"); - - // Èç¹ûËùÓÐÎïÌå¶¼Íê³ÉÁË£¨°üÀ¨ÄÇЩԭ±¾¾Í²»ÐèҪתµÄ£© - if (completedCount == totalCount) - { - Debug.Log("=== ËùÓÐÎïÌåÐýתÈÎÎñÈ«²¿Íê³É£¡ ==="); - callBack?.Invoke(); - } - }); - } - else - { - completedCount++; - Debug.Log($"{rotator.gameObject.name} Íê³ÉÐýת£¡µ±Ç°Íê³ÉÊý: {completedCount}/{totalCount}"); - - // Èç¹ûËùÓÐÎïÌå¶¼Íê³ÉÁË£¨°üÀ¨ÄÇЩԭ±¾¾Í²»ÐèҪתµÄ£© - if (completedCount == totalCount) - { - Debug.Log("=== ËùÓÐÎïÌåÐýתÈÎÎñÈ«²¿Íê³É£¡ ==="); - callBack?.Invoke(); - } - } - } - } - - /// - /// ÈÃËùÓÐÎïÌåתµ½0¶È - /// - public void RotateAllTo0(Action callBack = null) - { - int completedCount = 0; - int totalCount = rotators.Length; - - foreach (var rotator in rotators) - { - if (rotator == null) continue; - if (rotator.isActiveAndEnabled) - { - rotator.RotateTo0(() => - { - completedCount++; - if (completedCount == totalCount) - { - Debug.Log("=== ËùÓÐÎïÌåÒѹéÁ㣡 ==="); - callBack?.Invoke(); - } - }); - } - else - { - completedCount++; - if (completedCount == totalCount) - { - Debug.Log("=== ËùÓÐÎïÌåÒѹéÁ㣡 ==="); - callBack?.Invoke(); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs.meta b/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs.meta deleted file mode 100644 index 5e63c67..0000000 --- a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/MultiObjectController.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6764884e271942546ad1811ae5feb2d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs b/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs deleted file mode 100644 index 0020d8a..0000000 --- a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs +++ /dev/null @@ -1,133 +0,0 @@ -using UnityEngine; -using System; // ±ØÐëÒýÈë System ÃüÃû¿Õ¼äÒÔʹÓà Action -using System.Collections; - -public class YAxisRotator : MonoBehaviour -{ - [Header("ÐýתÉèÖÃ")] - [Tooltip("ÐýתËÙ¶È£¬¶ÈÊý/Ãë")] - public float rotationSpeed = 90f; - - [Tooltip("ÅжÏÊÇ·ñµ½´ïÄ¿±ê½Ç¶ÈµÄÎó²î·¶Î§ (¶È)")] - public float angleThreshold = 0.5f; - - private Coroutine _currentRotationCoroutine = null; - private float _targetAngle = 0f; - - void Start() - { - _targetAngle = transform.localEulerAngles.y; - } - - /// - /// ·½·¨1£ºÐýתµ½180¶È - /// - /// ÐýתÍê³Éºó£¨»òÎÞÐèÐýתʱ£©Ö´ÐеĻص÷º¯Êý - public void RotateTo180(Action onComplete = null) - { - // ¼ì²éÊÇ·ñÒѾ­½Ó½ü180¶È - if (IsAngleClose(180f)) - { - Debug.Log($"[{gameObject.name}] ÒѾ­ÔÚ180¶È¸½½ü£¬Ìø¹ýÐýת£¬Ö±½Ó´¥·¢»Øµ÷¡£"); - _targetAngle = 180f; - - // ¡¾Ð޸ĵ㡿¼´Ê¹ÎÞÐèÐýת£¬Ò²Á¢¼´´¥·¢»Øµ÷ - onComplete?.Invoke(); - return; - } - - // Èç¹ûÕýÔÚÐýת£¬ÏÈ´ò¶Ï֮ǰµÄÐýת - if (_currentRotationCoroutine != null) - { - StopCoroutine(_currentRotationCoroutine); - // ×¢Ò⣺±»´ò¶ÏµÄ¾ÉÐýת²»»á´¥·¢»Øµ÷£¬Ö»ÓÐ×îÖÕÍê³ÉµÄÄǸö»á´¥·¢ - } - - _targetAngle = 180f; - _currentRotationCoroutine = StartCoroutine(RotateRoutine(180f, onComplete)); - } - - /// - /// ·½·¨2£ºÐýתµ½0¶È - /// - /// ÐýתÍê³Éºó£¨»òÎÞÐèÐýתʱ£©Ö´ÐеĻص÷º¯Êý - public void RotateTo0(Action onComplete = null) - { - // ¼ì²éÊÇ·ñÒѾ­½Ó½ü0¶È - if (IsAngleClose(0f)) - { - Debug.Log($"[{gameObject.name}] ÒѾ­ÔÚ0¶È¸½½ü£¬Ìø¹ýÐýת£¬Ö±½Ó´¥·¢»Øµ÷¡£"); - _targetAngle = 0f; - - // ¡¾Ð޸ĵ㡿¼´Ê¹ÎÞÐèÐýת£¬Ò²Á¢¼´´¥·¢»Øµ÷ - onComplete?.Invoke(); - return; - } - - if (_currentRotationCoroutine != null) - { - StopCoroutine(_currentRotationCoroutine); - } - - _targetAngle = 0f; - _currentRotationCoroutine = StartCoroutine(RotateRoutine(0f, onComplete)); - } - - /// - /// ºËÐÄЭ³Ì£ºÖ´ÐÐÆ½»¬Ðýת - /// - private IEnumerator RotateRoutine(float targetY, Action onComplete) - { - while (true) - { - Vector3 currentEuler = transform.localEulerAngles; - float currentY = currentEuler.y; - - // ¼ÆËã×î¶Ì·¾¶½Ç¶È²î - float delta = Mathf.DeltaAngle(currentY, targetY); - - // µ½´ïÄ¿±êÅÐ¶Ï - if (Mathf.Abs(delta) <= angleThreshold) - { - transform.localRotation = Quaternion.Euler(0, targetY, 0); - - // Ðýת½áÊø£¬´¥·¢»Øµ÷ - onComplete?.Invoke(); - - _currentRotationCoroutine = null; - yield break; - } - - float step = rotationSpeed * Time.deltaTime; - - // ×îºóÒ»²½ÐÞÕý - if (Mathf.Abs(delta) < step) - { - transform.localRotation = Quaternion.Euler(0, targetY, 0); - - // Ðýת½áÊø£¬´¥·¢»Øµ÷ - onComplete?.Invoke(); - - _currentRotationCoroutine = null; - yield break; - } - - // Ö´ÐÐÐýת - float newY = currentY + Mathf.Sign(delta) * step; - transform.localRotation = Quaternion.Euler(0, newY, 0); - - yield return null; - } - } - - /// - /// ¸¨ÖúÅжϽǶÈÊÇ·ñ½Ó½ü - /// - private bool IsAngleClose(float target) - { - float currentY = transform.localEulerAngles.y; - float delta = Mathf.DeltaAngle(currentY, target); - Debug.Log(delta); - return Mathf.Abs(delta) <= angleThreshold; - } -} \ No newline at end of file diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs.meta b/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs.meta deleted file mode 100644 index 28a9d72..0000000 --- a/Assets/_Scripts/Application/XinFeiTingZhen/Other/物体旋转0-180度/YAxisRotator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4fd97c47bd999024ea592ad3c434b53e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/UI/CountdownPanel.cs b/Assets/_Scripts/Application/XinFeiTingZhen/UI/CountdownPanel.cs index 239fe83..8a0968c 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/UI/CountdownPanel.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/UI/CountdownPanel.cs @@ -9,7 +9,7 @@ namespace YiLiao.XinFeiTingZhen public class CountdownPanel : UIBase { [Tooltip("µ¹¼ÆÊ±×Üʱ³¤£¨Ã룩")] - public float duration = 20f; + public float duration = 90f; [Tooltip("°ó¶¨´øÓÐFilledÊôÐÔµÄImage×é¼þ")] public Image countdownImage; diff --git a/Assets/_Scripts/Application/XinFeiTingZhen/UI/TreeViewPanel.cs b/Assets/_Scripts/Application/XinFeiTingZhen/UI/TreeViewPanel.cs index ea93caf..358531f 100644 --- a/Assets/_Scripts/Application/XinFeiTingZhen/UI/TreeViewPanel.cs +++ b/Assets/_Scripts/Application/XinFeiTingZhen/UI/TreeViewPanel.cs @@ -80,14 +80,14 @@ namespace YiLiao.XinFeiTingZhen new[] { "ÐŦÄܶ¯»­", "XinGongNengDongHua" }, // --- ·Î²¿ÌýÕï --- - new[] { "·Î²¿ÌýÕï", "Õý³£ºôÎüÒô", "Æø¹ÜºôÎüÒô", "QiGuanHuXiYin" }, + //new[] { "·Î²¿ÌýÕï", "Õý³£ºôÎüÒô", "Æø¹ÜºôÎüÒô", "QiGuanHuXiYin" }, new[] { "·Î²¿ÌýÕï", "Õý³£ºôÎüÒô", "Ö§Æø¹ÜºôÎüÒô", "ZhiQiGuanHuXiYin" }, new[] { "·Î²¿ÌýÕï", "Õý³£ºôÎüÒô", "Ö§Æø¹Ü·ÎÅݺôÎüÒô", "ZhiQiGuanFeiPaoHuXiYin" }, new[] { "·Î²¿ÌýÕï", "Õý³£ºôÎüÒô", "·ÎÅݺôÎüÒô", "FeiPaoHuXiYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "·ÎÅݺôÎüÒô¼õÈõ»òÏûʧ", "FeiPaoHuXiYinJianRuoHuoXiaoShi" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "·ÎÅݺôÎüÒôÔöÇ¿", "FeiPaoHuXiYinZengQiang" }, - new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "ºôÎüÒôÑÓ³¤", "HuXiYinYanChang" }, + //new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "ºôÎüÒôÑÓ³¤", "HuXiYinYanChang" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "¶ÏÐøÐÔºôÎüÒô", "DuanXuXingHuXiYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "Òì³£·ÎÅݺôÎüÒô", "´Ö²ÚÐÔºôÎüÒô", "CuCaoXingHuXiYin" }, @@ -97,7 +97,7 @@ namespace YiLiao.XinFeiTingZhen new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "´Öʪ†ªÒô£¨´óË®ÅÝÒô£©", "CuShiLuoYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "ÖÐʪ†ªÒô£¨ÖÐË®ÅÝÒô£©", "ZhongShiLuoYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "ϸʪ†ªÒô£¨Ð¡Ë®ÅÝÒô£©", "XiShiLuoYin" }, - new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "Velcro†ªÒô", "VelcroLuoYin" }, + //new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "Velcro†ªÒô", "VelcroLuoYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "Äí·¢Òô", "NianFaYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "¸ßµ÷¸É†ªÒô£¨ÉÚµÑÒô£©", "GaoDiaoGanLuoYin" }, new[] { "·Î²¿ÌýÕï", "Òì³£ºôÎüÒô", "†ªÒô", "µÍµ÷¸É†ªÒô£¨÷ýÒô£©", "DiDiaoGanLuoYin" }, @@ -111,21 +111,21 @@ namespace YiLiao.XinFeiTingZhen new[] { "ÐÄÔàÌýÕï", "ÐÄÔà°êĤÌýÕïÇø", "Ö÷¶¯Âö°êµÚ¶þÌýÕïÇø", "ZhuDongMaiBanDiErTingZhenQu" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔà°êĤÌýÕïÇø", "Èý¼â°êÇø", "SanJianBanQu" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÂÊ", "XinLv" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÂÊ", "XinLv" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒô", "DiYiXinYin" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô", "DiErXinYin" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒô", "DiYiXinYin" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô", "DiErXinYin" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÈýÐÄÒô", "DiSanXinYin" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚËÄÐÄÒô", "DiSiXinYin" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚËÄÐÄÒô", "DiSiXinYin" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒôÔöÇ¿", "DiYiXinYinZengQiang" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒô¼õÈõ", "DiYiXinYinJianRuo" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒôÇ¿Èõ²»µÈ", "DiYiXinYinQiangRuoBuDeng" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒôÇ¿Èõ²»µÈ", "DiYiXinYinQiangRuoBuDeng" }, //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒôÔöÇ¿", "DiErXinYinZengQiang" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô¼õÈõ", "DiErXinYinJianRuo" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒô·ÖÁÑ", "DiYiXinYinFenLie" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒôͨ³£·ÖÁÑ", "DiErXinYinTongChangFenLie" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô¹Ì¶¨·ÖÁÑ", "DiErXinYinGuDingFenLie" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô·´³£·ÖÁÑ", "DiErXinYinFanChangFenLie" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô¼õÈõ", "DiErXinYinJianRuo" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚÒ»ÐÄÒô·ÖÁÑ", "DiYiXinYinFenLie" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒôͨ³£·ÖÁÑ", "DiErXinYinTongChangFenLie" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô¹Ì¶¨·ÖÁÑ", "DiErXinYinGuDingFenLie" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÒô", "µÚ¶þÐÄÒô·´³£·ÖÁÑ", "DiErXinYinFanChangFenLie" }, new[] { "ÐÄÔàÌýÕï", "¶îÍâÐÄÒô", "ÊæÕÅÆÚ¶îÍâÐÄÒô", "ÊæÕÅÔçÆÚ±¼ÂíÂÉ", "ShuZhangZaoQiBenMaLv" }, new[] { "ÐÄÔàÌýÕï", "¶îÍâÐÄÒô", "ÊæÕÅÆÚ¶îÍâÐÄÒô", "ÊæÕÅÍíÆÚ±¼ÂíÂÉ", "ShuZhangWanQiBenMaLv" }, @@ -138,7 +138,7 @@ namespace YiLiao.XinFeiTingZhen new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊÕËõÆÚÔÓÒô", "Èý¼â°êÇø", "SanJianBanQu2" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊæÕÅÆÚÔÓÒô", "¶þ¼â°êÇø", "ErJianBanQu3" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊæÕÅÆÚÔÓÒô", "Ö÷¶¯Âö°êÇø", "ZhuDongMaiBanQu3" }, - new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊæÕÅÆÚÔÓÒô", "·Î¶¯Âö°êÇø", "FeiDongMaiBanQu3" }, + //new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊæÕÅÆÚÔÓÒô", "·Î¶¯Âö°êÇø", "FeiDongMaiBanQu3" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÊæÕÅÆÚÔÓÒô", "Èý¼â°êÇø", "SanJianBanQu3" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "Á¬ÐøÐÔÔÓÒô", "LianXuXingZaYin" }, new[] { "ÐÄÔàÌýÕï", "ÐÄÔàÔÓÒô", "ÐİüĦ²ÁÒô", "XinBaoMoCaYin" }