mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-24 18:45:15 +00:00
Merge branch 'release_1' into pr/458
This commit is contained in:
commit
b8d149743a
128 changed files with 2368 additions and 4479 deletions
File diff suppressed because it is too large
Load diff
|
@ -17,7 +17,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!4 &8898776425258279798
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -28,7 +28,9 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 4.49, y: 0.602, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_Children: []
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 3429292909572810764}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -43,6 +45,7 @@ SpriteRenderer:
|
|||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -95,19 +98,89 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
firstBeatsToTravel: 8
|
||||
secondBeatsToTravel: 2
|
||||
thirdBeatsToTravel: 1
|
||||
currentCurveStage: 0
|
||||
offset: {x: 0, y: 0, z: 0}
|
||||
gandw: {fileID: 6300713999374807912}
|
||||
--- !u!1 &6300713999374807912
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3429292909572810764}
|
||||
- component: {fileID: 4284967863880477732}
|
||||
m_Layer: 0
|
||||
m_Name: GANDWPanic
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &3429292909572810764
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6300713999374807912}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.4, y: 0.4, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 8898776425258279798}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &4284967863880477732
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6300713999374807912}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 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: -9
|
||||
m_Sprite: {fileID: -3765899449427408438, guid: 7d485aead8578964591aaea2653dec14, 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.24, y: 2.26}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
|
|
|
@ -17,7 +17,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
m_IsActive: 0
|
||||
--- !u!4 &1939846946620489509
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -28,6 +28,7 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 4.49, y: 0.602, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
|
@ -43,6 +44,7 @@ SpriteRenderer:
|
|||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -95,19 +97,4 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
firstBeatsToTravel: 8
|
||||
secondBeatsToTravel: 2
|
||||
thirdBeatsToTravel: 1
|
||||
currentCurveStage: 0
|
||||
offset: {x: 0, y: -0.1, z: 0}
|
||||
|
|
|
@ -1,5 +1,89 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &127416993571198491
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8343967659989156093}
|
||||
- component: {fileID: 4830388796752552816}
|
||||
m_Layer: 0
|
||||
m_Name: GANDWPanic
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &8343967659989156093
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 127416993571198491}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 9118664775683828045}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &4830388796752552816
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 127416993571198491}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 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: -3765899449427408438, guid: 7d485aead8578964591aaea2653dec14, 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.24, y: 2.26}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!1 &6968929825102689508
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -28,7 +112,9 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -2.25, y: 1.23, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_Children: []
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8343967659989156093}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -43,6 +129,7 @@ SpriteRenderer:
|
|||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -95,16 +182,5 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: f589a35cd43c5a146b78729182754157, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
currentFlyingStage: 0
|
||||
offset: {x: 0, y: 0, z: 0}
|
||||
gandw: {fileID: 127416993571198491}
|
||||
|
|
|
@ -28,7 +28,9 @@ Transform:
|
|||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.22084074, y: -0.63551337, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_Children: []
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6137996491949804115}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -43,6 +45,7 @@ SpriteRenderer:
|
|||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
|
@ -95,19 +98,89 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 6334d8b26ef6dcc4b9a03aa49dfa2d70, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
inList: 0
|
||||
state:
|
||||
gameObject: {fileID: 0}
|
||||
early: 0
|
||||
perfect: 0
|
||||
late: 0
|
||||
createBeat: 0
|
||||
eligibleHitsList: []
|
||||
aceTimes: 0
|
||||
isEligible: 0
|
||||
triggersAutoplay: 1
|
||||
startBeat: 0
|
||||
firstBeatsToTravel: 0.5
|
||||
secondBeatsToTravel: 0.5
|
||||
goingDown: 0
|
||||
deletingAutomatically: 1
|
||||
offset: {x: 0, y: 0, z: 0}
|
||||
gandw: {fileID: 5437919248584760982}
|
||||
--- !u!1 &5437919248584760982
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6137996491949804115}
|
||||
- component: {fileID: 481947469191582981}
|
||||
m_Layer: 0
|
||||
m_Name: GANDWPanic
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!4 &6137996491949804115
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5437919248584760982}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 4007886148120237324}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &481947469191582981
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5437919248584760982}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RayTraceProcedural: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 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: -3765899449427408438, guid: 7d485aead8578964591aaea2653dec14, 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.24, y: 2.26}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
|
|
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f4c9958bf9ed5364d925ad5e235185bf
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2cd9ec8dd2b89594b937fd43a63302fd
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 7411c79f186f7d1489b08c617dd94cd2
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a92162eef3960c843bf8cf6ebf7b3cc4
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0c1d7ff81ef5e5145b8411955802836f
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a3d70d1ee0a56d143acf492fbdda0733
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: b98e01e9184c9c94ba69a5eda9182abe
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a0cbaa7ba5b83f64b9cdade5829f6d8b
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 710f3d28f3d8304498461cb2f659019b
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2bb873e7e909315469485b7873cc24fe
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e0d74c59ec5b943409f83854ca7426f8
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 4e7c6ef79e0656941a31900143cfd76b
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f8866ad03514a254bbc7f57b7b9f8250
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0b9e88c13727472458ee17e02959f7ae
|
||||
guid: 336b46599f2c6b84ba7f63c279286308
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 11e4ffd422e5041449bb6a649dc75d1e
|
||||
guid: 9710e1262fd3ce74dadf56c39bc9bb49
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6f663de6b1d9fdf4c830a185c770a626
|
||||
guid: f04673511d9d5db46a235de8280cfd5f
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e093e5d923d6eb40baf690943492453
|
||||
guid: a6753eb2b7364a0489f6ae13142a7ef7
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 6
|
||||
|
@ -18,5 +18,5 @@ AudioImporter:
|
|||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName: rvldough/common
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3110a762cd68fcb43b3ccf2e607d3138
|
||||
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:
|
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3a01bc4e197a31c4a9e9fe6ec7b303bb
|
||||
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:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: caf6c9c8208b6b8429cfa3e235241d92
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
|
@ -1,22 +0,0 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 84d932e4dd5969942b37d426f51eea22
|
||||
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: rvldough/common
|
||||
assetBundleVariant:
|
22
Assets/Resources/Sfx/games/workingDough/smallOther.wav.meta
Normal file
22
Assets/Resources/Sfx/games/workingDough/smallOther.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 252d6e694d6d293468721a99e02c1e78
|
||||
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:
|
22
Assets/Resources/Sfx/games/workingDough/smallPlayer.wav.meta
Normal file
22
Assets/Resources/Sfx/games/workingDough/smallPlayer.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 23e111b023ff9da4ca2d0c9b3af391f2
|
||||
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:
|
22
Assets/Resources/Sfx/games/workingDough/tooBig.wav.meta
Normal file
22
Assets/Resources/Sfx/games/workingDough/tooBig.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 792db2e6c12558a42abccdd3f8ba0d8b
|
||||
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:
|
22
Assets/Resources/Sfx/games/workingDough/tooSmall.wav.meta
Normal file
22
Assets/Resources/Sfx/games/workingDough/tooSmall.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a66ab30b3a0a1b54e8f3ffa670664cd8
|
||||
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:
|
22
Assets/Resources/Sfx/games/workingDough/tooSmallAr.wav.meta
Normal file
22
Assets/Resources/Sfx/games/workingDough/tooSmallAr.wav.meta
Normal file
|
@ -0,0 +1,22 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e7067d623dcb6984f80fb1b187aae122
|
||||
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:
|
|
@ -188,6 +188,11 @@ namespace HeavenStudio
|
|||
}
|
||||
current = load.Current;
|
||||
}
|
||||
catch (System.IO.FileNotFoundException f)
|
||||
{
|
||||
Debug.LogWarning("chart has no music: " + f.Message);
|
||||
Conductor.instance.musicSource.clip = null;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.LogError($"Failed to load music: {e.Message}");
|
||||
|
|
|
@ -160,16 +160,23 @@ namespace HeavenStudio.Games
|
|||
|
||||
// find out when the next game switch (or remix end) happens
|
||||
var allEnds = EventCaller.GetAllInGameManagerList("gameManager", new string[] { "switchGame", "end" });
|
||||
allEnds.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
|
||||
//get the beat of the closest end event
|
||||
foreach (var end in allEnds)
|
||||
if (allEnds.Count == 0)
|
||||
{
|
||||
if (end.datamodel.Split(2) == "cropStomp") continue;
|
||||
if (end.beat > startBeat)
|
||||
endBeat = double.MaxValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
allEnds.Sort((x, y) => x.beat.CompareTo(y.beat));
|
||||
|
||||
//get the beat of the closest end event
|
||||
foreach (var end in allEnds)
|
||||
{
|
||||
endBeat = end.beat;
|
||||
break;
|
||||
if (end.datamodel.Split(2) == "cropStomp") continue;
|
||||
if (end.beat > startBeat)
|
||||
{
|
||||
endBeat = end.beat;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -37,9 +37,7 @@ namespace HeavenStudio.Games.Loaders
|
|||
},
|
||||
new GameAction("passTurn", "Pass Turn")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; RhythmTweezers.instance.PassTurn(e.beat, e.length); },
|
||||
resizable = true,
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; RhythmTweezers.PrePassTurn(e.beat, e.length); }
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; RhythmTweezers.PrePassTurn(e.beat); },
|
||||
},
|
||||
new GameAction("next vegetable", "Swap Vegetable")
|
||||
{
|
||||
|
@ -349,44 +347,72 @@ namespace HeavenStudio.Games
|
|||
crHandlerInstance.StartInterval(beat, interval);
|
||||
}
|
||||
|
||||
public void PassTurn(double beat, float length)
|
||||
public void PassTurn(double beat)
|
||||
{
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
hairsLeft = crHandlerInstance.queuedEvents.Count;
|
||||
foreach (var crEvent in crHandlerInstance.queuedEvents)
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
if (crEvent.tag == "Hair")
|
||||
new BeatAction.Action(beat - 1, delegate
|
||||
{
|
||||
Hair hairToInput = spawnedHairs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat + length, crEvent.relativeBeat);
|
||||
}
|
||||
else if (crEvent.tag == "Long")
|
||||
hairsLeft = crHandlerInstance.queuedEvents.Count;
|
||||
foreach (var crEvent in crHandlerInstance.queuedEvents)
|
||||
{
|
||||
if (crEvent.tag == "Hair")
|
||||
{
|
||||
Hair hairToInput = spawnedHairs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat, crEvent.relativeBeat);
|
||||
}
|
||||
else if (crEvent.tag == "Long")
|
||||
{
|
||||
LongHair hairToInput = spawnedLongs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat, crEvent.relativeBeat);
|
||||
}
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
}),
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
LongHair hairToInput = spawnedLongs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat + length, crEvent.relativeBeat);
|
||||
}
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
hairsLeft += crHandlerInstance.queuedEvents.Count;
|
||||
foreach (var crEvent in crHandlerInstance.queuedEvents)
|
||||
{
|
||||
if (crEvent.tag == "Hair")
|
||||
{
|
||||
Hair hairToInput = spawnedHairs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat, crEvent.relativeBeat);
|
||||
}
|
||||
else if (crEvent.tag == "Long")
|
||||
{
|
||||
LongHair hairToInput = spawnedLongs.Find(x => x.createBeat == crEvent.beat);
|
||||
hairToInput.StartInput(beat, crEvent.relativeBeat);
|
||||
}
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public static void PrePassTurn(double beat, float length)
|
||||
public static void PrePassTurn(double beat)
|
||||
{
|
||||
if (GameManager.instance.currentGame == "rhythmTweezers")
|
||||
{
|
||||
instance.SetPassTurnValues(beat + length);
|
||||
instance.SetPassTurnValues(beat);
|
||||
instance.PassTurn(beat);
|
||||
}
|
||||
else
|
||||
{
|
||||
passedTurns.Add(beat + length);
|
||||
passedTurns.Add(beat);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPassTurnValues(double startBeat)
|
||||
{
|
||||
if (crHandlerInstance.intervalLength <= 0) return;
|
||||
passTurnBeat = startBeat - 1f;
|
||||
passTurnBeat = startBeat - 1;
|
||||
passTurnEndBeat = startBeat + crHandlerInstance.intervalLength;
|
||||
}
|
||||
|
||||
|
@ -489,6 +515,7 @@ namespace HeavenStudio.Games
|
|||
foreach (var turn in passedTurns)
|
||||
{
|
||||
SetPassTurnValues(turn);
|
||||
PassTurn(turn);
|
||||
}
|
||||
passedTurns.Clear();
|
||||
}
|
||||
|
|
|
@ -113,12 +113,12 @@ namespace HeavenStudio.Games.Loaders
|
|||
},
|
||||
new GameAction("passTurn", "Pass Turn")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; Rockers.instance.PassTurn(e.beat, e.length, e["moveCamera"]); },
|
||||
resizable = true,
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; Rockers.PrePassTurn(e.beat, e["moveCamera"]); },
|
||||
parameters = new List<Param>
|
||||
{
|
||||
new Param("moveCamera", true, "Move Camera", "Should the camera move?")
|
||||
}
|
||||
},
|
||||
preFunctionLength = 1
|
||||
},
|
||||
new GameAction("cmon", "C'mon!")
|
||||
{
|
||||
|
@ -322,6 +322,7 @@ namespace HeavenStudio.Games
|
|||
using Scripts_Rockers;
|
||||
using Starpelly;
|
||||
using System;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
public class Rockers : Minigame
|
||||
{
|
||||
|
@ -529,6 +530,14 @@ namespace HeavenStudio.Games
|
|||
return tempEvents;
|
||||
}
|
||||
|
||||
struct QueuedPassTurn
|
||||
{
|
||||
public double beat;
|
||||
public bool moveCamera;
|
||||
}
|
||||
|
||||
private static List<QueuedPassTurn> passedTurns = new List<QueuedPassTurn>();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (PlayerInput.Pressing())
|
||||
|
@ -593,6 +602,15 @@ namespace HeavenStudio.Games
|
|||
queuedPreInterval.Clear();
|
||||
}
|
||||
|
||||
if (passedTurns.Count > 0)
|
||||
{
|
||||
foreach (var turn in passedTurns)
|
||||
{
|
||||
PassTurn(turn.beat, turn.moveCamera);
|
||||
}
|
||||
passedTurns.Clear();
|
||||
}
|
||||
|
||||
float normalizedBeat = cond.GetPositionFromBeat(cameraMoveBeat, 1f);
|
||||
|
||||
if (normalizedBeat >= 0f && normalizedBeat <= 1f)
|
||||
|
@ -972,14 +990,29 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
}
|
||||
|
||||
public void PassTurn(double beat, float length, bool moveCamera)
|
||||
public static void PrePassTurn(double beat, bool moveCamera)
|
||||
{
|
||||
if (GameManager.instance.currentGame == "rockers")
|
||||
{
|
||||
instance.PassTurn(beat, moveCamera);
|
||||
}
|
||||
else
|
||||
{
|
||||
passedTurns.Add(new QueuedPassTurn
|
||||
{
|
||||
beat = beat,
|
||||
moveCamera = moveCamera
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void PassTurn(double beat, bool moveCamera)
|
||||
{
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + (length / 2), delegate
|
||||
new BeatAction.Action(beat -1, delegate
|
||||
{
|
||||
List<CallAndResponseHandler.CallAndResponseEvent> crEvents = crHandlerInstance.queuedEvents;
|
||||
|
||||
|
@ -988,26 +1021,51 @@ namespace HeavenStudio.Games
|
|||
if (crEvent.tag == "riff")
|
||||
{
|
||||
RockersInput riffComp = Instantiate(rockerInputRef, transform);
|
||||
riffComp.Init(crEvent["gleeClub"], new int[6] { crEvent["1"], crEvent["2"], crEvent["3"], crEvent["4"], crEvent["5"], crEvent["6"] }, beat, length + crEvent.relativeBeat,
|
||||
riffComp.Init(crEvent["gleeClub"], new int[6] { crEvent["1"], crEvent["2"], crEvent["3"], crEvent["4"], crEvent["5"], crEvent["6"] }, beat, crEvent.relativeBeat,
|
||||
(PremadeSamples)crEvent["sample"], crEvent["sampleTones"]);
|
||||
ScheduleInput(beat, length + crEvent.relativeBeat + crEvent.length, InputType.STANDARD_DOWN, JustMute, MuteMiss, Empty);
|
||||
ScheduleInput(beat, crEvent.relativeBeat + crEvent.length, InputType.STANDARD_DOWN, JustMute, MuteMiss, Empty);
|
||||
}
|
||||
else if (crEvent.tag == "bend")
|
||||
{
|
||||
RockerBendInput bendComp = Instantiate(rockerBendInputRef, transform);
|
||||
bendComp.Init(crEvent["Pitch"], beat, length + crEvent.relativeBeat);
|
||||
ScheduleInput(beat, length + crEvent.relativeBeat + crEvent.length, InputType.DIRECTION_UP, JustUnBend, UnBendMiss, Empty);
|
||||
bendComp.Init(crEvent["Pitch"], beat, crEvent.relativeBeat);
|
||||
ScheduleInput(beat, crEvent.relativeBeat + crEvent.length, InputType.DIRECTION_UP, JustUnBend, UnBendMiss, Empty);
|
||||
}
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
}),
|
||||
new BeatAction.Action(beat + length, delegate { JJ.UnHold(); })
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
JJ.UnHold();
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
List<CallAndResponseHandler.CallAndResponseEvent> crEvents = crHandlerInstance.queuedEvents;
|
||||
|
||||
foreach (var crEvent in crEvents)
|
||||
{
|
||||
if (crEvent.tag == "riff")
|
||||
{
|
||||
RockersInput riffComp = Instantiate(rockerInputRef, transform);
|
||||
riffComp.Init(crEvent["gleeClub"], new int[6] { crEvent["1"], crEvent["2"], crEvent["3"], crEvent["4"], crEvent["5"], crEvent["6"] }, beat, crEvent.relativeBeat,
|
||||
(PremadeSamples)crEvent["sample"], crEvent["sampleTones"]);
|
||||
ScheduleInput(beat, crEvent.relativeBeat + crEvent.length, InputType.STANDARD_DOWN, JustMute, MuteMiss, Empty);
|
||||
}
|
||||
else if (crEvent.tag == "bend")
|
||||
{
|
||||
RockerBendInput bendComp = Instantiate(rockerBendInputRef, transform);
|
||||
bendComp.Init(crEvent["Pitch"], beat, crEvent.relativeBeat);
|
||||
ScheduleInput(beat, crEvent.relativeBeat + crEvent.length, InputType.DIRECTION_UP, JustUnBend, UnBendMiss, Empty);
|
||||
}
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
}
|
||||
})
|
||||
});
|
||||
if (moveCamera)
|
||||
{
|
||||
lastTargetCameraX = GameCamera.additionalPosition.x;
|
||||
targetCameraX = Soshi.transform.localPosition.x;
|
||||
cameraMoveBeat = beat;
|
||||
cameraMoveBeat = beat - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,50 +7,34 @@ using HeavenStudio.Util;
|
|||
|
||||
namespace HeavenStudio.Games.Scripts_WorkingDough
|
||||
{
|
||||
public class BGBall : MonoBehaviour
|
||||
public class BGBall : SuperCurveObject
|
||||
{
|
||||
public double startBeat;
|
||||
public float firstBeatsToTravel = 3f;
|
||||
public float secondBeatsToTravel = 1f;
|
||||
public float thirdBeatsToTravel = 3f;
|
||||
public enum CurveStage
|
||||
private double startBeat = double.MinValue;
|
||||
private Path path;
|
||||
[SerializeField] private GameObject gandw;
|
||||
|
||||
public void Init(double beat, bool hasGandw)
|
||||
{
|
||||
Conveyer = 0,
|
||||
StartFall = 1,
|
||||
Fall = 2
|
||||
startBeat = beat;
|
||||
path = WorkingDough.instance.GetPath("BGBall");
|
||||
if (gandw != null) gandw.SetActive(hasGandw);
|
||||
Update();
|
||||
}
|
||||
public CurveStage currentCurveStage;
|
||||
[NonSerialized] public BezierCurve3D firstCurve;
|
||||
[NonSerialized] public BezierCurve3D secondCurve;
|
||||
[NonSerialized] public BezierCurve3D thirdCurve;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
|
||||
float flyPos = 0f;
|
||||
|
||||
switch (currentCurveStage)
|
||||
if (cond.isPlaying && !cond.isPaused)
|
||||
{
|
||||
case CurveStage.Conveyer:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat, firstBeatsToTravel);
|
||||
transform.position = firstCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f)
|
||||
{
|
||||
currentCurveStage = CurveStage.StartFall;
|
||||
}
|
||||
break;
|
||||
case CurveStage.StartFall:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + firstBeatsToTravel, secondBeatsToTravel);
|
||||
transform.position = secondCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) currentCurveStage = CurveStage.Fall;
|
||||
break;
|
||||
case CurveStage.Fall:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + secondBeatsToTravel + firstBeatsToTravel, thirdBeatsToTravel);
|
||||
|
||||
transform.position = thirdCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) GameObject.Destroy(gameObject);
|
||||
break;
|
||||
double beat = cond.songPositionInBeats;
|
||||
if (startBeat != double.MinValue)
|
||||
{
|
||||
Vector3 pos = GetPathPositionFromBeat(path, Math.Max(startBeat, beat), startBeat);
|
||||
transform.position = pos;
|
||||
transform.rotation = Quaternion.Euler(0f, 0f, transform.rotation.eulerAngles.z - (-90 * Time.deltaTime * (1f / Conductor.instance.pitchedSecPerBeat)));
|
||||
if (beat >= startBeat + 9) Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,55 +7,33 @@ using HeavenStudio.Util;
|
|||
|
||||
namespace HeavenStudio.Games.Scripts_WorkingDough
|
||||
{
|
||||
public enum FlyingStage
|
||||
public class NPCDoughBall : SuperCurveObject
|
||||
{
|
||||
EnteringUp = 0,
|
||||
EnteringDown = 1,
|
||||
ExitingUp = 2,
|
||||
ExitingDown = 3
|
||||
}
|
||||
public class NPCDoughBall : MonoBehaviour
|
||||
{
|
||||
public double startBeat;
|
||||
private double startBeat = double.MinValue;
|
||||
private Path path;
|
||||
[SerializeField] private GameObject gandw;
|
||||
|
||||
public FlyingStage currentFlyingStage = FlyingStage.EnteringUp;
|
||||
|
||||
|
||||
[NonSerialized] public BezierCurve3D enterUpCurve;
|
||||
[NonSerialized] public BezierCurve3D enterDownCurve;
|
||||
[NonSerialized] public BezierCurve3D exitUpCurve;
|
||||
[NonSerialized] public BezierCurve3D exitDownCurve;
|
||||
public void Init(double beat, bool hasGandw)
|
||||
{
|
||||
startBeat = beat;
|
||||
path = WorkingDough.instance.GetPath("NPCBall");
|
||||
if (gandw != null) gandw.SetActive(hasGandw);
|
||||
Update();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
|
||||
float flyPos = 0f;
|
||||
|
||||
switch (currentFlyingStage) {
|
||||
case FlyingStage.EnteringUp:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat, 0.5f);
|
||||
transform.position = enterUpCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) currentFlyingStage = FlyingStage.EnteringDown;
|
||||
break;
|
||||
case FlyingStage.EnteringDown:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + 0.5f, 0.5f);
|
||||
|
||||
transform.position = enterDownCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) currentFlyingStage = FlyingStage.ExitingUp;
|
||||
break;
|
||||
case FlyingStage.ExitingUp:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + 1f, 0.5f);
|
||||
|
||||
transform.position = exitUpCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) currentFlyingStage = FlyingStage.ExitingDown;
|
||||
break;
|
||||
case FlyingStage.ExitingDown:
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + 1.5f, 0.5f);
|
||||
|
||||
transform.position = exitDownCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) GameObject.Destroy(gameObject);
|
||||
break;
|
||||
if (cond.isPlaying && !cond.isPaused)
|
||||
{
|
||||
double beat = cond.songPositionInBeats;
|
||||
if (startBeat > double.MinValue)
|
||||
{
|
||||
Vector3 pos = GetPathPositionFromBeat(path, Math.Max(beat, startBeat), startBeat);
|
||||
transform.position = pos;
|
||||
if (beat >= startBeat + 2) Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,36 +7,200 @@ using HeavenStudio.Util;
|
|||
|
||||
namespace HeavenStudio.Games.Scripts_WorkingDough
|
||||
{
|
||||
public class PlayerEnterDoughBall : MonoBehaviour
|
||||
public class PlayerEnterDoughBall : SuperCurveObject
|
||||
{
|
||||
public double startBeat;
|
||||
public float firstBeatsToTravel = 0.5f;
|
||||
public float secondBeatsToTravel = 0.5f;
|
||||
public bool goingDown = false;
|
||||
public bool deletingAutomatically = true;
|
||||
[NonSerialized] public BezierCurve3D firstCurve;
|
||||
[NonSerialized] public BezierCurve3D secondCurve;
|
||||
private enum State
|
||||
{
|
||||
None,
|
||||
Entering,
|
||||
Hit,
|
||||
Barely,
|
||||
Miss,
|
||||
Weak
|
||||
}
|
||||
private State currentState;
|
||||
|
||||
private double startBeat;
|
||||
|
||||
private bool big;
|
||||
|
||||
private Path enterPath;
|
||||
private Path hitPath;
|
||||
private Path barelyPath;
|
||||
private Path missPath;
|
||||
private Path weakPath;
|
||||
|
||||
private WorkingDough game;
|
||||
|
||||
private PlayerActionEvent wrongInput;
|
||||
private PlayerActionEvent rightInput;
|
||||
|
||||
[SerializeField] private GameObject gandw;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
game = WorkingDough.instance;
|
||||
}
|
||||
|
||||
public void Init(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
startBeat = beat;
|
||||
big = isBig;
|
||||
enterPath = game.GetPath("PlayerEnter");
|
||||
hitPath = game.GetPath("PlayerHit");
|
||||
barelyPath = game.GetPath("PlayerBarely");
|
||||
missPath = game.GetPath("PlayerMiss");
|
||||
weakPath = game.GetPath("PlayerWeak");
|
||||
rightInput = game.ScheduleInput(beat, 1, isBig ? InputType.STANDARD_ALT_DOWN : InputType.STANDARD_DOWN, Just, Miss, Empty);
|
||||
wrongInput = game.ScheduleUserInput(beat, 1, isBig ? InputType.STANDARD_DOWN : InputType.STANDARD_ALT_DOWN, WrongInput, Empty, Empty);
|
||||
currentState = State.Entering;
|
||||
if (gandw != null) gandw.SetActive(hasGandw);
|
||||
Update();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
var cond = Conductor.instance;
|
||||
|
||||
float flyPos = 0f;
|
||||
|
||||
if (goingDown)
|
||||
if (cond.isPlaying && !cond.isPaused)
|
||||
{
|
||||
flyPos = cond.GetPositionFromBeat(startBeat + firstBeatsToTravel, secondBeatsToTravel);
|
||||
Vector3 pos = new Vector3();
|
||||
double beat = cond.songPositionInBeats;
|
||||
switch (currentState)
|
||||
{
|
||||
case State.None:
|
||||
break;
|
||||
case State.Entering:
|
||||
pos = GetPathPositionFromBeat(enterPath, Math.Max(beat, startBeat), startBeat);
|
||||
break;
|
||||
case State.Hit:
|
||||
pos = GetPathPositionFromBeat(hitPath, Math.Max(beat, startBeat), startBeat);
|
||||
if (beat >= startBeat + 1)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
break;
|
||||
case State.Miss:
|
||||
pos = GetPathPositionFromBeat(missPath, Math.Max(beat, startBeat), startBeat);
|
||||
if (beat >= startBeat + 1)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
break;
|
||||
case State.Weak:
|
||||
pos = GetPathPositionFromBeat(weakPath, Math.Max(beat, startBeat), startBeat);
|
||||
if (beat >= startBeat + 1)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
break;
|
||||
case State.Barely:
|
||||
pos = GetPathPositionFromBeat(barelyPath, Math.Max(beat, startBeat), startBeat);
|
||||
if (beat >= startBeat + 2)
|
||||
{
|
||||
Destroy(gameObject);
|
||||
}
|
||||
break;
|
||||
}
|
||||
transform.position = pos;
|
||||
}
|
||||
}
|
||||
|
||||
transform.position = secondCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) if (deletingAutomatically) GameObject.Destroy(gameObject);
|
||||
private void Just(PlayerActionEvent caller, float state)
|
||||
{
|
||||
wrongInput.Disable();
|
||||
double beat = Conductor.instance.songPositionInBeats;
|
||||
startBeat = beat;
|
||||
game.playerImpact.SetActive(true);
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { game.playerImpact.SetActive(false); }),
|
||||
});
|
||||
if (state >= 1f || state <= -1f)
|
||||
{
|
||||
currentState = State.Barely;
|
||||
SoundByte.PlayOneShot("miss");
|
||||
if (big)
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/bigPlayer");
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/smallPlayer");
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
}
|
||||
Update();
|
||||
return;
|
||||
}
|
||||
currentState = State.Hit;
|
||||
if (big)
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/bigPlayer");
|
||||
SoundByte.PlayOneShotGame("workingDough/hitBigPlayer");
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
game.backgroundAnimator.Play("BackgroundFlash", 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
flyPos = cond.GetPositionFromBeat(startBeat, firstBeatsToTravel);
|
||||
transform.position = firstCurve.GetPoint(flyPos);
|
||||
if (flyPos > 1f) goingDown = true;
|
||||
SoundByte.PlayOneShotGame("workingDough/smallPlayer");
|
||||
SoundByte.PlayOneShotGame("workingDough/hitSmallPlayer");
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
}
|
||||
bool hasGandw = false;
|
||||
if (gandw != null) hasGandw = gandw.activeSelf;
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.9f, delegate { game.arrowSRRightPlayer.sprite = game.redArrowSprite; }),
|
||||
new BeatAction.Action(beat + 1f, delegate { game.arrowSRRightPlayer.sprite = game.whiteArrowSprite; }),
|
||||
new BeatAction.Action(beat + 2f, delegate { game.SpawnBGBall(beat + 2f, big, hasGandw); }),
|
||||
});
|
||||
Update();
|
||||
}
|
||||
|
||||
private void WrongInput(PlayerActionEvent caller, float state)
|
||||
{
|
||||
double beat = Conductor.instance.songPositionInBeats;
|
||||
rightInput.Disable();
|
||||
game.playerImpact.SetActive(true);
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { game.playerImpact.SetActive(false); }),
|
||||
});
|
||||
if (big)
|
||||
{
|
||||
currentState = State.Weak;
|
||||
startBeat = beat;
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/smallPlayer");
|
||||
SoundByte.PlayOneShotGame("workingDough/tooBig");
|
||||
Update();
|
||||
}
|
||||
else
|
||||
{
|
||||
GameObject.Instantiate(game.breakParticleEffect, game.breakParticleHolder);
|
||||
game.doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/bigPlayer");
|
||||
SoundByte.PlayOneShotGame("workingDough/tooSmall");
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void Miss(PlayerActionEvent caller)
|
||||
{
|
||||
double beat = caller.timer + caller.startBeat;
|
||||
currentState = State.Miss;
|
||||
startBeat = beat;
|
||||
Update();
|
||||
BeatAction.New(game.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.25f, delegate { game.missImpact.SetActive(true); }),
|
||||
new BeatAction.Action(beat + 0.25f, delegate { SoundByte.PlayOneShotGame("workingDough/BallMiss"); }),
|
||||
new BeatAction.Action(beat + 0.35f, delegate { game.missImpact.SetActive(false); }),
|
||||
});
|
||||
}
|
||||
|
||||
private void Empty(PlayerActionEvent caller) { }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,25 +15,35 @@ namespace HeavenStudio.Games.Loaders
|
|||
{
|
||||
new GameAction("beat intervals", "Start Interval")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; WorkingDough.instance.SetIntervalStart(e.beat, e.length); },
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSetIntervalStart(e.beat, e.length); },
|
||||
defaultLength = 8f,
|
||||
resizable = true,
|
||||
priority = 2
|
||||
priority = 2,
|
||||
},
|
||||
new GameAction("small ball", "Small Ball")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; WorkingDough.instance.OnSpawnBall(e.beat, false); },
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, false); },
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, false, false); },
|
||||
defaultLength = 0.5f,
|
||||
priority = 1
|
||||
priority = 1,
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.OnSpawnBallInactive(e.beat, false, false); },
|
||||
function = delegate { var e = eventCaller.currentEntity; WorkingDough.instance.OnSpawnBall(e.beat, false, false); }
|
||||
},
|
||||
new GameAction("big ball", "Big Ball")
|
||||
{
|
||||
function = delegate { var e = eventCaller.currentEntity; WorkingDough.instance.OnSpawnBall(e.beat, true); },
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, true); },
|
||||
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, true, e["hasGandw"]); },
|
||||
defaultLength = 0.5f,
|
||||
priority = 1
|
||||
priority = 1,
|
||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.OnSpawnBallInactive(e.beat, true, e["hasGandw"]); },
|
||||
function = delegate { var e = eventCaller.currentEntity; WorkingDough.instance.OnSpawnBall(e.beat, true, e["hasGandw"]); },
|
||||
parameters = new List<Param>()
|
||||
{
|
||||
new Param("hasGandw", false, "Has Mr. Game & Watch")
|
||||
}
|
||||
},
|
||||
new GameAction("passTurn", "Pass Turn")
|
||||
{
|
||||
preFunction = delegate { WorkingDough.PrePassTurn(eventCaller.currentEntity.beat); },
|
||||
preFunctionLength = 1
|
||||
},
|
||||
new GameAction("launch spaceship", "Launch Spaceship")
|
||||
{
|
||||
|
@ -91,6 +101,11 @@ namespace HeavenStudio.Games.Loaders
|
|||
defaultLength = 0.5f,
|
||||
priority = 0
|
||||
},
|
||||
new GameAction("disableBG", "Toggle Background")
|
||||
{
|
||||
function = delegate { WorkingDough.instance.DisableBG(); },
|
||||
defaultLength = 0.5f
|
||||
}
|
||||
},
|
||||
new List<string>() {"rvl", "repeat"},
|
||||
"rvldough", "en",
|
||||
|
@ -103,6 +118,7 @@ namespace HeavenStudio.Games.Loaders
|
|||
namespace HeavenStudio.Games
|
||||
{
|
||||
using Scripts_WorkingDough;
|
||||
|
||||
public class WorkingDough : Minigame
|
||||
{
|
||||
[Header("Components")]
|
||||
|
@ -113,22 +129,22 @@ namespace HeavenStudio.Games
|
|||
[SerializeField] GameObject ballTransporterRightPlayer; //Close and open animations
|
||||
[SerializeField] GameObject ballTransporterLeftPlayer; //Close and open animations
|
||||
[SerializeField] GameObject npcImpact;
|
||||
[SerializeField] GameObject playerImpact;
|
||||
public GameObject playerImpact;
|
||||
[SerializeField] GameObject smallBallNPC;
|
||||
[SerializeField] GameObject bigBallNPC;
|
||||
[SerializeField] Transform ballHolder;
|
||||
[SerializeField] SpriteRenderer arrowSRLeftNPC;
|
||||
[SerializeField] SpriteRenderer arrowSRRightNPC;
|
||||
[SerializeField] SpriteRenderer arrowSRLeftPlayer;
|
||||
[SerializeField] SpriteRenderer arrowSRRightPlayer;
|
||||
public SpriteRenderer arrowSRRightPlayer;
|
||||
[SerializeField] GameObject NPCBallTransporters;
|
||||
[SerializeField] GameObject PlayerBallTransporters;
|
||||
[SerializeField] GameObject playerEnterSmallBall;
|
||||
[SerializeField] GameObject playerEnterBigBall;
|
||||
[SerializeField] GameObject missImpact;
|
||||
[SerializeField] Transform breakParticleHolder;
|
||||
[SerializeField] GameObject breakParticleEffect;
|
||||
[SerializeField] Animator backgroundAnimator;
|
||||
public GameObject missImpact;
|
||||
public Transform breakParticleHolder;
|
||||
public GameObject breakParticleEffect;
|
||||
public Animator backgroundAnimator;
|
||||
[SerializeField] Animator conveyerAnimator;
|
||||
[SerializeField] GameObject smallBGBall;
|
||||
[SerializeField] GameObject bigBGBall;
|
||||
|
@ -137,103 +153,114 @@ namespace HeavenStudio.Games
|
|||
[SerializeField] Animator doughDudesHolderAnim;
|
||||
[SerializeField] Animator gandwAnim;
|
||||
|
||||
[SerializeField] private GameObject[] bgObjects;
|
||||
private bool bgDisabled;
|
||||
|
||||
[Header("Variables")]
|
||||
public bool intervalStarted;
|
||||
double intervalStartBeat;
|
||||
float risingLength = 4f;
|
||||
double risingStartBeat;
|
||||
float liftingLength = 4f;
|
||||
double liftingStartBeat;
|
||||
public static float beatInterval = 8f;
|
||||
float gandMovingLength = 4f;
|
||||
double gandMovingStartBeat;
|
||||
public bool bigMode;
|
||||
public bool bigModePlayer;
|
||||
static List<QueuedBall> queuedBalls = new List<QueuedBall>();
|
||||
static List<double> passedTurns = new List<double>();
|
||||
struct QueuedBall
|
||||
{
|
||||
public double beat;
|
||||
public bool isBig;
|
||||
public bool hasGandw;
|
||||
}
|
||||
static List<QueuedInterval> queuedIntervals = new List<QueuedInterval>();
|
||||
struct QueuedInterval
|
||||
{
|
||||
public double beat;
|
||||
public float interval;
|
||||
}
|
||||
private List<GameObject> currentBalls = new List<GameObject>();
|
||||
public bool shouldMiss = true;
|
||||
public bool spaceshipRisen = false;
|
||||
public bool spaceshipRising = false;
|
||||
bool liftingDoughDudes;
|
||||
string liftingAnimName;
|
||||
bool ballTriggerSetInterval = true;
|
||||
bool gandwHasEntered = true;
|
||||
bool gandwMoving;
|
||||
string gandwMovingAnimName;
|
||||
|
||||
[Header("Curves")]
|
||||
public BezierCurve3D npcEnterUpCurve;
|
||||
public BezierCurve3D npcEnterDownCurve;
|
||||
public BezierCurve3D npcExitUpCurve;
|
||||
public BezierCurve3D npcExitDownCurve;
|
||||
public BezierCurve3D playerEnterUpCurve;
|
||||
public BezierCurve3D playerEnterDownCurve;
|
||||
public BezierCurve3D playerExitUpCurve;
|
||||
public BezierCurve3D playerExitDownCurve;
|
||||
public BezierCurve3D playerMissCurveFirst;
|
||||
public BezierCurve3D playerMissCurveSecond;
|
||||
public BezierCurve3D playerBarelyCurveFirst;
|
||||
public BezierCurve3D playerBarelyCurveSecond;
|
||||
public BezierCurve3D playerWrongInputTooWeakFirstCurve;
|
||||
public BezierCurve3D playerWrongInputTooWeakSecondCurve;
|
||||
public BezierCurve3D firstBGCurveBig;
|
||||
public BezierCurve3D secondBGCurveBig;
|
||||
public BezierCurve3D thirdBGCurveBig;
|
||||
public BezierCurve3D firstBGCurveSmall;
|
||||
public BezierCurve3D secondBGCurveSmall;
|
||||
public BezierCurve3D thirdBGCurveSmall;
|
||||
[SerializeField] SuperCurveObject.Path[] ballBouncePaths;
|
||||
new void OnDrawGizmos()
|
||||
{
|
||||
base.OnDrawGizmos();
|
||||
foreach (SuperCurveObject.Path path in ballBouncePaths)
|
||||
{
|
||||
if (path.preview)
|
||||
{
|
||||
smallBallNPC.GetComponent<NPCDoughBall>().DrawEditorGizmo(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
public SuperCurveObject.Path GetPath(string name)
|
||||
{
|
||||
foreach (SuperCurveObject.Path path in ballBouncePaths)
|
||||
{
|
||||
if (path.name == name)
|
||||
{
|
||||
return path;
|
||||
}
|
||||
}
|
||||
return default(SuperCurveObject.Path);
|
||||
}
|
||||
|
||||
[Header("Resources")]
|
||||
public Sprite whiteArrowSprite;
|
||||
public Sprite redArrowSprite;
|
||||
|
||||
public static WorkingDough instance;
|
||||
private static CallAndResponseHandler crHandlerInstance;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
if (crHandlerInstance == null)
|
||||
{
|
||||
crHandlerInstance = new CallAndResponseHandler(8);
|
||||
}
|
||||
instance = this;
|
||||
}
|
||||
|
||||
void Start()
|
||||
{
|
||||
shouldMiss = true;
|
||||
ballTriggerSetInterval = true;
|
||||
conveyerAnimator.Play("ConveyerBelt", 0, 0);
|
||||
doughDudesHolderAnim.Play("OnGround", 0, 0);
|
||||
}
|
||||
|
||||
public void DisableBG()
|
||||
{
|
||||
bgDisabled = !bgDisabled;
|
||||
foreach (var bgObject in bgObjects)
|
||||
{
|
||||
bgObject.SetActive(!bgDisabled);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetIntervalStart(double beat, float interval)
|
||||
{
|
||||
Debug.Log("Start Interval");
|
||||
if (!intervalStarted)
|
||||
if (!crHandlerInstance.IntervalIsActive())
|
||||
{
|
||||
instance.ballTriggerSetInterval = false;
|
||||
intervalStarted = true;
|
||||
bigMode = false;
|
||||
BeatAction.New(ballTransporterLeftNPC, new List<BeatAction.Action>()
|
||||
{
|
||||
//Open player transporters
|
||||
new BeatAction.Action(beat - 1, delegate
|
||||
{
|
||||
if (!instance.ballTransporterLeftNPC.GetComponent<Animator>().IsPlayingAnimationName("BallTransporterLeftOpened"))
|
||||
{
|
||||
instance.ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
|
||||
instance.ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
if (instance.gandwHasEntered && !bgDisabled) instance.gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
}
|
||||
}),
|
||||
//Open player transporters
|
||||
/*
|
||||
new BeatAction.Action(beat + interval - 1f, delegate {
|
||||
ballTransporterLeftPlayer.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
|
||||
ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
}),
|
||||
new BeatAction.Action(beat + interval - 1f, delegate {
|
||||
ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
}),
|
||||
|
||||
//End interval
|
||||
new BeatAction.Action(beat + interval, delegate { intervalStarted = false; }),
|
||||
new BeatAction.Action(beat + interval, delegate {ballTriggerSetInterval = true; }),
|
||||
}),*/
|
||||
|
||||
//Close npc transporters
|
||||
new BeatAction.Action(beat + interval, delegate {
|
||||
|
@ -243,6 +270,7 @@ namespace HeavenStudio.Games
|
|||
bigMode = false;
|
||||
}
|
||||
}),
|
||||
/*
|
||||
new BeatAction.Action(beat + interval + 1, delegate { if (!intervalStarted) ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + interval + 1, delegate { if (!intervalStarted) ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + interval + 1, delegate { if (gandwHasEntered) gandwAnim.Play("MrGameAndWatchLeverDown", 0, 0); }),
|
||||
|
@ -256,29 +284,74 @@ namespace HeavenStudio.Games
|
|||
bigModePlayer = false;
|
||||
}
|
||||
}),
|
||||
*/
|
||||
});
|
||||
}
|
||||
beatInterval = interval;
|
||||
intervalStartBeat = beat;
|
||||
crHandlerInstance.StartInterval(beat, interval);
|
||||
}
|
||||
|
||||
public void SpawnBall(double beat, bool isBig)
|
||||
public static void PrePassTurn(double beat)
|
||||
{
|
||||
if (!intervalStarted && ballTriggerSetInterval)
|
||||
if (GameManager.instance.currentGame == "workingDough")
|
||||
{
|
||||
SetIntervalStart(beat, beatInterval);
|
||||
instance.PassTurn(beat);
|
||||
}
|
||||
else
|
||||
{
|
||||
passedTurns.Add(beat);
|
||||
}
|
||||
}
|
||||
|
||||
private void PassTurn(double beat)
|
||||
{
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
ballTransporterLeftPlayer.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
|
||||
foreach (var ball in crHandlerInstance.queuedEvents)
|
||||
{
|
||||
SpawnPlayerBall(beat + ball.relativeBeat - 1, ball.tag == "big", ball["hasGandw"]);
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
if (crHandlerInstance.queuedEvents.Count > 0)
|
||||
{
|
||||
foreach (var ball in crHandlerInstance.queuedEvents)
|
||||
{
|
||||
SpawnPlayerBall(beat + ball.relativeBeat - 1, ball.tag == "big", ball["hasGandw"]);
|
||||
}
|
||||
crHandlerInstance.queuedEvents.Clear();
|
||||
}
|
||||
}),
|
||||
new BeatAction.Action(beat + 1, delegate { if (!crHandlerInstance.IntervalIsActive()) ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + 1, delegate { if (!crHandlerInstance.IntervalIsActive()) ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + 1, delegate { if (gandwHasEntered && !bgDisabled) gandwAnim.Play("MrGameAndWatchLeverDown", 0, 0); }),
|
||||
//Close player transporters
|
||||
new BeatAction.Action(beat + crHandlerInstance.intervalLength + 1, delegate { ballTransporterLeftPlayer.GetComponent<Animator>().Play("BallTransporterLeftClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + crHandlerInstance.intervalLength + 1, delegate { ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightClose", 0, 0); }),
|
||||
new BeatAction.Action(beat + crHandlerInstance.intervalLength + 1, delegate {
|
||||
if (bigModePlayer)
|
||||
{
|
||||
PlayerBallTransporters.GetComponent<Animator>().Play("PlayerExitBigMode", 0, 0);
|
||||
bigModePlayer = false;
|
||||
}
|
||||
}),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void SpawnBall(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
var objectToSpawn = isBig ? bigBallNPC : smallBallNPC;
|
||||
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
|
||||
|
||||
var ballComponent = spawnedBall.GetComponent<NPCDoughBall>();
|
||||
ballComponent.startBeat = beat;
|
||||
ballComponent.exitUpCurve = npcExitUpCurve;
|
||||
ballComponent.enterUpCurve = npcEnterUpCurve;
|
||||
ballComponent.exitDownCurve = npcExitDownCurve;
|
||||
ballComponent.enterDownCurve = npcEnterDownCurve;
|
||||
|
||||
spawnedBall.SetActive(true);
|
||||
ballComponent.Init(beat, hasGandw);
|
||||
|
||||
|
||||
if (isBig && !bigMode)
|
||||
{
|
||||
|
@ -286,9 +359,6 @@ namespace HeavenStudio.Games
|
|||
bigMode = true;
|
||||
}
|
||||
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(isBig ? "workingDough/NPCBigBall" : "workingDough/NPCSmallBall", beat + 1f),
|
||||
});
|
||||
|
||||
arrowSRLeftNPC.sprite = redArrowSprite;
|
||||
BeatAction.New(doughDudesNPC, new List<BeatAction.Action>()
|
||||
|
@ -303,43 +373,7 @@ namespace HeavenStudio.Games
|
|||
});
|
||||
}
|
||||
|
||||
public void InstantExitBall(double beat, bool isBig, double offSet)
|
||||
{
|
||||
var objectToSpawn = isBig ? bigBallNPC : smallBallNPC;
|
||||
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
|
||||
|
||||
var ballComponent = spawnedBall.GetComponent<NPCDoughBall>();
|
||||
ballComponent.startBeat = beat - 1f;
|
||||
ballComponent.exitUpCurve = npcExitUpCurve;
|
||||
ballComponent.enterUpCurve = npcEnterUpCurve;
|
||||
ballComponent.exitDownCurve = npcExitDownCurve;
|
||||
ballComponent.enterDownCurve = npcEnterDownCurve;
|
||||
ballComponent.currentFlyingStage = (FlyingStage)(2 - (int)Math.Abs(offSet));
|
||||
|
||||
if (isBig && !bigMode)
|
||||
{
|
||||
bigMode = true;
|
||||
}
|
||||
|
||||
if (beat >= Conductor.instance.songPositionInBeatsAsDouble)
|
||||
{
|
||||
MultiSound.Play(new MultiSound.Sound[] {
|
||||
new MultiSound.Sound(isBig ? "workingDough/NPCBigBall" : "workingDough/NPCSmallBall", beat),
|
||||
});
|
||||
}
|
||||
|
||||
BeatAction.New(doughDudesNPC, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat - offSet, delegate { spawnedBall.SetActive(true); }),
|
||||
new BeatAction.Action(beat, delegate { doughDudesNPC.GetComponent<Animator>().Play(isBig ? "BigDoughJump" : "SmallDoughJump", 0, 0); } ),
|
||||
new BeatAction.Action(beat, delegate { npcImpact.SetActive(true); } ),
|
||||
new BeatAction.Action(beat + 0.1f, delegate { npcImpact.SetActive(false); }),
|
||||
new BeatAction.Action(beat + 0.9f, delegate { arrowSRRightNPC.sprite = redArrowSprite; }),
|
||||
new BeatAction.Action(beat + 1f, delegate { arrowSRRightNPC.sprite = whiteArrowSprite; }),
|
||||
});
|
||||
}
|
||||
|
||||
public static void PreSpawnBall(double beat, bool isBig)
|
||||
public static void PreSpawnBall(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
double spawnBeat = beat - 1f;
|
||||
beat -= 1f;
|
||||
|
@ -349,14 +383,14 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
new BeatAction.Action(spawnBeat, delegate
|
||||
{
|
||||
if (!instance.ballTransporterLeftNPC.GetComponent<Animator>().IsPlayingAnimationName("BallTransporterLeftOpened") && !instance.intervalStarted && instance.ballTriggerSetInterval)
|
||||
if (!instance.ballTransporterLeftNPC.GetComponent<Animator>().IsPlayingAnimationName("BallTransporterLeftOpened") && !crHandlerInstance.IntervalIsActive() && !instance.bgDisabled)
|
||||
{
|
||||
instance.ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
|
||||
instance.ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
if (instance.gandwHasEntered) instance.gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
}
|
||||
}),
|
||||
new BeatAction.Action(spawnBeat, delegate { if (instance != null) instance.SpawnBall(beat, isBig); }),
|
||||
new BeatAction.Action(spawnBeat, delegate { if (instance != null) instance.SpawnBall(beat, isBig, hasGandw); }),
|
||||
// new BeatAction.Action(spawnBeat + instance.beatInterval, delegate { instance.SpawnPlayerBall(beat + instance.beatInterval, isBig); }),
|
||||
});
|
||||
}
|
||||
|
@ -366,39 +400,50 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
beat = beat + 1f,
|
||||
isBig = isBig,
|
||||
hasGandw = hasGandw
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSpawnBall(double beat, bool isBig)
|
||||
public static void OnSpawnBallInactive(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
beat -= 1f;
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
if (crHandlerInstance == null)
|
||||
{
|
||||
new BeatAction.Action(beat + beatInterval, delegate { instance.SpawnPlayerBall(beat + beatInterval, isBig); }),
|
||||
crHandlerInstance = new CallAndResponseHandler(8);
|
||||
}
|
||||
crHandlerInstance.AddEvent(beat, 0, isBig ? "big" : "small", new List<CallAndResponseHandler.CallAndResponseEventParam>()
|
||||
{
|
||||
new CallAndResponseHandler.CallAndResponseEventParam("hasGandw", hasGandw)
|
||||
});
|
||||
}
|
||||
|
||||
public void OnSpawnBallInactive(double beat, bool isBig)
|
||||
public void OnSpawnBall(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
queuedBalls.Add(new QueuedBall()
|
||||
crHandlerInstance.AddEvent(beat, 0, isBig ? "big" : "small", new List<CallAndResponseHandler.CallAndResponseEventParam>()
|
||||
{
|
||||
beat = beat + 1f,
|
||||
isBig = isBig,
|
||||
new CallAndResponseHandler.CallAndResponseEventParam("hasGandw", hasGandw)
|
||||
});
|
||||
SoundByte.PlayOneShotGame(isBig ? "workingDough/hitBigOther" : "workingDough/hitSmallOther");
|
||||
SoundByte.PlayOneShotGame(isBig ? "workingDough/bigOther" : "workingDough/smallOther");
|
||||
}
|
||||
|
||||
public void SpawnPlayerBall(double beat, bool isBig)
|
||||
public static void InactiveInterval(double beat, float interval)
|
||||
{
|
||||
if (crHandlerInstance == null)
|
||||
{
|
||||
crHandlerInstance = new CallAndResponseHandler(8);
|
||||
}
|
||||
crHandlerInstance.StartInterval(beat, interval);
|
||||
}
|
||||
|
||||
public void SpawnPlayerBall(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
var objectToSpawn = isBig ? playerEnterBigBall : playerEnterSmallBall;
|
||||
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
|
||||
|
||||
var ballComponent = spawnedBall.GetComponent<PlayerEnterDoughBall>();
|
||||
ballComponent.startBeat = beat;
|
||||
ballComponent.firstCurve = playerEnterUpCurve;
|
||||
ballComponent.secondCurve = playerEnterDownCurve;
|
||||
ballComponent.deletingAutomatically = false;
|
||||
currentBalls.Add(spawnedBall);
|
||||
spawnedBall.SetActive(true);
|
||||
ballComponent.Init(beat, isBig, hasGandw);
|
||||
|
||||
if (isBig && !bigModePlayer)
|
||||
{
|
||||
|
@ -406,76 +451,33 @@ namespace HeavenStudio.Games
|
|||
bigModePlayer = true;
|
||||
}
|
||||
|
||||
//shouldMiss = true;
|
||||
if (isBig)
|
||||
{
|
||||
ScheduleInput(beat, 1, InputType.STANDARD_ALT_DOWN, JustBig, MissBig, Nothing);
|
||||
ScheduleUserInput(beat, 1, InputType.STANDARD_DOWN, WrongInputBig, Nothing, Nothing);
|
||||
}
|
||||
else
|
||||
{
|
||||
ScheduleInput(beat, 1, InputType.STANDARD_DOWN, JustSmall, MissSmall, Nothing);
|
||||
ScheduleUserInput(beat, 1, InputType.STANDARD_ALT_DOWN, WrongInputSmall, Nothing, Nothing);
|
||||
}
|
||||
|
||||
|
||||
BeatAction.New(doughDudesPlayer, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate { spawnedBall.SetActive(true); }),
|
||||
new BeatAction.Action(beat, delegate { arrowSRLeftPlayer.sprite = redArrowSprite; }),
|
||||
new BeatAction.Action(beat + 0.1f, delegate { arrowSRLeftPlayer.sprite = whiteArrowSprite; }),
|
||||
});
|
||||
}
|
||||
|
||||
public void SpawnPlayerBallResult(double beat, bool isBig, BezierCurve3D firstCurve, BezierCurve3D secondCurve, float firstBeatsToTravel, float secondBeatsToTravel)
|
||||
{
|
||||
var objectToSpawn = isBig ? playerEnterBigBall : playerEnterSmallBall;
|
||||
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
|
||||
|
||||
var ballComponent = spawnedBall.GetComponent<PlayerEnterDoughBall>();
|
||||
ballComponent.startBeat = beat;
|
||||
ballComponent.firstCurve = firstCurve;
|
||||
ballComponent.secondCurve = secondCurve;
|
||||
ballComponent.firstBeatsToTravel = firstBeatsToTravel;
|
||||
ballComponent.secondBeatsToTravel = secondBeatsToTravel;
|
||||
|
||||
spawnedBall.SetActive(true);
|
||||
}
|
||||
|
||||
public static void PreSetIntervalStart(double beat, float interval)
|
||||
{
|
||||
beat -= 1f;
|
||||
if (GameManager.instance.currentGame == "workingDough")
|
||||
{
|
||||
// instance.ballTriggerSetInterval = false;
|
||||
// beatInterval = interval;
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat, delegate
|
||||
{
|
||||
if (!instance.ballTransporterLeftNPC.GetComponent<Animator>().IsPlayingAnimationName("BallTransporterLeftOpened"))
|
||||
{
|
||||
instance.ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
|
||||
instance.ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
|
||||
if (instance.gandwHasEntered) instance.gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
}
|
||||
}),
|
||||
// new BeatAction.Action(beat + 1, delegate { if (instance != null) instance.SetIntervalStart(beat + 1, interval); }),
|
||||
});
|
||||
instance.SetIntervalStart(beat, interval);
|
||||
}
|
||||
else
|
||||
{
|
||||
queuedIntervals.Add(new QueuedInterval()
|
||||
{
|
||||
beat = beat + 1f,
|
||||
interval = interval,
|
||||
});
|
||||
InactiveInterval(beat, interval);
|
||||
}
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
if (queuedIntervals.Count > 0) queuedIntervals.Clear();
|
||||
if (crHandlerInstance != null && !Conductor.instance.isPlaying)
|
||||
{
|
||||
crHandlerInstance = null;
|
||||
}
|
||||
if (queuedBalls.Count > 0) queuedBalls.Clear();
|
||||
foreach (var evt in scheduledInputs)
|
||||
{
|
||||
|
@ -483,250 +485,74 @@ namespace HeavenStudio.Games
|
|||
}
|
||||
}
|
||||
|
||||
public override void OnGameSwitch(double beat)
|
||||
{
|
||||
if (queuedBalls.Count > 0)
|
||||
{
|
||||
foreach (var ball in queuedBalls)
|
||||
{
|
||||
if (ball.isBig) NPCBallTransporters.GetComponent<Animator>().Play("BigMode", 0, 0);
|
||||
if (!crHandlerInstance.IntervalIsActive())
|
||||
{
|
||||
ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpened", 0, 0);
|
||||
ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpened", 0, 0);
|
||||
if (gandwHasEntered && !bgDisabled) gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
}
|
||||
if (ball.beat > beat - 1)
|
||||
{
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(ball.beat - 1, delegate { SpawnBall(ball.beat - 1, ball.isBig, ball.hasGandw); })
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
queuedBalls.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
Conductor cond = Conductor.instance;
|
||||
if (!cond.isPlaying || cond.isPaused)
|
||||
{
|
||||
if (queuedIntervals.Count > 0) queuedIntervals.Clear();
|
||||
if (queuedBalls.Count > 0) queuedBalls.Clear();
|
||||
}
|
||||
|
||||
if (spaceshipRising) spaceshipAnimator.DoScaledAnimation("RiseSpaceship", risingStartBeat, risingLength);
|
||||
if (liftingDoughDudes) doughDudesHolderAnim.DoScaledAnimation(liftingAnimName, liftingStartBeat, liftingLength);
|
||||
if (gandwMoving) gandwAnim.DoScaledAnimation(gandwMovingAnimName, gandMovingStartBeat, gandMovingLength);
|
||||
if (queuedIntervals.Count > 0)
|
||||
if (spaceshipRising && !bgDisabled) spaceshipAnimator.DoScaledAnimation("RiseSpaceship", risingStartBeat, risingLength);
|
||||
if (liftingDoughDudes && !bgDisabled) doughDudesHolderAnim.DoScaledAnimation(liftingAnimName, liftingStartBeat, liftingLength);
|
||||
if (gandwMoving && !bgDisabled) gandwAnim.DoScaledAnimation(gandwMovingAnimName, gandMovingStartBeat, gandMovingLength);
|
||||
if (passedTurns.Count > 0)
|
||||
{
|
||||
foreach (var interval in queuedIntervals)
|
||||
foreach (var passTurn in passedTurns)
|
||||
{
|
||||
ballTriggerSetInterval = false;
|
||||
beatInterval = interval.interval;
|
||||
ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpened", 0, 0);
|
||||
ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpened", 0, 0);
|
||||
if (gandwHasEntered) gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(interval.beat, delegate { SetIntervalStart(interval.beat, interval.interval); }),
|
||||
});
|
||||
|
||||
PassTurn(passTurn);
|
||||
}
|
||||
queuedIntervals.Clear();
|
||||
}
|
||||
if (queuedBalls.Count > 0)
|
||||
{
|
||||
foreach (var ball in queuedBalls)
|
||||
{
|
||||
double offSet = ball.beat - cond.songPositionInBeatsAsDouble;
|
||||
double spawnOffset = offSet > 1f ? offSet - 1 : 0;
|
||||
if (ball.isBig) NPCBallTransporters.GetComponent<Animator>().Play("BigMode", 0, 0);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(ball.beat - offSet + spawnOffset, delegate {
|
||||
if (!intervalStarted && ballTriggerSetInterval)
|
||||
{
|
||||
ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpened", 0, 0);
|
||||
ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpened", 0, 0);
|
||||
if (gandwHasEntered) gandwAnim.Play("GANDWLeverUp", 0, 0);
|
||||
SetIntervalStart(ball.beat, beatInterval);
|
||||
}
|
||||
}),
|
||||
new BeatAction.Action(ball.beat - offSet + spawnOffset, delegate { InstantExitBall(ball.beat, ball.isBig, offSet); }),
|
||||
new BeatAction.Action(ball.beat + beatInterval - 1, delegate { SpawnPlayerBall(ball.beat + beatInterval - 1, ball.isBig); }),
|
||||
});
|
||||
|
||||
}
|
||||
queuedBalls.Clear();
|
||||
passedTurns.Clear();
|
||||
}
|
||||
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
|
||||
{
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/PlayerSmallJump");
|
||||
SoundByte.PlayOneShotGame("workingDough/smallPlayer");
|
||||
}
|
||||
else if (PlayerInput.AltPressed() && !IsExpectingInputNow(InputType.STANDARD_ALT_DOWN))
|
||||
{
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/PlayerBigJump");
|
||||
SoundByte.PlayOneShotGame("workingDough/bigPlayer");
|
||||
}
|
||||
}
|
||||
|
||||
void WrongInputBig(PlayerActionEvent caller, float state)
|
||||
{
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
shouldMiss = false;
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/BigBallTooWeak");
|
||||
SpawnPlayerBallResult(beat, true, playerWrongInputTooWeakFirstCurve, playerWrongInputTooWeakSecondCurve, 0.5f, 1f);
|
||||
playerImpact.SetActive(true);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { playerImpact.SetActive(false); }),
|
||||
});
|
||||
}
|
||||
|
||||
void WrongInputSmall(PlayerActionEvent caller, float state)
|
||||
{
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
shouldMiss = false;
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
GameObject.Instantiate(breakParticleEffect, breakParticleHolder);
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
SoundByte.PlayOneShotGame("workingDough/BreakBall");
|
||||
playerImpact.SetActive(true);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { playerImpact.SetActive(false); }),
|
||||
});
|
||||
}
|
||||
|
||||
void MissBig(PlayerActionEvent caller)
|
||||
{
|
||||
if (!shouldMiss)
|
||||
{
|
||||
shouldMiss = true;
|
||||
return;
|
||||
}
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
SpawnPlayerBallResult(beat, true, playerMissCurveFirst, playerMissCurveSecond, 0.25f, 0.75f);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.25f, delegate { missImpact.SetActive(true); }),
|
||||
new BeatAction.Action(beat + 0.25f, delegate { SoundByte.PlayOneShotGame("workingDough/BallMiss"); }),
|
||||
new BeatAction.Action(beat + 0.35f, delegate { missImpact.SetActive(false); }),
|
||||
});
|
||||
}
|
||||
void MissSmall(PlayerActionEvent caller)
|
||||
{
|
||||
if (!shouldMiss)
|
||||
{
|
||||
shouldMiss = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
SpawnPlayerBallResult(beat, false, playerMissCurveFirst, playerMissCurveSecond, 0.25f, 0.75f);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.25f, delegate { missImpact.SetActive(true); }),
|
||||
new BeatAction.Action(beat + 0.25f, delegate { SoundByte.PlayOneShotGame("workingDough/BallMiss"); }),
|
||||
new BeatAction.Action(beat + 0.35f, delegate { missImpact.SetActive(false); }),
|
||||
});
|
||||
}
|
||||
|
||||
void JustSmall(PlayerActionEvent caller, float state)
|
||||
{
|
||||
if (GameManager.instance.currentGame != "workingDough") return;
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
if (state >= 1f || state <= -1f)
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/SmallBarely");
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
|
||||
playerImpact.SetActive(true);
|
||||
SpawnPlayerBallResult(beat, false, playerBarelyCurveFirst, playerBarelyCurveSecond, 0.75f, 1f);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { playerImpact.SetActive(false); }),
|
||||
});
|
||||
return;
|
||||
}
|
||||
Success(false, beat);
|
||||
}
|
||||
|
||||
void JustBig(PlayerActionEvent caller, float state)
|
||||
{
|
||||
if (GameManager.instance.currentGame != "workingDough") return;
|
||||
double beat = caller.startBeat + caller.timer;
|
||||
if (currentBalls.Count > 0)
|
||||
{
|
||||
GameObject currentBall = currentBalls[0];
|
||||
currentBalls.Remove(currentBall);
|
||||
GameObject.Destroy(currentBall);
|
||||
}
|
||||
if (state >= 1f || state <= -1f)
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/BigBarely");
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
|
||||
playerImpact.SetActive(true);
|
||||
SpawnPlayerBallResult(beat, true, playerBarelyCurveFirst, playerBarelyCurveSecond, 0.75f, 1f);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { playerImpact.SetActive(false); }),
|
||||
});
|
||||
return;
|
||||
}
|
||||
Success(true, beat);
|
||||
}
|
||||
|
||||
void Success(bool isBig, double beat)
|
||||
{
|
||||
if (isBig)
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/rightBig");
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
|
||||
backgroundAnimator.Play("BackgroundFlash", 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
SoundByte.PlayOneShotGame("workingDough/rightSmall");
|
||||
doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
|
||||
}
|
||||
playerImpact.SetActive(true);
|
||||
SpawnPlayerBallResult(beat, isBig, playerExitUpCurve, playerExitDownCurve, 0.5f, 0.5f);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 0.1f, delegate { playerImpact.SetActive(false); }),
|
||||
new BeatAction.Action(beat + 0.9f, delegate { arrowSRRightPlayer.sprite = redArrowSprite; }),
|
||||
new BeatAction.Action(beat + 1f, delegate { arrowSRRightPlayer.sprite = whiteArrowSprite; }),
|
||||
new BeatAction.Action(beat + 2f, delegate { SpawnBGBall(beat + 2f, isBig); }),
|
||||
});
|
||||
}
|
||||
|
||||
void SpawnBGBall(double beat, bool isBig)
|
||||
public void SpawnBGBall(double beat, bool isBig, bool hasGandw)
|
||||
{
|
||||
var objectToSpawn = isBig ? bigBGBall : smallBGBall;
|
||||
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
|
||||
|
||||
var ballComponent = spawnedBall.GetComponent<BGBall>();
|
||||
ballComponent.startBeat = beat;
|
||||
ballComponent.firstCurve = isBig ? firstBGCurveBig : firstBGCurveSmall;
|
||||
ballComponent.secondCurve = isBig ? secondBGCurveBig : secondBGCurveSmall;
|
||||
ballComponent.thirdCurve = isBig ? thirdBGCurveBig : thirdBGCurveSmall;
|
||||
|
||||
spawnedBall.SetActive(true);
|
||||
ballComponent.Init(beat, hasGandw);
|
||||
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
|
||||
{
|
||||
new BeatAction.Action(beat + 9f, delegate { if (!spaceshipRisen) spaceshipAnimator.Play("AbsorbBall", 0, 0); }),
|
||||
new BeatAction.Action(beat + 9f, delegate { if (!spaceshipRisen && !bgDisabled) spaceshipAnimator.Play("AbsorbBall", 0, 0); }),
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -750,6 +576,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void LaunchShip(double beat, float length)
|
||||
{
|
||||
if (bgDisabled) return;
|
||||
spaceshipRisen = true;
|
||||
if (!spaceshipLights.activeSelf)
|
||||
{
|
||||
|
@ -761,12 +588,12 @@ namespace HeavenStudio.Games
|
|||
{
|
||||
new BeatAction.Action(beat + length, delegate { spaceshipAnimator.Play("SpaceshipLaunch", 0, 0); }),
|
||||
new BeatAction.Action(beat + length, delegate { SoundByte.PlayOneShotGame("workingDough/LaunchRobot"); }),
|
||||
new BeatAction.Action(beat + length, delegate { SoundByte.PlayOneShotGame("workingDough/Rocket"); }),
|
||||
});
|
||||
}
|
||||
|
||||
public void RiseUpShip(double beat, float length)
|
||||
{
|
||||
{
|
||||
if (bgDisabled) return;
|
||||
spaceshipRisen = true;
|
||||
spaceshipRising = true;
|
||||
risingLength = length;
|
||||
|
@ -785,6 +612,7 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void GANDWEnterOrExit(double beat, float length, bool shouldExit)
|
||||
{
|
||||
if (bgDisabled) return;
|
||||
gandwMoving = true;
|
||||
gandwHasEntered = false;
|
||||
gandMovingLength = length;
|
||||
|
@ -800,10 +628,9 @@ namespace HeavenStudio.Games
|
|||
|
||||
public void InstantGANDWEnterOrExit(bool shouldExit)
|
||||
{
|
||||
if (bgDisabled) return;
|
||||
gandwAnim.Play(shouldExit ? "GANDWLeft" : "MrGameAndWatchLeverDown", 0, 0);
|
||||
gandwHasEntered = shouldExit ? false : true;
|
||||
}
|
||||
|
||||
void Nothing (PlayerActionEvent caller) {}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -315,7 +315,7 @@ namespace HeavenStudio.Editor
|
|||
}
|
||||
else
|
||||
{
|
||||
if (currentRemixPath == string.Empty)
|
||||
if (currentRemixPath == string.Empty || currentRemixPath == null)
|
||||
{
|
||||
SaveRemixFilePanel();
|
||||
}
|
||||
|
@ -370,15 +370,16 @@ namespace HeavenStudio.Editor
|
|||
public void LoadRemix(bool create = false)
|
||||
{
|
||||
if (create)
|
||||
{
|
||||
GameManager.instance.NewRemix();
|
||||
currentRemixPath = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
GameManager.instance.LoadRemix(true);
|
||||
}
|
||||
Timeline.instance.LoadRemix();
|
||||
Timeline.FitToSong();
|
||||
|
||||
currentRemixPath = string.Empty;
|
||||
}
|
||||
|
||||
public void OpenRemix()
|
||||
|
|
|
@ -73,6 +73,70 @@ namespace HeavenStudio
|
|||
{"resultrepeat_ng", "Next time, follow the example better."}, // "Try Again" message for call-and-response games (two-liner)
|
||||
};
|
||||
|
||||
static Dictionary<string, object> tempoChangeModel = new()
|
||||
{
|
||||
{"tempo", 120f},
|
||||
{"swing", 0f},
|
||||
{"timeSignature", new Vector2(4, 4)},
|
||||
};
|
||||
|
||||
static Dictionary<string, object> volumeChangeModel = new()
|
||||
{
|
||||
{"volume", 1f},
|
||||
{"fade", Util.EasingFunction.Ease.Instant},
|
||||
};
|
||||
|
||||
static Dictionary<string, object> sectionMarkModel = new()
|
||||
{
|
||||
{"sectionName", ""},
|
||||
{"isCheckpoint", false},
|
||||
{"startPerfect", false},
|
||||
{"breakSection", false},
|
||||
{"extendsPrevious", false},
|
||||
{"sectionWeight", 1f},
|
||||
};
|
||||
|
||||
static void PreProcessSpecialEntity(RiqEntity e, Dictionary<string, object> model)
|
||||
{
|
||||
foreach (var t in model)
|
||||
{
|
||||
string propertyName = t.Key;
|
||||
Type type = t.Value.GetType();
|
||||
if (!e.dynamicData.ContainsKey(propertyName))
|
||||
{
|
||||
e.CreateProperty(propertyName, t.Value);
|
||||
}
|
||||
Type pType = e[propertyName].GetType();
|
||||
if (pType != type)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (type == typeof(Util.EasingFunction.Ease) && (pType == typeof(string) || pType == typeof(int) || pType == typeof(long)))
|
||||
{
|
||||
if (pType == typeof(int) || pType == typeof(long) || pType == typeof(Jukebox.EasingFunction.Ease))
|
||||
{
|
||||
e[propertyName] = (Util.EasingFunction.Ease)e[propertyName];
|
||||
}
|
||||
else
|
||||
e[propertyName] = Enum.Parse(typeof(Util.EasingFunction.Ease), (string)e[propertyName]);
|
||||
}
|
||||
else if (type.IsEnum)
|
||||
e[propertyName] = (int)e[propertyName];
|
||||
else if (pType == typeof(Newtonsoft.Json.Linq.JObject))
|
||||
e[propertyName] = e[propertyName].ToObject(type);
|
||||
else
|
||||
e[propertyName] = Convert.ChangeType(e[propertyName], type);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Debug.LogWarning($"Could not convert {propertyName} to {type}! Using default value...");
|
||||
// use default value
|
||||
e.CreateProperty(propertyName, t.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// processes an riq beatmap after it is loaded
|
||||
/// </summary>
|
||||
|
@ -102,6 +166,13 @@ namespace HeavenStudio
|
|||
var parameters = new List<Minigames.Param>();
|
||||
foreach (var item in e.dynamicData)
|
||||
{
|
||||
Debug.Log($"k: {item.Key}, v: {item.Value}");
|
||||
if (item.Key == "track")
|
||||
continue;
|
||||
if (item.Value == null)
|
||||
{
|
||||
e[item.Key] = 0;
|
||||
}
|
||||
var value = item.Value;
|
||||
if (value.GetType() == typeof(long))
|
||||
value = new EntityTypes.Integer(int.MinValue, int.MaxValue, (int)value);
|
||||
|
@ -179,31 +250,21 @@ namespace HeavenStudio
|
|||
|
||||
foreach (var tempo in data.tempoChanges)
|
||||
{
|
||||
tempo["tempo"] = (float)tempo["tempo"];
|
||||
tempo["swing"] = (float)tempo["swing"];
|
||||
if (tempo.dynamicData.ContainsKey("timeSignature"))
|
||||
tempo["timeSignature"] = (Vector2)tempo["timeSignature"];
|
||||
else
|
||||
tempo.dynamicData.Add("timeSignature", new Vector2(4, 4));
|
||||
PreProcessSpecialEntity(tempo, tempoChangeModel);
|
||||
}
|
||||
if (data.tempoChanges[0]["tempo"] <= 0)
|
||||
{
|
||||
data.tempoChanges[0]["tempo"] = 120;
|
||||
}
|
||||
|
||||
foreach (var vol in data.volumeChanges)
|
||||
{
|
||||
vol["volume"] = (float)vol["volume"];
|
||||
if (vol["fade"].GetType() == typeof(string))
|
||||
vol["fade"] = Enum.Parse(typeof(Util.EasingFunction.Ease), (string)vol["fade"]);
|
||||
else
|
||||
vol["fade"] = (Util.EasingFunction.Ease)vol["fade"];
|
||||
PreProcessSpecialEntity(vol, volumeChangeModel);
|
||||
}
|
||||
|
||||
foreach (var section in data.beatmapSections)
|
||||
{
|
||||
section["sectionName"] = (string)section["sectionName"];
|
||||
section["isCheckpoint"] = (bool)section["isCheckpoint"];
|
||||
section["startPerfect"] = (bool)section["startPerfect"];
|
||||
section["breakSection"] = (bool)section["breakSection"];
|
||||
section["extendsPrevious"] = (bool)section["extendsPrevious"];
|
||||
section["sectionWeight"] = (float)section["sectionWeight"];
|
||||
PreProcessSpecialEntity(section, sectionMarkModel);
|
||||
}
|
||||
|
||||
//go thru each property of the model beatmap and add any missing keyvalue pair
|
||||
|
|
Binary file not shown.
|
@ -1,40 +1,40 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3433660309
|
||||
CRC: 2726306962
|
||||
AssetBundleManifest:
|
||||
AssetBundleInfos:
|
||||
Info_0:
|
||||
Name: karate/common
|
||||
Name: ctrpillow/common
|
||||
Dependencies: {}
|
||||
Info_1:
|
||||
Name: ntrsamurai/common
|
||||
Name: karate/common
|
||||
Dependencies: {}
|
||||
Info_2:
|
||||
Name: agbmarcher/common
|
||||
Dependencies: {}
|
||||
Info_3:
|
||||
Name: ctrcatchy/common
|
||||
Dependencies: {}
|
||||
Info_4:
|
||||
Name: ntrdj/common
|
||||
Dependencies:
|
||||
Dependency_0: rvldate/common
|
||||
Info_5:
|
||||
Info_4:
|
||||
Name: ctrpillow/locale.en
|
||||
Dependencies: {}
|
||||
Info_5:
|
||||
Name: ntrsamurai/common
|
||||
Dependencies: {}
|
||||
Info_6:
|
||||
Name: rvlbooks/locale.en
|
||||
Name: ntridol/common
|
||||
Dependencies: {}
|
||||
Info_7:
|
||||
Name: ntridol/locale.jp
|
||||
Name: rvlbooks/locale.en
|
||||
Dependencies: {}
|
||||
Info_8:
|
||||
Name: ctrpillow/common
|
||||
Name: ntridol/locale.jp
|
||||
Dependencies: {}
|
||||
Info_9:
|
||||
Name: rvlbooks/common
|
||||
Dependencies: {}
|
||||
Info_10:
|
||||
Name: ntridol/common
|
||||
Name: ctrcatchy/common
|
||||
Dependencies: {}
|
||||
Info_11:
|
||||
Name: agbmarcher/locale.en
|
||||
|
@ -58,162 +58,162 @@ AssetBundleManifest:
|
|||
Name: ntrsamurai/locale.en
|
||||
Dependencies: {}
|
||||
Info_18:
|
||||
Name: rvlbadminton/common
|
||||
Dependencies: {}
|
||||
Info_19:
|
||||
Name: agbghost/common
|
||||
Dependencies: {}
|
||||
Info_20:
|
||||
Name: agbclap/common
|
||||
Dependencies: {}
|
||||
Info_21:
|
||||
Name: ctrteppan/common
|
||||
Dependencies: {}
|
||||
Info_22:
|
||||
Name: rvldough/common
|
||||
Dependencies: {}
|
||||
Info_23:
|
||||
Name: rvlseesaw/common
|
||||
Dependencies: {}
|
||||
Info_24:
|
||||
Name: rvlfork/common
|
||||
Dependencies: {}
|
||||
Info_25:
|
||||
Name: mobtrick/common
|
||||
Dependencies: {}
|
||||
Info_26:
|
||||
Name: rvlinterview/locale.en
|
||||
Dependencies: {}
|
||||
Info_27:
|
||||
Name: rvlseal/locale.en
|
||||
Dependencies: {}
|
||||
Info_28:
|
||||
Name: agbtoss/common
|
||||
Dependencies: {}
|
||||
Info_29:
|
||||
Name: ntrassembly/common
|
||||
Dependencies: {}
|
||||
Info_30:
|
||||
Name: rvlinterview/common
|
||||
Dependencies: {}
|
||||
Info_31:
|
||||
Name: rvlrotation/common
|
||||
Dependencies: {}
|
||||
Info_32:
|
||||
Name: agbhair/common
|
||||
Dependencies: {}
|
||||
Info_33:
|
||||
Name: ctrinterpreter/common
|
||||
Dependencies: {}
|
||||
Info_34:
|
||||
Name: rvllegs/common
|
||||
Dependencies: {}
|
||||
Info_35:
|
||||
Name: rvlbadminton/locale.en
|
||||
Dependencies: {}
|
||||
Info_36:
|
||||
Name: pcosomen/common
|
||||
Dependencies: {}
|
||||
Info_37:
|
||||
Name: ctrintro/common
|
||||
Dependencies: {}
|
||||
Info_38:
|
||||
Name: agbquiz/common
|
||||
Dependencies:
|
||||
Dependency_0: karate/common
|
||||
Info_39:
|
||||
Name: ntrshugyo/locale.en
|
||||
Dependencies: {}
|
||||
Info_40:
|
||||
Name: agboffbeat/common
|
||||
Dependencies: {}
|
||||
Info_41:
|
||||
Name: ctrbear/common
|
||||
Dependencies: {}
|
||||
Info_42:
|
||||
Name: ntrninja/common
|
||||
Dependencies: {}
|
||||
Info_43:
|
||||
Name: ntrsoccer/common
|
||||
Dependencies: {}
|
||||
Info_44:
|
||||
Name: ntrbackbeat/common
|
||||
Info_19:
|
||||
Name: rvlfork/common
|
||||
Dependencies: {}
|
||||
Info_45:
|
||||
Name: rvlrocket/common
|
||||
Info_20:
|
||||
Name: rvlseal/locale.en
|
||||
Dependencies: {}
|
||||
Info_46:
|
||||
Name: ntrstomp/common
|
||||
Info_21:
|
||||
Name: agbspacedance/locale.jp
|
||||
Dependencies: {}
|
||||
Info_47:
|
||||
Name: agbspacedance/common
|
||||
Info_22:
|
||||
Name: rvlseal/common
|
||||
Dependencies: {}
|
||||
Info_48:
|
||||
Info_23:
|
||||
Name: agbclap/common
|
||||
Dependencies: {}
|
||||
Info_24:
|
||||
Name: ntrshugyo/locale.en
|
||||
Dependencies: {}
|
||||
Info_25:
|
||||
Name: ntrninja/common
|
||||
Dependencies: {}
|
||||
Info_26:
|
||||
Name: agbbatter/common
|
||||
Dependencies:
|
||||
Dependency_0: karate/common
|
||||
Info_49:
|
||||
Name: rvldate/common
|
||||
Dependencies:
|
||||
Dependency_0: ntrdj/common
|
||||
Info_50:
|
||||
Name: ntrboxshow/common
|
||||
Dependencies: {}
|
||||
Info_51:
|
||||
Name: agbexplode/common
|
||||
Dependencies: {}
|
||||
Info_52:
|
||||
Name: ntrcork/common
|
||||
Dependencies: {}
|
||||
Info_53:
|
||||
Info_27:
|
||||
Name: pcomeat/common
|
||||
Dependencies: {}
|
||||
Info_54:
|
||||
Name: ntrsoccer/locale.en
|
||||
Info_28:
|
||||
Name: rvldough/common
|
||||
Dependencies: {}
|
||||
Info_55:
|
||||
Name: agbspacedance/locale.jp
|
||||
Info_29:
|
||||
Name: rvlrocket/common
|
||||
Dependencies: {}
|
||||
Info_56:
|
||||
Name: rvldrum/common
|
||||
Info_30:
|
||||
Name: ctrinterpreter/common
|
||||
Dependencies: {}
|
||||
Info_57:
|
||||
Name: ntrtunnel/locale.en
|
||||
Dependencies: {}
|
||||
Info_58:
|
||||
Name: rvlseal/common
|
||||
Dependencies: {}
|
||||
Info_59:
|
||||
Name: ntrboxshow/locale.en
|
||||
Dependencies: {}
|
||||
Info_60:
|
||||
Name: ntrpingpong/common
|
||||
Dependencies: {}
|
||||
Info_61:
|
||||
Name: ntrtunnel/common
|
||||
Dependencies: {}
|
||||
Info_62:
|
||||
Name: ntrshugyo/common
|
||||
Dependencies: {}
|
||||
Info_63:
|
||||
Name: ntrchorus/common
|
||||
Dependencies: {}
|
||||
Info_64:
|
||||
Info_31:
|
||||
Name: rvlseesaw/locale.en
|
||||
Dependencies: {}
|
||||
Info_65:
|
||||
Info_32:
|
||||
Name: rvlseesaw/common
|
||||
Dependencies: {}
|
||||
Info_33:
|
||||
Name: agbwizard/common
|
||||
Dependencies: {}
|
||||
Info_66:
|
||||
Info_34:
|
||||
Name: rvldrum/common
|
||||
Dependencies: {}
|
||||
Info_35:
|
||||
Name: agbtoss/common
|
||||
Dependencies: {}
|
||||
Info_36:
|
||||
Name: rvlinterview/common
|
||||
Dependencies: {}
|
||||
Info_37:
|
||||
Name: ntrbackbeat/common
|
||||
Dependencies: {}
|
||||
Info_38:
|
||||
Name: rvlinterview/locale.en
|
||||
Dependencies: {}
|
||||
Info_39:
|
||||
Name: agbexplode/common
|
||||
Dependencies: {}
|
||||
Info_40:
|
||||
Name: rvlrotation/locale.en
|
||||
Dependencies: {}
|
||||
Info_41:
|
||||
Name: ctrteppan/common
|
||||
Dependencies: {}
|
||||
Info_42:
|
||||
Name: ctrbear/common
|
||||
Dependencies: {}
|
||||
Info_43:
|
||||
Name: ntrboxshow/locale.en
|
||||
Dependencies: {}
|
||||
Info_44:
|
||||
Name: agbhair/common
|
||||
Dependencies: {}
|
||||
Info_45:
|
||||
Name: rvlbadminton/common
|
||||
Dependencies: {}
|
||||
Info_46:
|
||||
Name: rvllegs/common
|
||||
Dependencies: {}
|
||||
Info_47:
|
||||
Name: rvlbadminton/locale.en
|
||||
Dependencies: {}
|
||||
Info_48:
|
||||
Name: agbtap/common
|
||||
Dependencies:
|
||||
Dependency_0: ntridol/common
|
||||
Info_67:
|
||||
Info_49:
|
||||
Name: ntrchorus/locale.en
|
||||
Dependencies: {}
|
||||
Info_68:
|
||||
Name: rvlrotation/locale.en
|
||||
Info_50:
|
||||
Name: agbspacedance/common
|
||||
Dependencies: {}
|
||||
Info_69:
|
||||
Info_51:
|
||||
Name: rvldate/common
|
||||
Dependencies:
|
||||
Dependency_0: ntrdj/common
|
||||
Info_52:
|
||||
Name: rvlrotation/common
|
||||
Dependencies: {}
|
||||
Info_53:
|
||||
Name: ntrboxshow/common
|
||||
Dependencies: {}
|
||||
Info_54:
|
||||
Name: ntrassembly/common
|
||||
Dependencies: {}
|
||||
Info_55:
|
||||
Name: ntrpingpong/common
|
||||
Dependencies: {}
|
||||
Info_56:
|
||||
Name: agbquiz/common
|
||||
Dependencies:
|
||||
Dependency_0: karate/common
|
||||
Info_57:
|
||||
Name: ctrintro/common
|
||||
Dependencies: {}
|
||||
Info_58:
|
||||
Name: agboffbeat/common
|
||||
Dependencies: {}
|
||||
Info_59:
|
||||
Name: mobtrick/common
|
||||
Dependencies: {}
|
||||
Info_60:
|
||||
Name: ntrcork/common
|
||||
Dependencies: {}
|
||||
Info_61:
|
||||
Name: ntrchorus/common
|
||||
Dependencies: {}
|
||||
Info_62:
|
||||
Name: rvllegs/locale.en
|
||||
Dependencies: {}
|
||||
Info_63:
|
||||
Name: ntrshugyo/common
|
||||
Dependencies: {}
|
||||
Info_64:
|
||||
Name: pcosomen/common
|
||||
Dependencies: {}
|
||||
Info_65:
|
||||
Name: ntrstomp/common
|
||||
Dependencies: {}
|
||||
Info_66:
|
||||
Name: agbghost/common
|
||||
Dependencies: {}
|
||||
Info_67:
|
||||
Name: ntrtunnel/locale.en
|
||||
Dependencies: {}
|
||||
Info_68:
|
||||
Name: ntrtunnel/common
|
||||
Dependencies: {}
|
||||
Info_69:
|
||||
Name: ntrsoccer/locale.en
|
||||
Dependencies: {}
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 3295541411
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 7a6ba1a59eb400a7c52f9daf4fe9b3dd
|
||||
Hash: d691f8e7ab026ae0af6a7d5b7ae9768b
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 4f2ec9d4a37fcaf8265a07a3a5b7905b
|
||||
|
@ -96,4 +96,4 @@ Assets:
|
|||
- Assets/Resources/Sprites/Games/Spaceball/baseball.png
|
||||
- Assets/Resources/Sprites/Games/Spaceball/Animations/Idle.anim
|
||||
Dependencies:
|
||||
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/karate/common
|
||||
- C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/karate/common
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3399159176
|
||||
CRC: 4285283603
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 44c3bdbc8066d8b9f8d29f107c6df42d
|
||||
Hash: b90d22e37d42b5cc71409ec1671da401
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: b7dda81a5a0adc681edb9e6a78b49c82
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3952915582
|
||||
CRC: 2706586621
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 6bbf6024922d57739466e33aae70becb
|
||||
Hash: 38c8b8fc314a6dbc223338bed4d0ec90
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 6ab6f5dbbbc64091fe41d0a8194baa43
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 1219842047
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: a01397878cd927fcdf94e9a92868b4c5
|
||||
Hash: d3ecaaaf4e32380396f248076d073d1f
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 7d376826375f2c77db0d94db3474ea48
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 388204884
|
||||
CRC: 3910519356
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 258bdeeaf15739d0b2cda5ee4321e42f
|
||||
Hash: ab8866c439462ff8003599378ddda237
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: b20f138d4c27c64a38b438efe12d137f
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 475114992
|
||||
CRC: 2776406185
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 00245f07ed1e60e78624a147c6070fcf
|
||||
Hash: 2e302cf48b40bc531bd32b21fc9e3dc2
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 78b02268f01f8b6a77a608289ecb9d38
|
||||
|
@ -108,4 +108,4 @@ Assets:
|
|||
- Assets/Resources/Sfx/games/quizShow/hostDPad.ogg
|
||||
- Assets/Resources/Sfx/games/quizShow/hostExplode.ogg
|
||||
Dependencies:
|
||||
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/karate/common
|
||||
- C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/karate/common
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 867686949
|
||||
CRC: 940254835
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 679d9c125a38f42ee552a09b2d8450ca
|
||||
Hash: 1bc9632ce0bab6e32880981e2618e8b3
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: ddb2c4a70034b0784bb73c06ec09460c
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 3317229876
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: feadaf1bb10efdd7ecb80e3bdf44f16f
|
||||
Hash: b67be0d3f6a8b7b385b6d81c034e7e05
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 15c41fad7e66ce2236de71530bb543ef
|
||||
|
@ -115,4 +115,4 @@ Assets:
|
|||
- Assets/Resources/Sprites/Games/TapTrial/Animations/Giraffe/Giraffe.controller
|
||||
- Assets/Resources/Sprites/Games/TapTrial/Animations/girl_bop/Bop.anim
|
||||
Dependencies:
|
||||
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/ntridol/common
|
||||
- C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/ntridol/common
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 2283269108
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 54dc5cc4467153fc42d7fec3c0ff99cf
|
||||
Hash: bb54fc1d73dc1a84c27dae5905a5cc81
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 545a4a8276e4957bfa14c0b989e80093
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 1308388737
|
||||
CRC: 435520197
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: a2bdf947ec7535dd0f3a7ab45fc9b661
|
||||
Hash: a6b7c0a19453a1a0398bcb15e81ed8f5
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 01ef6a58e233b3cb8a54b2d9152d3e5e
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 763472146
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 5941e1757fea6a56f10397ebd34c5ae8
|
||||
Hash: ecb00cf092701b5128cc9bf5b020bcbe
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: cb525cb072c33c8e5692f23a42da04e4
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 608430613
|
||||
CRC: 3779117211
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: c11b541d6d261d4dd9290709670eab03
|
||||
Hash: 3df64602dae1644c40a73e63047b5d91
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 6a87535638e108a5e3588d5397c1cf0a
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 2347972319
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: d7df6dc0bc2560d650eb8f8469f30c57
|
||||
Hash: 812f8de04338cbb289b3aeb7d0c1255a
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 05da4ec6b369274f98afefde205bcdc6
|
||||
|
|
Binary file not shown.
|
@ -1,12 +1,12 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 1567785116
|
||||
CRC: 1820358078
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: f8bb872517b07560a31ba951ad28e9dc
|
||||
Hash: 43643198b112932a4fdf0b1da91e8a08
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: fcb38c44c374dbbc10b37e4f25d6f505
|
||||
Hash: a7c568f5d3a8f80a33b7dd26fe5a006a
|
||||
HashAppended: 0
|
||||
ClassTypes:
|
||||
- Class: 1
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3225447570
|
||||
CRC: 1678427662
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 695f4d61fc4319a10268a5d63bf73579
|
||||
Hash: 61fc8edb7d12ddb21197f9f6d61e6618
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 460be591ec703ee0603b7b23c7810e85
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 1103251951
|
||||
CRC: 155563867
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: ae870462bbc5aa668ce9e7d382093efa
|
||||
Hash: 97088bda9b9c1bf5d6f7e5b3edd169e0
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: b1f31a5996a0bf184f0808b1ad67ba96
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2939459992
|
||||
CRC: 2722877296
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 17cb122eec6a1b815712f4e4c4117aae
|
||||
Hash: b6bd878ea9f8df0fcf2bc0c4581be791
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 4f48d293ee91ce284b1290faa2bbe09e
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 3751846126
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: ff172c079432477f741da8d24ff06529
|
||||
Hash: 93a0fe7ec76132ff5555c8a88ffb4c04
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 4f8cce0d9f727657ad6578352d0da0f2
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 68896505
|
||||
CRC: 3878722035
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 05c17b1bcb126713b672a05f36a08689
|
||||
Hash: 177c5870d328f716aa0421272c9470f9
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: f54a1062817f77cb49f442d230fcc49b
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 277471755
|
||||
CRC: 103302383
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 8941246d8918d731a7ef3b29f81b75ac
|
||||
Hash: a8013c8acab6ff6c0e3d077b6f6624e2
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 7f5da0c07e5977d0ce994513d51f7db5
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 1725841183
|
||||
CRC: 355105624
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 35a167bba48cbe81b565de21cc5212c8
|
||||
Hash: d617b45ed083d248765f851fdd4edc8b
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 72449c958dbfd650c57600192572509b
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 995028374
|
||||
CRC: 3381801303
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 43b90ac6b27481de91aff4c51e102d9d
|
||||
Hash: 2f51d8702488d5789c7b6cf29d74fa86
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 8f8d4a3f1f8c01578a5ce13063d68dc6
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2815867801
|
||||
CRC: 2871784295
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 2e097fe67ea099f1d8782df286912715
|
||||
Hash: a320d8fdb11da9cf2bf295285a4a38a2
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 33a4c8442a7cb8448a93c2fa6c1d77eb
|
||||
|
@ -125,4 +125,4 @@ Assets:
|
|||
- Assets/Resources/Sfx/games/djSchool/scratchoHeyLoud1.ogg
|
||||
- Assets/Resources/Sprites/Games/DJSchool/Animations/Student/IdleBop.anim
|
||||
Dependencies:
|
||||
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/rvldate/common
|
||||
- C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/rvldate/common
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2241404862
|
||||
CRC: 4034070136
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 76052054b904aef084d5707037f47046
|
||||
Hash: 2d6f852362177521846ca2d732523b32
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 22daffce395c47caabb8dcd800097d0d
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3533234474
|
||||
CRC: 3182147957
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 75fc3826026a12e7d7956e4f3168c0fc
|
||||
Hash: a0076561256160326184dfb7ad07d97c
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 2f052be846612c7db995ad748fa5776c
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2551889369
|
||||
CRC: 3439164552
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: e6e89066cb6285a98253746ce6d2f1ab
|
||||
Hash: dd77521c6af51aacb6f1ea5fdc19bbd1
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: a60012dadf81e61c9a13d1a8e11bb664
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2132977970
|
||||
CRC: 1911076014
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: edb9d0bb86ae4138ec11451db3f46184
|
||||
Hash: 49426dfd99db6a07775ec45a2d4591ce
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 10404da84d789c089050e7869762db38
|
||||
|
|
|
@ -3,7 +3,7 @@ CRC: 3939051657
|
|||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: ce985f100d2f5d0940fb613bd86f4f91
|
||||
Hash: d7238faee24ab1af3a24e18f7d48b444
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: c21d61fe394c58399df3c6fb5c7c99b3
|
||||
|
|
Binary file not shown.
|
@ -1,12 +1,12 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 2084499915
|
||||
CRC: 2709514228
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 4e4f6ce08bdbb03598b9b2aff62a29c8
|
||||
Hash: b0e0b074d6e4e7939ca79e071af768bb
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 91fa2f9c7ee652a4a4a405c50ad96d66
|
||||
Hash: 069e62d6c3f2f01ee43f5b820760a801
|
||||
HashAppended: 0
|
||||
ClassTypes:
|
||||
- Class: 1
|
||||
|
@ -96,10 +96,8 @@ Assets:
|
|||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Givers/TwoGiver/TwoGiveIn.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Givers/OneGiver/OneIdle.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Monk/Holder/IdleRight.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/CloudMonkey/CloudMonkeyAnim.controller
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Monk/Eat.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Monk/Stache/Stache3Bop.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/CloudMonkey/Bop.anim
|
||||
- Assets/Resources/Games/munchyMonk.prefab
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Monk/NoseRed.anim
|
||||
- Assets/Resources/Sprites/Games/MunchyMonk/Animations/Monk/Holder/GoLeft.anim
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 3997452959
|
||||
CRC: 1127646842
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: d2ac87099fff9a75acc859600a4abcf9
|
||||
Hash: c0a60a571806bf4973a9611111e1247d
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: 178c8be186c9c9195df8cbc397bf239f
|
||||
|
|
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
ManifestFileVersion: 0
|
||||
CRC: 1886149944
|
||||
CRC: 1926041378
|
||||
Hashes:
|
||||
AssetFileHash:
|
||||
serializedVersion: 2
|
||||
Hash: 744950f261224b05b278d9aa6c85804d
|
||||
Hash: 8b0a19c55dd3bfc2277888737c316393
|
||||
TypeTreeHash:
|
||||
serializedVersion: 2
|
||||
Hash: ee5a1c4d119c5785c396deba9ffbfd13
|
||||
|
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue