diff --git a/Assets/Resources/Games/lockstep.prefab b/Assets/Resources/Games/lockstep.prefab
new file mode 100644
index 000000000..1d925713b
--- /dev/null
+++ b/Assets/Resources/Games/lockstep.prefab
@@ -0,0 +1,630 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3153645315200367525
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 931641041398444854}
+ - component: {fileID: 7072713055174890012}
+ m_Layer: 0
+ m_Name: lockstep
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &931641041398444854
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3153645315200367525}
+ 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_Children:
+ - {fileID: 4904300105776718479}
+ - {fileID: 5822623106182197534}
+ - {fileID: 7814980077180382399}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &7072713055174890012
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3153645315200367525}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8b073f408da6b9a49a796d5ba8777d33, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EligibleHits: []
+ scheduledInputs: []
+ firstEnable: 0
+ stepswitcherP: {fileID: 5548089329135658778}
+ stepswitcher0: {fileID: 4041276273830102762}
+ stepswitcher1: {fileID: 4669067225944782995}
+ Player: {fileID: 3824742015622016231}
+ goStep: 0
+ steppingLength: 0
+ steppingStartBeat: 0
+--- !u!1 &3824742015622016231
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4904300105776718479}
+ - component: {fileID: 6381378020296668381}
+ m_Layer: 0
+ m_Name: BG
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4904300105776718479
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3824742015622016231}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: -1}
+ m_LocalScale: {x: 160, y: 90, z: 1}
+ m_Children: []
+ m_Father: {fileID: 931641041398444854}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &6381378020296668381
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3824742015622016231}
+ 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: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ 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: 0
+ m_SortingLayer: 0
+ m_SortingOrder: -1
+ m_Sprite: {fileID: 7482667652216324306, guid: 48e93eef0688c4a259cb0eddcd8661f7, type: 3}
+ m_Color: {r: 0.94117653, g: 0.20000002, b: 0.5529412, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 1, y: 1}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &5129989806025303121
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3697729158945954856}
+ - component: {fileID: 7960956717128855430}
+ - component: {fileID: 4041276273830102762}
+ - component: {fileID: 4424607252382679407}
+ m_Layer: 0
+ m_Name: stepswitcher0
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3697729158945954856
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5129989806025303121}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: -2.55, y: 0.37, z: 0}
+ m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
+ m_Children: []
+ m_Father: {fileID: 5822623106182197534}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &7960956717128855430
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5129989806025303121}
+ 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: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ 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: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: -6961290807587789438, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 3.8, y: 6.2}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!95 &4041276273830102762
+Animator:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5129989806025303121}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: 774c778b9b65f7d45ba0f2b4968bece2, type: 2}
+ m_CullingMode: 2
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &4424607252382679407
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5129989806025303121}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8b073f408da6b9a49a796d5ba8777d33, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EligibleHits: []
+ scheduledInputs: []
+ firstEnable: 0
+ stepswitcherP: {fileID: 5548089329135658778}
+ stepswitcher0: {fileID: 4041276273830102762}
+ stepswitcher1: {fileID: 4669067225944782995}
+ Player: {fileID: 0}
+ goStep: 0
+ steppingLength: 0
+ steppingStartBeat: 0
+--- !u!1 &6294324842532793805
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 7814980077180382399}
+ - component: {fileID: 1958629238450560839}
+ m_Layer: 0
+ m_Name: reference
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 0
+--- !u!4 &7814980077180382399
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6294324842532793805}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0.038814485, y: -0.037594937, z: -5}
+ m_LocalScale: {x: 2.0085979, y: 2.0085979, z: 2.0085979}
+ m_Children: []
+ m_Father: {fileID: 931641041398444854}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &1958629238450560839
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6294324842532793805}
+ 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: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ 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: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: 21300000, guid: 0673d02c83a00c4479dea4e94645c279, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 8.67, y: 4.87}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!1 &7760885195185502051
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6425602285868802540}
+ - component: {fileID: 6864685626860880400}
+ - component: {fileID: 4669067225944782995}
+ - component: {fileID: 575274515940728498}
+ m_Layer: 0
+ m_Name: stepswitcher1
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6425602285868802540
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7760885195185502051}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 2.55, y: 0.37, z: 0}
+ m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
+ m_Children: []
+ m_Father: {fileID: 5822623106182197534}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &6864685626860880400
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7760885195185502051}
+ 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: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ 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: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: -6961290807587789438, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 3.8, y: 6.2}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!95 &4669067225944782995
+Animator:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7760885195185502051}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: 774c778b9b65f7d45ba0f2b4968bece2, type: 2}
+ m_CullingMode: 2
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &575274515940728498
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7760885195185502051}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8b073f408da6b9a49a796d5ba8777d33, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EligibleHits: []
+ scheduledInputs: []
+ firstEnable: 0
+ stepswitcherP: {fileID: 5548089329135658778}
+ stepswitcher0: {fileID: 4041276273830102762}
+ stepswitcher1: {fileID: 4669067225944782995}
+ Player: {fileID: 0}
+ goStep: 0
+ steppingLength: 0
+ steppingStartBeat: 0
+--- !u!1 &8739124183978051246
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5822623106182197534}
+ m_Layer: 0
+ m_Name: stepswitchers
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5822623106182197534
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8739124183978051246}
+ 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_Children:
+ - {fileID: 6282292135211262012}
+ - {fileID: 3697729158945954856}
+ - {fileID: 6425602285868802540}
+ m_Father: {fileID: 931641041398444854}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &9015027120403414015
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6282292135211262012}
+ - component: {fileID: 6142058195801638840}
+ - component: {fileID: 5548089329135658778}
+ - component: {fileID: 4631706076492420401}
+ m_Layer: 0
+ m_Name: stepswitcherP
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6282292135211262012
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9015027120403414015}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 0.37, z: 0}
+ m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
+ m_Children: []
+ m_Father: {fileID: 5822623106182197534}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!212 &6142058195801638840
+SpriteRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9015027120403414015}
+ 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: 10754, guid: 0000000000000000f000000000000000, type: 0}
+ 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: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_Sprite: {fileID: -6961290807587789438, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_FlipX: 0
+ m_FlipY: 0
+ m_DrawMode: 0
+ m_Size: {x: 3.8, y: 6.2}
+ m_AdaptiveModeThreshold: 0.5
+ m_SpriteTileMode: 0
+ m_WasSpriteAssigned: 1
+ m_MaskInteraction: 0
+ m_SpriteSortPoint: 0
+--- !u!95 &5548089329135658778
+Animator:
+ serializedVersion: 3
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9015027120403414015}
+ m_Enabled: 1
+ m_Avatar: {fileID: 0}
+ m_Controller: {fileID: 9100000, guid: 774c778b9b65f7d45ba0f2b4968bece2, type: 2}
+ m_CullingMode: 2
+ m_UpdateMode: 0
+ m_ApplyRootMotion: 0
+ m_LinearVelocityBlending: 0
+ m_WarningMessage:
+ m_HasTransformHierarchy: 1
+ m_AllowConstantClipSamplingOptimization: 1
+ m_KeepAnimatorControllerStateOnDisable: 0
+--- !u!114 &4631706076492420401
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 9015027120403414015}
+ m_Enabled: 0
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8b073f408da6b9a49a796d5ba8777d33, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ EligibleHits: []
+ scheduledInputs: []
+ firstEnable: 0
+ stepswitcherP: {fileID: 5548089329135658778}
+ stepswitcher0: {fileID: 4041276273830102762}
+ stepswitcher1: {fileID: 4669067225944782995}
+ Player: {fileID: 9015027120403414015}
+ goStep: 0
+ steppingLength: 0
+ steppingStartBeat: 0
diff --git a/Assets/Resources/Games/lockstep.prefab.meta b/Assets/Resources/Games/lockstep.prefab.meta
new file mode 100644
index 000000000..595ada9e6
--- /dev/null
+++ b/Assets/Resources/Games/lockstep.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 40e3806f1b67dd845a9c1499b697b3e6
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav
new file mode 100644
index 000000000..18997396f
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav.meta b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav.meta
new file mode 100644
index 000000000..94a996950
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_00000000.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 5b1b83324fb299a4e84e1792fc0396eb
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav
new file mode 100644
index 000000000..4aa081641
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav.meta b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav.meta
new file mode 100644
index 000000000..9a34d4e59
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_EN_0000000A.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: ab81af84865ceb54c894b6a08809da87
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav
new file mode 100644
index 000000000..a48d16b0b
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav.meta b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav.meta
new file mode 100644
index 000000000..d93533443
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000B.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 6d097efc1e7ab2349937b5361a65e5e0
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav
new file mode 100644
index 000000000..75f88f054
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav.meta b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav.meta
new file mode 100644
index 000000000..d80c03b5e
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/GROUP_NTR_BACKBEAT_JP_0000000C.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 11bbc21fd4f409f499cf4addeac698ea
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg b/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg
new file mode 100644
index 000000000..8f3253c3a
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg differ
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg.meta b/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg.meta
new file mode 100644
index 000000000..8de62ca97
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/marchOffbeat1.ogg.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: e0132f2666fa2454394dfdfc46d1fbec
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg b/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg
new file mode 100644
index 000000000..ff26e4a55
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg differ
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg.meta b/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg.meta
new file mode 100644
index 000000000..8b42795e5
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/marchOffbeat2.ogg.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: a5afed25733a9b0479eace77e519daaf
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg b/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg
new file mode 100644
index 000000000..c89eb0cf7
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg differ
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg.meta b/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg.meta
new file mode 100644
index 000000000..250e602da
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/marchOnbeat1.ogg.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 2f1086614d79e3d428c0a9315a3d6730
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg b/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg
new file mode 100644
index 000000000..2b1c69a0b
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg differ
diff --git a/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg.meta b/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg.meta
new file mode 100644
index 000000000..0f9b8ba04
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/marchOnbeat2.ogg.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: d3438bf921e005a42970bde1188200fb
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/miss.ogg b/Assets/Resources/Sfx/games/lockstep/miss.ogg
new file mode 100644
index 000000000..a51be1690
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/miss.ogg differ
diff --git a/Assets/Resources/Sfx/games/lockstep/miss.ogg.meta b/Assets/Resources/Sfx/games/lockstep/miss.ogg.meta
new file mode 100644
index 000000000..8ff021a83
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/miss.ogg.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 2b4c8e147b3faec469cc83bbe3d0fc9c
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch1.wav b/Assets/Resources/Sfx/games/lockstep/switch1.wav
new file mode 100644
index 000000000..cdd05125d
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch1.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch1.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch1.wav.meta
new file mode 100644
index 000000000..80244a05d
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch1.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 8fe0d56d22d777d45891f11525ed4d64
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch2.wav b/Assets/Resources/Sfx/games/lockstep/switch2.wav
new file mode 100644
index 000000000..6deb7444b
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch2.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch2.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch2.wav.meta
new file mode 100644
index 000000000..4ecba3d2f
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch2.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 9fb8d518d7c37e847b8899f6e6ba092b
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch3.wav b/Assets/Resources/Sfx/games/lockstep/switch3.wav
new file mode 100644
index 000000000..16ec78448
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch3.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch3.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch3.wav.meta
new file mode 100644
index 000000000..a39a53d3b
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch3.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 7c0617538d76fc14aa48a11ec3428f3d
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch4.wav b/Assets/Resources/Sfx/games/lockstep/switch4.wav
new file mode 100644
index 000000000..8078f9968
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch4.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch4.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch4.wav.meta
new file mode 100644
index 000000000..f9e719cf2
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch4.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 63bd6f66ec33a1e44ba721b4bf2a0aba
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch5.wav b/Assets/Resources/Sfx/games/lockstep/switch5.wav
new file mode 100644
index 000000000..bff6b2180
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch5.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch5.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch5.wav.meta
new file mode 100644
index 000000000..6a3e5ad63
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch5.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 175fad69be2962842b29d1b830f142d0
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sfx/games/lockstep/switch6.wav b/Assets/Resources/Sfx/games/lockstep/switch6.wav
new file mode 100644
index 000000000..2f02a03be
Binary files /dev/null and b/Assets/Resources/Sfx/games/lockstep/switch6.wav differ
diff --git a/Assets/Resources/Sfx/games/lockstep/switch6.wav.meta b/Assets/Resources/Sfx/games/lockstep/switch6.wav.meta
new file mode 100644
index 000000000..3bd01de9c
--- /dev/null
+++ b/Assets/Resources/Sfx/games/lockstep/switch6.wav.meta
@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 4209c1efa358fd94281e8fe92a2c8c92
+AudioImporter:
+ externalObjects: {}
+ serializedVersion: 6
+ defaultSettings:
+ loadType: 0
+ sampleRateSetting: 0
+ sampleRateOverride: 44100
+ compressionFormat: 1
+ quality: 1
+ conversionMode: 0
+ platformSettingOverrides: {}
+ forceToMono: 0
+ normalize: 1
+ preloadAudioData: 1
+ loadInBackground: 0
+ ambisonic: 0
+ 3D: 1
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep.meta b/Assets/Resources/Sprites/Games/Lockstep.meta
new file mode 100644
index 000000000..2d65ff799
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 40209e3ad6e9a6942a1202d4410d6e54
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations.meta
new file mode 100644
index 000000000..0bd95f247
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 60e80b6c168d4194aae9807ab0f67217
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim
new file mode 100644
index 000000000..2f41105b4
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Bop
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - curve:
+ - time: 0
+ value: {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.083333336
+ value: {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.16666667
+ value: {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.25
+ value: {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ m_SampleRate: 12
+ 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: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ pptrCurveMapping:
+ - {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.33333334
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim.meta
new file mode 100644
index 000000000..f57e056a7
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/Bop.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 648e7111ad5827f44813a7bfaef7b984
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim
new file mode 100644
index 000000000..d8dc1073b
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim
@@ -0,0 +1,68 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BopIdle
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - curve:
+ - time: 0
+ value: {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ m_SampleRate: 1
+ 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: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ pptrCurveMapping:
+ - {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim.meta
new file mode 100644
index 000000000..a6951dae5
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopIdle.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 97361e4cba64d974ba4e48caa3ec4a4a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim
new file mode 100644
index 000000000..41e5a67be
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim
@@ -0,0 +1,86 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BopReset
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - curve:
+ - time: 0
+ value: {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.083333336
+ value: {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.16666667
+ value: {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.25
+ value: {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.33333334
+ value: {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.41666666
+ value: {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.5
+ value: {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ m_SampleRate: 12
+ 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: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ pptrCurveMapping:
+ - {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -7603843444906200441, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -7689431612274100930, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 8721321029831767130, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: -8705528136369959139, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.5833333
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim.meta
new file mode 100644
index 000000000..49bd9b256
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/BopReset.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4da3e1da15439af4e87580b3513e234d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim
new file mode 100644
index 000000000..a5394fa3f
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim
@@ -0,0 +1,53 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Idle
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ 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: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 1
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim.meta
new file mode 100644
index 000000000..967caa91c
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/Idle.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03f41e1028e769f4ca6591060926b4bc
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim
new file mode 100644
index 000000000..f51876cd1
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OffbeatMarch
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - curve:
+ - time: 0
+ value: {fileID: -7069434044889276691, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.083333336
+ value: {fileID: 6678189707026698426, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.16666667
+ value: {fileID: 4448651475430373734, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.25
+ value: {fileID: 9047975854256012390, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ m_SampleRate: 12
+ 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: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ pptrCurveMapping:
+ - {fileID: -7069434044889276691, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 6678189707026698426, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 4448651475430373734, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 9047975854256012390, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.33333334
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim.meta
new file mode 100644
index 000000000..eab32a1e1
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OffbeatMarch.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85b64b3220ee6404a9cb208ee619dd88
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim
new file mode 100644
index 000000000..38d78d700
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim
@@ -0,0 +1,77 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OnbeatMarch
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ m_FloatCurves: []
+ m_PPtrCurves:
+ - curve:
+ - time: 0
+ value: {fileID: 1292918056351840569, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.083333336
+ value: {fileID: 3854965462330847857, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.16666667
+ value: {fileID: 5037155186664620574, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - time: 0.25
+ value: {fileID: 9130296555604909335, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ attribute: m_Sprite
+ path:
+ classID: 212
+ script: {fileID: 0}
+ m_SampleRate: 12
+ 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: 0
+ script: {fileID: 0}
+ typeID: 212
+ customType: 23
+ isPPtrCurve: 1
+ pptrCurveMapping:
+ - {fileID: 1292918056351840569, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 3854965462330847857, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 5037155186664620574, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ - {fileID: 9130296555604909335, guid: 74c58bf17e10182479dd968ee450f86e, type: 3}
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.33333334
+ m_OrientationOffsetY: 0
+ m_Level: 0
+ m_CycleOffset: 0
+ m_HasAdditiveReferencePose: 0
+ m_LoopTime: 1
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events: []
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim.meta
new file mode 100644
index 000000000..76a83d87c
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/OnbeatMarch.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0d51b7c0d6893a1459cf7a12d4017c4c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller b/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller
new file mode 100644
index 000000000..e406b3190
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller
@@ -0,0 +1,328 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-8810418048990579671
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OffbeatMarch
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 6543442227016282050}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 0d51b7c0d6893a1459cf7a12d4017c4c, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &-8256828080376903741
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -5664991824428846523}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 1
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-6600917353117544064
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -3252724296458622499}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.96437055
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-5664991824428846523
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Idle
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 03f41e1028e769f4ca6591060926b4bc, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &-3252724296458622499
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BopIdle
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions: []
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 97361e4cba64d974ba4e48caa3ec4a4a, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1102 &-2904125584192612616
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: OnbeatMarch
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -8256828080376903741}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 85b64b3220ee6404a9cb208ee619dd88, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: stepswitcher
+ serializedVersion: 5
+ m_AnimatorParameters: []
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 6737706028293836258}
+ m_Mask: {fileID: 0}
+ m_Motions: []
+ m_Behaviours: []
+ m_BlendingMode: 0
+ m_SyncedLayerIndex: -1
+ m_DefaultWeight: 0
+ m_IKPass: 0
+ m_SyncedLayerAffectsTiming: 0
+ m_Controller: {fileID: 9100000}
+--- !u!1102 &365733561873686492
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Bop
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -6600917353117544064}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 648e7111ad5827f44813a7bfaef7b984, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &6543442227016282050
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -5664991824428846523}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 1
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1107 &6737706028293836258
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -5664991824428846523}
+ m_Position: {x: 240, y: 110, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 365733561873686492}
+ m_Position: {x: -210, y: 230, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -2904125584192612616}
+ m_Position: {x: 200, y: -70, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -3252724296458622499}
+ m_Position: {x: 20, y: 230, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 7349254127684611267}
+ m_Position: {x: 240, y: -20, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: -8810418048990579671}
+ m_Position: {x: 270, y: 30, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 110, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: -5664991824428846523}
+--- !u!1102 &7349254127684611267
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BopReset
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 8661930224708323538}
+ m_StateMachineBehaviours: []
+ m_Position: {x: 50, y: 50, z: 0}
+ m_IKOnFeet: 0
+ m_WriteDefaultValues: 1
+ m_Mirror: 0
+ m_SpeedParameterActive: 0
+ m_MirrorParameterActive: 0
+ m_CycleOffsetParameterActive: 0
+ m_TimeParameterActive: 0
+ m_Motion: {fileID: 7400000, guid: 4da3e1da15439af4e87580b3513e234d, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &8352933534077551949
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: New Layer
+ m_ChildStates: []
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 50, y: 20, z: 0}
+ m_EntryPosition: {x: 50, y: 120, z: 0}
+ m_ExitPosition: {x: 800, y: 120, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: 0}
+--- !u!1101 &8661930224708323538
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions: []
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -5664991824428846523}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.1
+ m_TransitionOffset: 0
+ m_ExitTime: 1
+ m_HasExitTime: 1
+ m_HasFixedDuration: 0
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
diff --git a/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller.meta b/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller.meta
new file mode 100644
index 000000000..f93ca12a6
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/Animations/stepswitcher.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 774c778b9b65f7d45ba0f2b4968bece2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/lockstep.png b/Assets/Resources/Sprites/Games/Lockstep/lockstep.png
new file mode 100644
index 000000000..61eca0149
Binary files /dev/null and b/Assets/Resources/Sprites/Games/Lockstep/lockstep.png differ
diff --git a/Assets/Resources/Sprites/Games/Lockstep/lockstep.png.meta b/Assets/Resources/Sprites/Games/Lockstep/lockstep.png.meta
new file mode 100644
index 000000000..789d48417
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/lockstep.png.meta
@@ -0,0 +1,540 @@
+fileFormatVersion: 2
+guid: 74c58bf17e10182479dd968ee450f86e
+TextureImporter:
+ internalIDToNameTable:
+ - first:
+ 213: -6961290807587789438
+ second: stepswitcher
+ - first:
+ 213: 9130296555604909335
+ second: stepswitcher_offbeat1
+ - first:
+ 213: 5037155186664620574
+ second: stepswitcher_offbeat2
+ - first:
+ 213: 9047975854256012390
+ second: stepswitcher_onbeat1
+ - first:
+ 213: 4448651475430373734
+ second: stepswitcher_onbeat2
+ - first:
+ 213: 1292918056351840569
+ second: stepswitcher_offbeat3
+ - first:
+ 213: 3854965462330847857
+ second: stepswitcher_offbeat4
+ - first:
+ 213: -7069434044889276691
+ second: stepswitcher_onbeat3
+ - first:
+ 213: 6678189707026698426
+ second: stepswitcher_onbeat4
+ - first:
+ 213: -1578962635485543256
+ second: stepswitcher_offbeatMiss1
+ - first:
+ 213: -7689431612274100930
+ second: stepswitcher_bop3
+ - first:
+ 213: 4632143454527972695
+ second: stepswitcher_offbeatMiss1
+ - first:
+ 213: 7051025833746117958
+ second: stepswitcher_bop3
+ - first:
+ 213: -7900508199032304796
+ second: stepswitcher_offbeatMiss1
+ - first:
+ 213: 1380531955285550272
+ second: stepswitcher_onbeatMiss2
+ - first:
+ 213: -8633958060967697536
+ second: stepswitcher_onbeat4
+ - first:
+ 213: 4376752631132958919
+ second: stepswitcher_offbeatMiss1
+ - first:
+ 213: 1777998545360739411
+ second: lockstep_bg
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 2
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 4096
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 2
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 4096
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 2
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites:
+ - serializedVersion: 2
+ name: stepswitcher
+ rect:
+ serializedVersion: 2
+ x: 0
+ y: 780
+ width: 380
+ height: 620
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 285a98b94e6846f90800000000000000
+ internalID: -6961290807587789438
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeat1
+ rect:
+ serializedVersion: 2
+ x: 382
+ y: 780
+ width: 330
+ height: 620
+ alignment: 9
+ pivot: {x: 0.5, y: 0.52}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 71d9dcac75455be70800000000000000
+ internalID: 9130296555604909335
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeat2
+ rect:
+ serializedVersion: 2
+ x: 742
+ y: 780
+ width: 380
+ height: 620
+ alignment: 9
+ pivot: {x: 0.48, y: 0.52}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e1249ab44f197e540800000000000000
+ internalID: 5037155186664620574
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeat1
+ rect:
+ serializedVersion: 2
+ x: 1163
+ y: 780
+ width: 340
+ height: 620
+ alignment: 9
+ pivot: {x: 0.5, y: 0.52}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 66cbd39e91ed09d70800000000000000
+ internalID: 9047975854256012390
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeat2
+ rect:
+ serializedVersion: 2
+ x: 1504
+ y: 780
+ width: 380
+ height: 620
+ alignment: 9
+ pivot: {x: 0.5, y: 0.52}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6697b8a62f8ccbd30800000000000000
+ internalID: 4448651475430373734
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeat3
+ rect:
+ serializedVersion: 2
+ x: 1911
+ y: 810
+ width: 450
+ height: 590
+ alignment: 9
+ pivot: {x: 0.2, y: 0.55}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 9393a804f1e51f110800000000000000
+ internalID: 1292918056351840569
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeat4
+ rect:
+ serializedVersion: 2
+ x: 2416
+ y: 810
+ width: 450
+ height: 590
+ alignment: 9
+ pivot: {x: 0.2, y: 0.55}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 17231abd9a69f7530800000000000000
+ internalID: 3854965462330847857
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeat3
+ rect:
+ serializedVersion: 2
+ x: 2900
+ y: 810
+ width: 488
+ height: 590
+ alignment: 9
+ pivot: {x: 0.8, y: 0.55}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: dee525f013354ed90800000000000000
+ internalID: -7069434044889276691
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeat4
+ rect:
+ serializedVersion: 2
+ x: 3412
+ y: 810
+ width: 488
+ height: 590
+ alignment: 9
+ pivot: {x: 0.8, y: 0.55}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: ab01ffde722bdac50800000000000000
+ internalID: 6678189707026698426
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_bop4
+ rect:
+ serializedVersion: 2
+ x: 1023
+ y: 100
+ width: 300
+ height: 640
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 8a4054649d5661ae0800000000000000
+ internalID: -1578962635485543256
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeatMiss2
+ rect:
+ serializedVersion: 2
+ x: 2087
+ y: 200
+ width: 500
+ height: 570
+ alignment: 9
+ pivot: {x: 0.39, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: e353eb160b6a94590800000000000000
+ internalID: -7689431612274100930
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeatMiss1
+ rect:
+ serializedVersion: 2
+ x: 2689
+ y: 180
+ width: 510
+ height: 570
+ alignment: 9
+ pivot: {x: 0.51, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7556ac30eeda84040800000000000000
+ internalID: 4632143454527972695
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_bop3
+ rect:
+ serializedVersion: 2
+ x: 715
+ y: 100
+ width: 300
+ height: 640
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 6453a8a43a64ad160800000000000000
+ internalID: 7051025833746117958
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_offbeatMiss1
+ rect:
+ serializedVersion: 2
+ x: 1570
+ y: 200
+ width: 510
+ height: 570
+ alignment: 9
+ pivot: {x: 0.49, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 46b4e93d6a1cb5290800000000000000
+ internalID: -7900508199032304796
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_onbeatMiss2
+ rect:
+ serializedVersion: 2
+ x: 3206
+ y: 180
+ width: 500
+ height: 570
+ alignment: 9
+ pivot: {x: 0.57, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 0c4eedbbf72a82310800000000000000
+ internalID: 1380531955285550272
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_bop1
+ rect:
+ serializedVersion: 2
+ x: 40
+ y: 100
+ width: 300
+ height: 640
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 083666263e40e2880800000000000000
+ internalID: -8633958060967697536
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: stepswitcher_bop2
+ rect:
+ serializedVersion: 2
+ x: 396
+ y: 100
+ width: 300
+ height: 640
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 7c0bf6834595dbc30800000000000000
+ internalID: 4376752631132958919
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ - serializedVersion: 2
+ name: lockstep_bg
+ rect:
+ serializedVersion: 2
+ x: 1375
+ y: 13
+ width: 185
+ height: 203
+ alignment: 0
+ pivot: {x: 0.5, y: 0.5}
+ border: {x: 0, y: 0, z: 0, w: 0}
+ outline: []
+ physicsShape: []
+ tessellationDetail: 0
+ bones: []
+ spriteID: 35c536bb148bca810800000000000000
+ internalID: 1777998545360739411
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Games/Lockstep/reference.PNG b/Assets/Resources/Sprites/Games/Lockstep/reference.PNG
new file mode 100644
index 000000000..ca30ed7ea
Binary files /dev/null and b/Assets/Resources/Sprites/Games/Lockstep/reference.PNG differ
diff --git a/Assets/Resources/Sprites/Games/Lockstep/reference.PNG.meta b/Assets/Resources/Sprites/Games/Lockstep/reference.PNG.meta
new file mode 100644
index 000000000..1b6cde582
--- /dev/null
+++ b/Assets/Resources/Sprites/Games/Lockstep/reference.PNG.meta
@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 0673d02c83a00c4479dea4e94645c279
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Games/Lockstep/Lockstep.cs b/Assets/Scripts/Games/Lockstep/Lockstep.cs
new file mode 100644
index 000000000..4c8b360ef
--- /dev/null
+++ b/Assets/Scripts/Games/Lockstep/Lockstep.cs
@@ -0,0 +1,250 @@
+/* I do not know crap about Unity or C#
+Almost none of this code is mine, but it's all fair game when the game you're stealing from
+borrowed from other games */
+
+using HeavenStudio.Util;
+using System;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace HeavenStudio.Games.Loaders
+{
+ using static Minigames;
+ public static class NtrBackbeatLoader
+ {
+ public static Minigame AddGame(EventCaller eventCaller)
+ {
+ return new Minigame("lockstep", "Lockstep \n[WIP]", "0058CE", false, false, new List()
+ {
+ new GameAction("bop", "Bop")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Bop(e.beat, e["toggle"]); },
+ parameters = new List()
+ {
+ new Param("toggle", false, "Reset Pose", "Resets to idle pose.")
+ },
+ defaultLength = 1f,
+ },
+
+ new GameAction("startStepping", "Start Stepping")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.BeginStepping(e.beat); },
+ defaultLength = 1f
+
+
+ },
+
+ new GameAction("hai", "Hai!")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat); },
+ defaultLength = 1f,
+ inactiveFunction = delegate { var e = eventCaller.currentEntity; Lockstep.instance.Hai(e.beat);}
+
+
+ },
+
+ new GameAction("offbeatSwitch", "Switch to Offbeat")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatSwitch(e.beat); },
+ /* parameters = new List()
+ {
+ new Param("toggle", true, "'Ho ho ho ho'", "Whether or not 'Ho ho ho ho' will be said after 'Hai hai hai ha-hai!'")
+ }, */
+ defaultLength = 8f
+
+
+ },
+
+ new GameAction("onbeatSwitch", "Switch to Onbeat")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OffbeatSwitch(e.beat); },
+ defaultLength = 2f
+
+
+ },
+
+ new GameAction("marching", "Onbeat Stepping")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatStep(e.beat, e.length); },
+ defaultLength = 4f,
+ resizable = true,
+ hidden = true
+ },
+
+ new GameAction("test1", "onbeat march test")
+ {
+ function = delegate { var e = eventCaller.currentEntity; Lockstep.instance.OnbeatMarch(e.beat); },
+ defaultLength = 1f,
+ hidden = true
+ }
+
+ });
+
+ }
+ }
+}
+
+namespace HeavenStudio.Games
+{
+ // using Scripts_Lockstep;
+ public class Lockstep : Minigame
+ {
+
+
+ // private Animator stepswitcher;
+
+
+ public Animator stepswitcherP;
+ public Animator stepswitcher0;
+ public Animator stepswitcher1;
+
+ public GameObject Player;
+
+
+ [Header("Properties")]
+ public GameEvent bop = new GameEvent();
+ public bool goStep;
+
+ public float steppingLength;
+ public float steppingStartBeat;
+ private float lastReportedBeat = 0f;
+
+
+ public static Lockstep instance { get; set; }
+
+
+ // Start is called before the first frame update
+ void Awake()
+ {
+ instance = this;
+ goStep = false;
+ }
+
+ // Update is called once per frame
+ public void Update()
+ {
+
+ var cond = Conductor.instance;
+
+ if (Conductor.instance.ReportBeat(ref lastReportedBeat))
+ {
+ if (goStep)
+ {
+ Jukebox.PlayOneShotGame("marchingOrders/step1");
+ stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ stepswitcher0.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ }
+
+ }
+
+
+ if (PlayerInput.Pressed() && !IsExpectingInputNow())
+ {
+ //Jukebox.PlayOneShot("miss");
+
+
+ var beatAnimCheck = Math.Round(Conductor.instance.songPositionInBeats * 2);
+ print("check: " + beatAnimCheck);
+ var stepPlayerAnim = (beatAnimCheck % 2 != 0 ? "OffbeatMarch" : "OnbeatMarch");
+
+ Jukebox.PlayOneShotGame("lockstep/miss");
+ stepswitcherP.DoScaledAnimationAsync(stepPlayerAnim, 0.5f);
+ }
+
+
+ }
+
+ public void Bop(float beat, bool reset)
+ {
+
+ if(reset)
+ {
+ stepswitcher0.DoScaledAnimationAsync("BopReset", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("BopReset", 0.5f);
+ stepswitcherP.DoScaledAnimationAsync("BopReset", 0.5f);
+
+ }
+ else
+ {
+ stepswitcher0.DoScaledAnimationAsync("Bop", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("Bop", 0.5f);
+ stepswitcherP.DoScaledAnimationAsync("Bop", 0.5f);
+
+ }
+
+
+
+
+ }
+
+ public void Hai(float beat)
+ {
+ Jukebox.PlayOneShotGame("lockstep/switch1");
+ }
+
+ public void BeginStepping(float beat)
+ {
+
+ goStep = true;
+
+ print("Start Stepping");
+ print(goStep);
+ }
+
+
+ public void OnbeatSwitch(float beat)
+ {
+ MultiSound.Play(new MultiSound.Sound[]
+ {
+ new MultiSound.Sound("lockstep/switch1", beat),
+ new MultiSound.Sound("lockstep/switch1", beat + 1f),
+ new MultiSound.Sound("lockstep/switch1", beat + 2f),
+ new MultiSound.Sound("lockstep/switch2", beat + 3f),
+ new MultiSound.Sound("lockstep/switch3", beat + 3.5f),
+
+ new MultiSound.Sound("lockstep/switch4", beat + 4.5f),
+ new MultiSound.Sound("lockstep/switch4", beat + 5.5f),
+ new MultiSound.Sound("lockstep/switch4", beat + 6.5f),
+ new MultiSound.Sound("lockstep/switch4", beat + 7.5f),
+ }, forcePlay: false);
+ }
+
+ public void OffbeatSwitch(float beat)
+ {
+ var sound = new MultiSound.Sound[]
+ {
+ new MultiSound.Sound("lockstep/switch5", beat),
+ new MultiSound.Sound("lockstep/switch6", beat + 0.5f),
+ new MultiSound.Sound("lockstep/switch5", beat + 1f),
+ new MultiSound.Sound("lockstep/switch6", beat + 1.5f)
+ };
+
+
+ MultiSound.Play(sound);
+
+
+ }
+
+ public void OnbeatStep(float beat, float length)
+ {
+ /*marching.length = length;
+ marching.startBeat = beat;
+ print("onbeatstep len: " + marching.length);
+ print("onbeatstep start: " + marching.startBeat);*/
+ }
+
+ public void OnbeatMarch(float beat)
+ {
+
+ stepswitcher0.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ stepswitcher1.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ stepswitcherP.DoScaledAnimationAsync("OnbeatMarch", 0.5f);
+ Jukebox.PlayOneShotGame("lockstep/marchOnbeat1");
+
+
+
+ }
+
+ }
+}
diff --git a/Assets/Scripts/Games/Lockstep/Lockstep.cs.meta b/Assets/Scripts/Games/Lockstep/Lockstep.cs.meta
new file mode 100644
index 000000000..9bdaf3c01
--- /dev/null
+++ b/Assets/Scripts/Games/Lockstep/Lockstep.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8b073f408da6b9a49a796d5ba8777d33
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/Games/Lockstep/StepSwitcher.cs b/Assets/Scripts/Games/Lockstep/StepSwitcher.cs
new file mode 100644
index 000000000..b3fa6fb2c
--- /dev/null
+++ b/Assets/Scripts/Games/Lockstep/StepSwitcher.cs
@@ -0,0 +1,24 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+using HeavenStudio.Util;
+
+namespace HeavenStudio.Games.Scripts_Lockstep
+{
+ public class StepSwitcher : PlayerActionObject
+ {
+
+ // Start is called before the first frame update
+ void Awake()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+ }
+}
diff --git a/Assets/Scripts/Games/Lockstep/StepSwitcher.cs.meta b/Assets/Scripts/Games/Lockstep/StepSwitcher.cs.meta
new file mode 100644
index 000000000..c9d3c27a1
--- /dev/null
+++ b/Assets/Scripts/Games/Lockstep/StepSwitcher.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2fcc6103baa36c048b9f5dfc086bdd98
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: