diff --git a/client/Assets/Game/Arts/Material/Character.mat b/client/Assets/Game/Arts/Material/Character.mat index ee1d72f..64399ea 100644 --- a/client/Assets/Game/Arts/Material/Character.mat +++ b/client/Assets/Game/Arts/Material/Character.mat @@ -122,7 +122,7 @@ Material: - _Color: {r: 1, g: 1, b: 1, a: 1} - _Direction: {r: 2, g: 1, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _FadingColor: {r: 1, g: 1, b: 0.5518868, a: 1} + - _FadingColor: {r: 1, g: 0.8473918, b: 0.740566, a: 1} - _FlashColor: {r: 1, g: 1, b: 1, a: 1} - _Flip: {r: 1, g: 1, b: 1, a: 1} - _RendererColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/client/Assets/Game/Driver.unity b/client/Assets/Game/Driver.unity index a44c88f..f9e4aeb 100644 --- a/client/Assets/Game/Driver.unity +++ b/client/Assets/Game/Driver.unity @@ -123,6 +123,109 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &166658847 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 166658848} + - component: {fileID: 166658850} + - component: {fileID: 166658849} + m_Layer: 0 + m_Name: animator_target + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &166658848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166658847} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.491, y: 0.40625, z: 0} + m_LocalScale: {x: 1, y: 1, z: 2} + m_Children: [] + m_Father: {fileID: 1645380337361164335} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &166658849 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166658847} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 31a9aac1490778942879977367140407, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!212 &166658850 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 166658847} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8b75e4f77efb4b942bff540369576f7d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -248419617 + m_SortingLayer: 3 + m_SortingOrder: 0 + m_Sprite: {fileID: 1762012598533887728, guid: a4bf04d287237394b8f4312ef1b32cdf, + type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2, y: 2} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1001 &286314750 PrefabInstance: m_ObjectHideFlags: 0 @@ -138,7 +241,7 @@ PrefabInstance: - target: {fileID: 2619096985406038671, guid: a50158910ed2df64b8cd926299a3eb36, type: 3} propertyPath: m_RootOrder - value: 8 + value: 9 objectReference: {fileID: 0} - target: {fileID: 2619096985406038671, guid: a50158910ed2df64b8cd926299a3eb36, type: 3} @@ -292,7 +395,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4775647569752226, guid: 825945e9ce18b8a4aaae6d9f12bf7446, type: 3} propertyPath: m_RootOrder - value: 6 + value: 7 objectReference: {fileID: 0} - target: {fileID: 4775647569752226, guid: 825945e9ce18b8a4aaae6d9f12bf7446, type: 3} propertyPath: m_LocalPosition.x @@ -697,7 +800,7 @@ PrefabInstance: - target: {fileID: 660604078598729724, guid: ac7c124c26a41924fadfe12047c7e621, type: 3} propertyPath: m_RootOrder - value: 9 + value: 10 objectReference: {fileID: 0} - target: {fileID: 660604078598729724, guid: ac7c124c26a41924fadfe12047c7e621, type: 3} @@ -838,7 +941,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4932093234961054, guid: 44baafba702c39f4295e3978f37bbbb9, type: 3} propertyPath: m_RootOrder - value: 7 + value: 8 objectReference: {fileID: 0} - target: {fileID: 4932093234961054, guid: 44baafba702c39f4295e3978f37bbbb9, type: 3} propertyPath: m_LocalPosition.x @@ -1211,7 +1314,7 @@ PrefabInstance: - target: {fileID: 660604078598729724, guid: a3b5dc6ed38d00b498bf4e8a547cfa36, type: 3} propertyPath: m_RootOrder - value: 10 + value: 11 objectReference: {fileID: 0} - target: {fileID: 660604078598729724, guid: a3b5dc6ed38d00b498bf4e8a547cfa36, type: 3} @@ -1475,7 +1578,7 @@ PlayableDirector: m_GameObject: {fileID: 1645380337361164332} m_Enabled: 1 serializedVersion: 3 - m_PlayableAsset: {fileID: 11400000, guid: c1797a25beab8924885805980777dd56, type: 2} + m_PlayableAsset: {fileID: 11400000, guid: 1f7ab546215e197408d725a0cc0a402b, type: 2} m_InitialState: 0 m_WrapMode: 2 m_DirectorUpdateMode: 1 @@ -1725,8 +1828,9 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 2922087621768366588} + - {fileID: 166658848} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &2922087621768366588 Transform: @@ -1757,7 +1861,7 @@ PrefabInstance: - target: {fileID: 3700193944628372047, guid: 843d8523135f41b43ab8a83726fdfe42, type: 3} propertyPath: m_RootOrder - value: 5 + value: 6 objectReference: {fileID: 0} - target: {fileID: 3700193944628372047, guid: 843d8523135f41b43ab8a83726fdfe42, type: 3} @@ -1848,3 +1952,72 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 +--- !u!1001 &6735809952199693428 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalPosition.y + value: 0.574 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969042, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6608794153274969044, guid: 3cdc179821df41d41a60b3bf4f347955, + type: 3} + propertyPath: m_Name + value: CastShadowDeadBody + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 3cdc179821df41d41a60b3bf4f347955, type: 3} diff --git a/client/Assets/Game/Scripts/ECS/System/TimelineSystem.cs b/client/Assets/Game/Scripts/ECS/System/TimelineSystem.cs index 5294ae4..5e7d186 100644 --- a/client/Assets/Game/Scripts/ECS/System/TimelineSystem.cs +++ b/client/Assets/Game/Scripts/ECS/System/TimelineSystem.cs @@ -53,6 +53,7 @@ public class TimelineSystem : IExecuteSystem, IInitializeSystem if (t >= t2) { + clipReal.HasRun = true; //超过结束时间的 if (clipReal.IsAlive) { @@ -67,8 +68,6 @@ public class TimelineSystem : IExecuteSystem, IInitializeSystem clipReal.OnStay(); clipReal.OnLeave(); } - - clipReal.HasRun = true; } else { diff --git a/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs new file mode 100644 index 0000000..7f8605a --- /dev/null +++ b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs @@ -0,0 +1,23 @@ +namespace Game +{ + public class ClipLoopInAir : TimelineClipBase + { + private LoopInAirClip _mRealAsset; + + public override void OnEnter() + { + } + + public override void OnStay() + { + } + + public override void OnLeave() + { + if (!Owner.move.IsGround) + { + TimelineManager.Instance.SetTimelineTime(Owner, (float)EndTime, (float)StartTime); + } + } + } +} \ No newline at end of file diff --git a/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs.meta b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs.meta new file mode 100644 index 0000000..f387a5f --- /dev/null +++ b/client/Assets/Game/Scripts/Timeline/TimelineClip/ClipLoopInAir.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e3ece1cc1fe4458da0dc940d9e9ac2bf +timeCreated: 1686580100 \ No newline at end of file diff --git a/client/Assets/Game/Scripts/Timeline/TimelineClip/TimelineClipPoolManager.cs b/client/Assets/Game/Scripts/Timeline/TimelineClip/TimelineClipPoolManager.cs index fa78676..2e613a6 100644 --- a/client/Assets/Game/Scripts/Timeline/TimelineClip/TimelineClipPoolManager.cs +++ b/client/Assets/Game/Scripts/Timeline/TimelineClip/TimelineClipPoolManager.cs @@ -25,6 +25,7 @@ namespace Game Register(); Register(); Register(); + Register(); } private void Register() where T2 : TimelineClipBase, new() { diff --git a/client/Assets/Game/Scripts/Timeline/TimelineManager.cs b/client/Assets/Game/Scripts/Timeline/TimelineManager.cs index ff008e6..de9f59a 100644 --- a/client/Assets/Game/Scripts/Timeline/TimelineManager.cs +++ b/client/Assets/Game/Scripts/Timeline/TimelineManager.cs @@ -48,6 +48,35 @@ namespace Game entity.timeline.IsRunning = true; } + public void SetTimelineTime(GameEntity entity, float from, float to) + { + var timeline = entity.timeline; + if (!timeline.IsRunning) + return; + if (timeline.Timeline == null) + return; + if (from == to) + return; + //往前设置 + timeline.TimePast = to; + if (from > to) + { + foreach (var clip in timeline.Timeline.Clips) + { + var clipReal = clip.Clip; + if (clipReal.StartTime <= to) + { + clipReal.HasRun = false; + clipReal.IsAlive = false; + } + else if (clipReal.StartTime < from) + { + clipReal.HasRun = false; + } + } + } + } + public void EndSkillTimeline(GameEntity entity) { var timeline = entity.timeline; diff --git a/client/Assets/Resources/Timeline/skill_hero01_long_air_skill02.playable b/client/Assets/Resources/Timeline/skill_hero01_long_air_skill02.playable index b6acffb..82cd79f 100644 --- a/client/Assets/Resources/Timeline/skill_hero01_long_air_skill02.playable +++ b/client/Assets/Resources/Timeline/skill_hero01_long_air_skill02.playable @@ -23,6 +23,21 @@ MonoBehaviour: m_Clips: [] m_Markers: m_Objects: [] +--- !u!114 &-7368694201472457818 +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: ccdf4176012dbd6488d44300bc484b91, type: 3} + m_Name: MovestepClip(Clone)(Clone)(Clone)(Clone) + m_EditorClassIdentifier: + template: + stepType: 2 + value: {x: 4, y: 0, z: 0} --- !u!114 &-6273397637765869395 MonoBehaviour: m_ObjectHideFlags: 1 @@ -37,6 +52,21 @@ MonoBehaviour: m_EditorClassIdentifier: template: stance: 0 +--- !u!114 &-6205335964584905332 +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: ccdf4176012dbd6488d44300bc484b91, type: 3} + m_Name: MovestepClip(Clone)(Clone)(Clone)(Clone)(Clone)(Clone) + m_EditorClassIdentifier: + template: + stepType: 2 + value: {x: 0, y: 0, z: 0} --- !u!114 &-5493165062151283881 MonoBehaviour: m_ObjectHideFlags: 1 @@ -62,7 +92,7 @@ MonoBehaviour: m_Start: 0 m_ClipIn: 0 m_Asset: {fileID: 2737164138792252920} - m_Duration: 0.16666666666666666 + m_Duration: 0.11666666666666667 m_TimeScale: 1 m_ParentTrack: {fileID: -5493165062151283881} m_EaseInDuration: 0 @@ -128,10 +158,148 @@ MonoBehaviour: m_PreExtrapolationTime: 0 m_DisplayName: MovestepClip - m_Version: 1 - m_Start: 0.16666666666666666 + m_Start: 0.11666666666666667 m_ClipIn: 0 m_Asset: {fileID: -1404710705785846226} - m_Duration: 0.3666666666666667 + m_Duration: 0.15 + m_TimeScale: 1 + m_ParentTrack: {fileID: -5493165062151283881} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 0 + m_BlendOutDuration: 0 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: MovestepClip + - m_Version: 1 + m_Start: 0.26666666666666666 + m_ClipIn: 0 + m_Asset: {fileID: -7368694201472457818} + m_Duration: 0.1333333333333333 + m_TimeScale: 1 + m_ParentTrack: {fileID: -5493165062151283881} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 0 + m_BlendOutDuration: 0 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: MovestepClip + - m_Version: 1 + m_Start: 0.39999999999999997 + m_ClipIn: 0 + m_Asset: {fileID: -6205335964584905332} + m_Duration: 0.04444444444444451 m_TimeScale: 1 m_ParentTrack: {fileID: -5493165062151283881} m_EaseInDuration: 0 @@ -223,8 +391,8 @@ MonoBehaviour: m_Start: 0 m_ClipIn: 0 m_Asset: {fileID: -3813374883878662106} - m_Duration: 0.5333333333333333 - m_TimeScale: 1.7999999999999998 + m_Duration: 0.4444444444444445 + m_TimeScale: 1.8 m_ParentTrack: {fileID: -4824941642191393376} m_EaseInDuration: 0 m_EaseOutDuration: 0 @@ -256,7 +424,25 @@ MonoBehaviour: m_RotationOrder: 4 m_MixOutCurve: serializedVersion: 2 - m_Curve: [] + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 @@ -271,7 +457,7 @@ MonoBehaviour: m_PreExtrapolationTime: 0 m_DisplayName: attack0-1 - m_Version: 1 - m_Start: 0.5333333333333333 + m_Start: 0.4444444444444446 m_ClipIn: 0.2944444444444444 m_Asset: {fileID: 6393506803891717977} m_Duration: 0.43333333333333335 @@ -363,10 +549,10 @@ MonoBehaviour: m_Children: [] m_Clips: - m_Version: 1 - m_Start: 0.18333333333333332 + m_Start: 0.18333333333333326 m_ClipIn: 0 m_Asset: {fileID: 4898924959087489963} - m_Duration: 0.033333333333333354 + m_Duration: 0.06666666666666671 m_TimeScale: 1 m_ParentTrack: {fileID: -4750574827767443630} m_EaseInDuration: 0 @@ -432,10 +618,10 @@ MonoBehaviour: m_PreExtrapolationTime: 0 m_DisplayName: AttackClip - m_Version: 1 - m_Start: 0.4 + m_Start: 0.3999999999999998 m_ClipIn: 0 m_Asset: {fileID: 2914315655706815150} - m_Duration: 0.09999999999999998 + m_Duration: 0.050000000000000266 m_TimeScale: 1 m_ParentTrack: {fileID: -4750574827767443630} m_EaseInDuration: 0 @@ -502,6 +688,18 @@ MonoBehaviour: m_DisplayName: AttackClip m_Markers: m_Objects: [] +--- !u!114 &-4314092720917250239 +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: 4dcf1c042fcbbf346adcc8a1ee07df43, type: 3} + m_Name: LoopInAirClip + m_EditorClassIdentifier: --- !u!114 &-3813374883878662106 MonoBehaviour: m_ObjectHideFlags: 1 @@ -524,6 +722,98 @@ MonoBehaviour: m_Loop: 0 m_Version: 1 m_Rotation: {x: 0, y: 0, z: 0, w: 1} +--- !u!114 &-2562766138161925753 +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: ac0f6128f02cc7c4e89ef4e65c7aa993, type: 3} + m_Name: Loop In Air 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_Version: 1 + m_Start: 0.11666666666666667 + m_ClipIn: 0 + m_Asset: {fileID: -4314092720917250239} + m_Duration: 0.15 + m_TimeScale: 1 + m_ParentTrack: {fileID: -2562766138161925753} + m_EaseInDuration: 0 + m_EaseOutDuration: 0 + m_BlendInDuration: 0 + m_BlendOutDuration: 0 + m_MixInCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_MixOutCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BlendInCurveMode: 0 + m_BlendOutCurveMode: 0 + m_ExposedParameterNames: [] + m_AnimationCurves: {fileID: 0} + m_Recordable: 0 + m_PostExtrapolationMode: 0 + m_PreExtrapolationMode: 0 + m_PostExtrapolationTime: 0 + m_PreExtrapolationTime: 0 + m_DisplayName: LoopInAirClip + m_Markers: + m_Objects: [] --- !u!114 &-1704311901145742241 MonoBehaviour: m_ObjectHideFlags: 1 @@ -615,10 +905,10 @@ MonoBehaviour: m_PreExtrapolationTime: 0 m_DisplayName: EffectClip - m_Version: 1 - m_Start: 0.3333333333333333 + m_Start: 0.38333333333333336 m_ClipIn: 0 m_Asset: {fileID: 1084852922144234985} - m_Duration: 0.08333333333333331 + m_Duration: 0.06111111111111123 m_TimeScale: 1 m_ParentTrack: {fileID: -1704311901145742241} m_EaseInDuration: 0 @@ -729,12 +1019,13 @@ MonoBehaviour: m_Version: 0 m_Tracks: - {fileID: -4824941642191393376} - - {fileID: 6690682390998089378} + - {fileID: 8065103114700200184} - {fileID: 5466744683385811380} + - {fileID: 6690682390998089378} - {fileID: -5493165062151283881} - {fileID: -4750574827767443630} - - {fileID: 8065103114700200184} - {fileID: -1704311901145742241} + - {fileID: -2562766138161925753} m_FixedDuration: 0.9 m_EditorSettings: m_Framerate: 60 @@ -910,10 +1201,10 @@ MonoBehaviour: m_Children: [] m_Clips: - m_Version: 1 - m_Start: 0.5333333333333333 + m_Start: 0.5833333333333334 m_ClipIn: 0 m_Asset: {fileID: -6273397637765869395} - m_Duration: 0.43333333333333335 + m_Duration: 0.29444444444444445 m_TimeScale: 1 m_ParentTrack: {fileID: 5466744683385811380} m_EaseInDuration: 0 @@ -1132,10 +1423,10 @@ MonoBehaviour: m_Children: [] m_Clips: - m_Version: 1 - m_Start: 0.5333333333333333 + m_Start: 0.5833333333333334 m_ClipIn: 0 m_Asset: {fileID: 6199748208544002356} - m_Duration: 0.43333333333333335 + m_Duration: 0.29444444444444445 m_TimeScale: 1 m_ParentTrack: {fileID: 8065103114700200184} m_EaseInDuration: 0 diff --git a/client/Assets/TimelineCustom/LoopInAir.meta b/client/Assets/TimelineCustom/LoopInAir.meta new file mode 100644 index 0000000..33c4960 --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f615ee75915cde74eb05a6ba89fdb76e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs b/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs new file mode 100644 index 0000000..5095202 --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs @@ -0,0 +1,14 @@ +using System; +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; + +[Serializable] +public class LoopInAirBehaviour : PlayableBehaviour +{ + + public override void OnPlayableCreate (Playable playable) + { + + } +} diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs.meta b/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs.meta new file mode 100644 index 0000000..65ce2b0 --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 06f5038d6ffec39489e02d64c03da566 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs b/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs new file mode 100644 index 0000000..7d1536b --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs @@ -0,0 +1,22 @@ +using System; +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; + +[Serializable] +public class LoopInAirClip : PlayableAsset, ITimelineClipAsset +{ + public LoopInAirBehaviour template = new LoopInAirBehaviour (); + + public ClipCaps clipCaps + { + get { return ClipCaps.None; } + } + + public override Playable CreatePlayable (PlayableGraph graph, GameObject owner) + { + var playable = ScriptPlayable.Create (graph, template); + LoopInAirBehaviour clone = playable.GetBehaviour (); + return playable; + } +} diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs.meta b/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs.meta new file mode 100644 index 0000000..0d6c4ee --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirClip.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4dcf1c042fcbbf346adcc8a1ee07df43 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs b/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs new file mode 100644 index 0000000..6a03959 --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs @@ -0,0 +1,23 @@ +using System; +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; + +public class LoopInAirMixerBehaviour : PlayableBehaviour +{ + // NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties. + public override void ProcessFrame(Playable playable, FrameData info, object playerData) + { + int inputCount = playable.GetInputCount (); + + for (int i = 0; i < inputCount; i++) + { + float inputWeight = playable.GetInputWeight(i); + ScriptPlayable inputPlayable = (ScriptPlayable)playable.GetInput(i); + LoopInAirBehaviour input = inputPlayable.GetBehaviour (); + + // Use the above variables to process each frame of this playable. + + } + } +} diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs.meta b/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs.meta new file mode 100644 index 0000000..c7deb9e --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirMixerBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d95ed082f2ded648b1793d9ce663afc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs b/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs new file mode 100644 index 0000000..d820803 --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs @@ -0,0 +1,13 @@ +using UnityEngine; +using UnityEngine.Playables; +using UnityEngine.Timeline; + +[TrackColor(0.855f, 0.8623f, 0.87f)] +[TrackClipType(typeof(LoopInAirClip))] +public class LoopInAirTrack : TrackAsset +{ + public override Playable CreateTrackMixer(PlayableGraph graph, GameObject go, int inputCount) + { + return ScriptPlayable.Create (graph, inputCount); + } +} diff --git a/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs.meta b/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs.meta new file mode 100644 index 0000000..e53844b --- /dev/null +++ b/client/Assets/TimelineCustom/LoopInAir/LoopInAirTrack.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ac0f6128f02cc7c4e89ef4e65c7aa993 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: