Merge pull request #467 from Rapandrasmus/WorkingDoughRework

Working Dough rework
This commit is contained in:
minenice55 2023-06-13 14:56:58 +00:00 committed by GitHub
commit bdef3f95c3
133 changed files with 2270 additions and 4458 deletions

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &8898776425258279798 --- !u!4 &8898776425258279798
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -28,7 +28,9 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 4.49, y: 0.602, z: 0} m_LocalPosition: {x: 4.49, y: 0.602, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: [] m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3429292909572810764}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -43,6 +45,7 @@ SpriteRenderer:
m_CastShadows: 0 m_CastShadows: 0
m_ReceiveShadows: 0 m_ReceiveShadows: 0
m_DynamicOccludee: 1 m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1 m_MotionVectors: 1
m_LightProbeUsage: 1 m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
@ -95,19 +98,89 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3} m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
inList: 0 offset: {x: 0, y: 0, z: 0}
state: gandw: {fileID: 6300713999374807912}
gameObject: {fileID: 0} --- !u!1 &6300713999374807912
early: 0 GameObject:
perfect: 0 m_ObjectHideFlags: 0
late: 0 m_CorrespondingSourceObject: {fileID: 0}
createBeat: 0 m_PrefabInstance: {fileID: 0}
eligibleHitsList: [] m_PrefabAsset: {fileID: 0}
aceTimes: 0 serializedVersion: 6
isEligible: 0 m_Component:
triggersAutoplay: 1 - component: {fileID: 3429292909572810764}
startBeat: 0 - component: {fileID: 4284967863880477732}
firstBeatsToTravel: 8 m_Layer: 0
secondBeatsToTravel: 2 m_Name: GANDWPanic
thirdBeatsToTravel: 1 m_TagString: Untagged
currentCurveStage: 0 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

View file

@ -17,7 +17,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &1939846946620489509 --- !u!4 &1939846946620489509
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -28,6 +28,7 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 4.49, y: 0.602, z: 0} m_LocalPosition: {x: 4.49, y: 0.602, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
@ -43,6 +44,7 @@ SpriteRenderer:
m_CastShadows: 0 m_CastShadows: 0
m_ReceiveShadows: 0 m_ReceiveShadows: 0
m_DynamicOccludee: 1 m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1 m_MotionVectors: 1
m_LightProbeUsage: 1 m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
@ -95,19 +97,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3} m_Script: {fileID: 11500000, guid: 90b8363d14ba26043977a371000195e9, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
inList: 0 offset: {x: 0, y: -0.1, z: 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

View file

@ -1,5 +1,89 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %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 --- !u!1 &6968929825102689508
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -28,7 +112,9 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -2.25, y: 1.23, z: 0} m_LocalPosition: {x: -2.25, y: 1.23, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: [] m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8343967659989156093}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -43,6 +129,7 @@ SpriteRenderer:
m_CastShadows: 0 m_CastShadows: 0
m_ReceiveShadows: 0 m_ReceiveShadows: 0
m_DynamicOccludee: 1 m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1 m_MotionVectors: 1
m_LightProbeUsage: 1 m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
@ -95,16 +182,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f589a35cd43c5a146b78729182754157, type: 3} m_Script: {fileID: 11500000, guid: f589a35cd43c5a146b78729182754157, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
inList: 0 offset: {x: 0, y: 0, z: 0}
state: gandw: {fileID: 127416993571198491}
gameObject: {fileID: 0}
early: 0
perfect: 0
late: 0
createBeat: 0
eligibleHitsList: []
aceTimes: 0
isEligible: 0
triggersAutoplay: 1
startBeat: 0
currentFlyingStage: 0

View file

@ -28,7 +28,9 @@ Transform:
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0.22084074, y: -0.63551337, z: 0} m_LocalPosition: {x: -0.22084074, y: -0.63551337, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 1} m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: [] m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6137996491949804115}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_RootOrder: 0 m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -43,6 +45,7 @@ SpriteRenderer:
m_CastShadows: 0 m_CastShadows: 0
m_ReceiveShadows: 0 m_ReceiveShadows: 0
m_DynamicOccludee: 1 m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1 m_MotionVectors: 1
m_LightProbeUsage: 1 m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1 m_ReflectionProbeUsage: 1
@ -95,19 +98,89 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 6334d8b26ef6dcc4b9a03aa49dfa2d70, type: 3} m_Script: {fileID: 11500000, guid: 6334d8b26ef6dcc4b9a03aa49dfa2d70, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
inList: 0 offset: {x: 0, y: 0, z: 0}
state: gandw: {fileID: 5437919248584760982}
gameObject: {fileID: 0} --- !u!1 &5437919248584760982
early: 0 GameObject:
perfect: 0 m_ObjectHideFlags: 0
late: 0 m_CorrespondingSourceObject: {fileID: 0}
createBeat: 0 m_PrefabInstance: {fileID: 0}
eligibleHitsList: [] m_PrefabAsset: {fileID: 0}
aceTimes: 0 serializedVersion: 6
isEligible: 0 m_Component:
triggersAutoplay: 1 - component: {fileID: 6137996491949804115}
startBeat: 0 - component: {fileID: 481947469191582981}
firstBeatsToTravel: 0.5 m_Layer: 0
secondBeatsToTravel: 0.5 m_Name: GANDWPanic
goingDown: 0 m_TagString: Untagged
deletingAutomatically: 1 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

View file

@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 0b9e88c13727472458ee17e02959f7ae guid: 336b46599f2c6b84ba7f63c279286308
AudioImporter: AudioImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 6 serializedVersion: 6
@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 11e4ffd422e5041449bb6a649dc75d1e guid: 9710e1262fd3ce74dadf56c39bc9bb49
AudioImporter: AudioImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 6 serializedVersion: 6
@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 6f663de6b1d9fdf4c830a185c770a626 guid: f04673511d9d5db46a235de8280cfd5f
AudioImporter: AudioImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 6 serializedVersion: 6
@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 8e093e5d923d6eb40baf690943492453 guid: a6753eb2b7364a0489f6ae13142a7ef7
AudioImporter: AudioImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 6 serializedVersion: 6
@ -18,5 +18,5 @@ AudioImporter:
ambisonic: 0 ambisonic: 0
3D: 1 3D: 1
userData: userData:
assetBundleName: rvldough/common assetBundleName:
assetBundleVariant: assetBundleVariant:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View file

@ -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:

View 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:

View 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:

View 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:

View 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:

View 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:

View file

@ -37,9 +37,7 @@ namespace HeavenStudio.Games.Loaders
}, },
new GameAction("passTurn", "Pass Turn") new GameAction("passTurn", "Pass Turn")
{ {
function = delegate { var e = eventCaller.currentEntity; RhythmTweezers.instance.PassTurn(e.beat, e.length); }, preFunction = delegate { var e = eventCaller.currentEntity; RhythmTweezers.PrePassTurn(e.beat); },
resizable = true,
preFunction = delegate { var e = eventCaller.currentEntity; RhythmTweezers.PrePassTurn(e.beat, e.length); }
}, },
new GameAction("next vegetable", "Swap Vegetable") new GameAction("next vegetable", "Swap Vegetable")
{ {
@ -349,9 +347,13 @@ namespace HeavenStudio.Games
crHandlerInstance.StartInterval(beat, interval); crHandlerInstance.StartInterval(beat, interval);
} }
public void PassTurn(double beat, float length) public void PassTurn(double beat)
{ {
if (crHandlerInstance.queuedEvents.Count > 0) if (crHandlerInstance.queuedEvents.Count > 0)
{
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{
new BeatAction.Action(beat - 1, delegate
{ {
hairsLeft = crHandlerInstance.queuedEvents.Count; hairsLeft = crHandlerInstance.queuedEvents.Count;
foreach (var crEvent in crHandlerInstance.queuedEvents) foreach (var crEvent in crHandlerInstance.queuedEvents)
@ -359,34 +361,58 @@ namespace HeavenStudio.Games
if (crEvent.tag == "Hair") if (crEvent.tag == "Hair")
{ {
Hair hairToInput = spawnedHairs.Find(x => x.createBeat == crEvent.beat); Hair hairToInput = spawnedHairs.Find(x => x.createBeat == crEvent.beat);
hairToInput.StartInput(beat + length, crEvent.relativeBeat); hairToInput.StartInput(beat, crEvent.relativeBeat);
} }
else if (crEvent.tag == "Long") else if (crEvent.tag == "Long")
{ {
LongHair hairToInput = spawnedLongs.Find(x => x.createBeat == crEvent.beat); LongHair hairToInput = spawnedLongs.Find(x => x.createBeat == crEvent.beat);
hairToInput.StartInput(beat + length, crEvent.relativeBeat); hairToInput.StartInput(beat, crEvent.relativeBeat);
}
}
crHandlerInstance.queuedEvents.Clear();
}),
new BeatAction.Action(beat, delegate
{
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(); crHandlerInstance.queuedEvents.Clear();
} }
})
});
}
} }
public static void PrePassTurn(double beat, float length) public static void PrePassTurn(double beat)
{ {
if (GameManager.instance.currentGame == "rhythmTweezers") if (GameManager.instance.currentGame == "rhythmTweezers")
{ {
instance.SetPassTurnValues(beat + length); instance.SetPassTurnValues(beat);
instance.PassTurn(beat);
} }
else else
{ {
passedTurns.Add(beat + length); passedTurns.Add(beat);
} }
} }
private void SetPassTurnValues(double startBeat) private void SetPassTurnValues(double startBeat)
{ {
if (crHandlerInstance.intervalLength <= 0) return; if (crHandlerInstance.intervalLength <= 0) return;
passTurnBeat = startBeat - 1f; passTurnBeat = startBeat - 1;
passTurnEndBeat = startBeat + crHandlerInstance.intervalLength; passTurnEndBeat = startBeat + crHandlerInstance.intervalLength;
} }
@ -489,6 +515,7 @@ namespace HeavenStudio.Games
foreach (var turn in passedTurns) foreach (var turn in passedTurns)
{ {
SetPassTurnValues(turn); SetPassTurnValues(turn);
PassTurn(turn);
} }
passedTurns.Clear(); passedTurns.Clear();
} }

View file

@ -113,12 +113,12 @@ namespace HeavenStudio.Games.Loaders
}, },
new GameAction("passTurn", "Pass Turn") new GameAction("passTurn", "Pass Turn")
{ {
function = delegate { var e = eventCaller.currentEntity; Rockers.instance.PassTurn(e.beat, e.length, e["moveCamera"]); }, preFunction = delegate { var e = eventCaller.currentEntity; Rockers.PrePassTurn(e.beat, e["moveCamera"]); },
resizable = true,
parameters = new List<Param> parameters = new List<Param>
{ {
new Param("moveCamera", true, "Move Camera", "Should the camera move?") new Param("moveCamera", true, "Move Camera", "Should the camera move?")
} },
preFunctionLength = 1
}, },
new GameAction("cmon", "C'mon!") new GameAction("cmon", "C'mon!")
{ {
@ -322,6 +322,7 @@ namespace HeavenStudio.Games
using Scripts_Rockers; using Scripts_Rockers;
using Starpelly; using Starpelly;
using System; using System;
using UnityEngine.UIElements;
public class Rockers : Minigame public class Rockers : Minigame
{ {
@ -529,6 +530,14 @@ namespace HeavenStudio.Games
return tempEvents; return tempEvents;
} }
struct QueuedPassTurn
{
public double beat;
public bool moveCamera;
}
private static List<QueuedPassTurn> passedTurns = new List<QueuedPassTurn>();
private void Start() private void Start()
{ {
if (PlayerInput.Pressing()) if (PlayerInput.Pressing())
@ -593,6 +602,15 @@ namespace HeavenStudio.Games
queuedPreInterval.Clear(); queuedPreInterval.Clear();
} }
if (passedTurns.Count > 0)
{
foreach (var turn in passedTurns)
{
PassTurn(turn.beat, turn.moveCamera);
}
passedTurns.Clear();
}
float normalizedBeat = cond.GetPositionFromBeat(cameraMoveBeat, 1f); float normalizedBeat = cond.GetPositionFromBeat(cameraMoveBeat, 1f);
if (normalizedBeat >= 0f && normalizedBeat <= 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) if (crHandlerInstance.queuedEvents.Count > 0)
{ {
BeatAction.New(instance.gameObject, new List<BeatAction.Action>() 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; List<CallAndResponseHandler.CallAndResponseEvent> crEvents = crHandlerInstance.queuedEvents;
@ -988,26 +1021,51 @@ namespace HeavenStudio.Games
if (crEvent.tag == "riff") if (crEvent.tag == "riff")
{ {
RockersInput riffComp = Instantiate(rockerInputRef, transform); 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"]); (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") else if (crEvent.tag == "bend")
{ {
RockerBendInput bendComp = Instantiate(rockerBendInputRef, transform); RockerBendInput bendComp = Instantiate(rockerBendInputRef, transform);
bendComp.Init(crEvent["Pitch"], beat, length + crEvent.relativeBeat); bendComp.Init(crEvent["Pitch"], beat, crEvent.relativeBeat);
ScheduleInput(beat, length + crEvent.relativeBeat + crEvent.length, InputType.DIRECTION_UP, JustUnBend, UnBendMiss, Empty); ScheduleInput(beat, crEvent.relativeBeat + crEvent.length, InputType.DIRECTION_UP, JustUnBend, UnBendMiss, Empty);
} }
} }
crHandlerInstance.queuedEvents.Clear(); 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) if (moveCamera)
{ {
lastTargetCameraX = GameCamera.additionalPosition.x; lastTargetCameraX = GameCamera.additionalPosition.x;
targetCameraX = Soshi.transform.localPosition.x; targetCameraX = Soshi.transform.localPosition.x;
cameraMoveBeat = beat; cameraMoveBeat = beat - 1;
} }
} }
} }

View file

@ -7,50 +7,34 @@ using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_WorkingDough namespace HeavenStudio.Games.Scripts_WorkingDough
{ {
public class BGBall : MonoBehaviour public class BGBall : SuperCurveObject
{ {
public double startBeat; private double startBeat = double.MinValue;
public float firstBeatsToTravel = 3f; private Path path;
public float secondBeatsToTravel = 1f; [SerializeField] private GameObject gandw;
public float thirdBeatsToTravel = 3f;
public enum CurveStage public void Init(double beat, bool hasGandw)
{ {
Conveyer = 0, startBeat = beat;
StartFall = 1, path = WorkingDough.instance.GetPath("BGBall");
Fall = 2 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() private void Update()
{ {
var cond = Conductor.instance; var cond = Conductor.instance;
float flyPos = 0f; if (cond.isPlaying && !cond.isPaused)
switch (currentCurveStage)
{ {
case CurveStage.Conveyer: double beat = cond.songPositionInBeats;
flyPos = cond.GetPositionFromBeat(startBeat, firstBeatsToTravel); if (startBeat != double.MinValue)
transform.position = firstCurve.GetPoint(flyPos);
if (flyPos > 1f)
{ {
currentCurveStage = CurveStage.StartFall; 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);
} }
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;
} }
} }
} }

View file

@ -7,55 +7,33 @@ using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_WorkingDough namespace HeavenStudio.Games.Scripts_WorkingDough
{ {
public enum FlyingStage public class NPCDoughBall : SuperCurveObject
{ {
EnteringUp = 0, private double startBeat = double.MinValue;
EnteringDown = 1, private Path path;
ExitingUp = 2, [SerializeField] private GameObject gandw;
ExitingDown = 3
public void Init(double beat, bool hasGandw)
{
startBeat = beat;
path = WorkingDough.instance.GetPath("NPCBall");
if (gandw != null) gandw.SetActive(hasGandw);
Update();
} }
public class NPCDoughBall : MonoBehaviour
{
public double startBeat;
public FlyingStage currentFlyingStage = FlyingStage.EnteringUp;
[NonSerialized] public BezierCurve3D enterUpCurve;
[NonSerialized] public BezierCurve3D enterDownCurve;
[NonSerialized] public BezierCurve3D exitUpCurve;
[NonSerialized] public BezierCurve3D exitDownCurve;
private void Update() private void Update()
{ {
var cond = Conductor.instance; var cond = Conductor.instance;
float flyPos = 0f; if (cond.isPlaying && !cond.isPaused)
{
switch (currentFlyingStage) { double beat = cond.songPositionInBeats;
case FlyingStage.EnteringUp: if (startBeat > double.MinValue)
flyPos = cond.GetPositionFromBeat(startBeat, 0.5f); {
transform.position = enterUpCurve.GetPoint(flyPos); Vector3 pos = GetPathPositionFromBeat(path, Math.Max(beat, startBeat), startBeat);
if (flyPos > 1f) currentFlyingStage = FlyingStage.EnteringDown; transform.position = pos;
break; if (beat >= startBeat + 2) Destroy(gameObject);
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;
} }
} }
} }

View file

@ -7,36 +7,199 @@ using HeavenStudio.Util;
namespace HeavenStudio.Games.Scripts_WorkingDough namespace HeavenStudio.Games.Scripts_WorkingDough
{ {
public class PlayerEnterDoughBall : MonoBehaviour public class PlayerEnterDoughBall : SuperCurveObject
{ {
public double startBeat; private enum State
public float firstBeatsToTravel = 0.5f; {
public float secondBeatsToTravel = 0.5f; None,
public bool goingDown = false; Entering,
public bool deletingAutomatically = true; Hit,
[NonSerialized] public BezierCurve3D firstCurve; Barely,
[NonSerialized] public BezierCurve3D secondCurve; 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() private void Update()
{ {
var cond = Conductor.instance; var cond = Conductor.instance;
float flyPos = 0f; if (cond.isPlaying && !cond.isPaused)
if (goingDown)
{ {
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); private void Just(PlayerActionEvent caller, float state)
if (flyPos > 1f) if (deletingAutomatically) GameObject.Destroy(gameObject); {
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 else
{ {
flyPos = cond.GetPositionFromBeat(startBeat, firstBeatsToTravel); SoundByte.PlayOneShotGame("workingDough/smallPlayer");
transform.position = firstCurve.GetPoint(flyPos); game.doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
if (flyPos > 1f) goingDown = true; }
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
{
SoundByte.PlayOneShotGame("workingDough/smallPlayer");
SoundByte.PlayOneShotGame("workingDough/hitSmallPlayer");
game.doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
}
bool 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) { }
} }
} }

View file

@ -15,25 +15,35 @@ namespace HeavenStudio.Games.Loaders
{ {
new GameAction("beat intervals", "Start Interval") 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); }, preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSetIntervalStart(e.beat, e.length); },
defaultLength = 8f, defaultLength = 8f,
resizable = true, resizable = true,
priority = 2 priority = 2,
}, },
new GameAction("small ball", "Small Ball") 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, false); },
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, false); },
defaultLength = 0.5f, 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") 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, e["hasGandw"]); },
preFunction = delegate { var e = eventCaller.currentEntity; WorkingDough.PreSpawnBall(e.beat, true); },
defaultLength = 0.5f, 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") new GameAction("launch spaceship", "Launch Spaceship")
{ {
@ -91,6 +101,11 @@ namespace HeavenStudio.Games.Loaders
defaultLength = 0.5f, defaultLength = 0.5f,
priority = 0 priority = 0
}, },
new GameAction("disableBG", "Toggle Background")
{
function = delegate { WorkingDough.instance.DisableBG(); },
defaultLength = 0.5f
}
}, },
new List<string>() {"rvl", "repeat"}, new List<string>() {"rvl", "repeat"},
"rvldough", "en", "rvldough", "en",
@ -103,6 +118,7 @@ namespace HeavenStudio.Games.Loaders
namespace HeavenStudio.Games namespace HeavenStudio.Games
{ {
using Scripts_WorkingDough; using Scripts_WorkingDough;
public class WorkingDough : Minigame public class WorkingDough : Minigame
{ {
[Header("Components")] [Header("Components")]
@ -113,22 +129,22 @@ namespace HeavenStudio.Games
[SerializeField] GameObject ballTransporterRightPlayer; //Close and open animations [SerializeField] GameObject ballTransporterRightPlayer; //Close and open animations
[SerializeField] GameObject ballTransporterLeftPlayer; //Close and open animations [SerializeField] GameObject ballTransporterLeftPlayer; //Close and open animations
[SerializeField] GameObject npcImpact; [SerializeField] GameObject npcImpact;
[SerializeField] GameObject playerImpact; public GameObject playerImpact;
[SerializeField] GameObject smallBallNPC; [SerializeField] GameObject smallBallNPC;
[SerializeField] GameObject bigBallNPC; [SerializeField] GameObject bigBallNPC;
[SerializeField] Transform ballHolder; [SerializeField] Transform ballHolder;
[SerializeField] SpriteRenderer arrowSRLeftNPC; [SerializeField] SpriteRenderer arrowSRLeftNPC;
[SerializeField] SpriteRenderer arrowSRRightNPC; [SerializeField] SpriteRenderer arrowSRRightNPC;
[SerializeField] SpriteRenderer arrowSRLeftPlayer; [SerializeField] SpriteRenderer arrowSRLeftPlayer;
[SerializeField] SpriteRenderer arrowSRRightPlayer; public SpriteRenderer arrowSRRightPlayer;
[SerializeField] GameObject NPCBallTransporters; [SerializeField] GameObject NPCBallTransporters;
[SerializeField] GameObject PlayerBallTransporters; [SerializeField] GameObject PlayerBallTransporters;
[SerializeField] GameObject playerEnterSmallBall; [SerializeField] GameObject playerEnterSmallBall;
[SerializeField] GameObject playerEnterBigBall; [SerializeField] GameObject playerEnterBigBall;
[SerializeField] GameObject missImpact; public GameObject missImpact;
[SerializeField] Transform breakParticleHolder; public Transform breakParticleHolder;
[SerializeField] GameObject breakParticleEffect; public GameObject breakParticleEffect;
[SerializeField] Animator backgroundAnimator; public Animator backgroundAnimator;
[SerializeField] Animator conveyerAnimator; [SerializeField] Animator conveyerAnimator;
[SerializeField] GameObject smallBGBall; [SerializeField] GameObject smallBGBall;
[SerializeField] GameObject bigBGBall; [SerializeField] GameObject bigBGBall;
@ -137,103 +153,114 @@ namespace HeavenStudio.Games
[SerializeField] Animator doughDudesHolderAnim; [SerializeField] Animator doughDudesHolderAnim;
[SerializeField] Animator gandwAnim; [SerializeField] Animator gandwAnim;
[SerializeField] private GameObject[] bgObjects;
private bool bgDisabled;
[Header("Variables")] [Header("Variables")]
public bool intervalStarted;
double intervalStartBeat;
float risingLength = 4f; float risingLength = 4f;
double risingStartBeat; double risingStartBeat;
float liftingLength = 4f; float liftingLength = 4f;
double liftingStartBeat; double liftingStartBeat;
public static float beatInterval = 8f;
float gandMovingLength = 4f; float gandMovingLength = 4f;
double gandMovingStartBeat; double gandMovingStartBeat;
public bool bigMode; public bool bigMode;
public bool bigModePlayer; public bool bigModePlayer;
static List<QueuedBall> queuedBalls = new List<QueuedBall>(); static List<QueuedBall> queuedBalls = new List<QueuedBall>();
static List<double> passedTurns = new List<double>();
struct QueuedBall struct QueuedBall
{ {
public double beat; public double beat;
public bool isBig; 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 spaceshipRisen = false;
public bool spaceshipRising = false; public bool spaceshipRising = false;
bool liftingDoughDudes; bool liftingDoughDudes;
string liftingAnimName; string liftingAnimName;
bool ballTriggerSetInterval = true;
bool gandwHasEntered = true; bool gandwHasEntered = true;
bool gandwMoving; bool gandwMoving;
string gandwMovingAnimName; string gandwMovingAnimName;
[Header("Curves")] [Header("Curves")]
public BezierCurve3D npcEnterUpCurve; [SerializeField] SuperCurveObject.Path[] ballBouncePaths;
public BezierCurve3D npcEnterDownCurve; new void OnDrawGizmos()
public BezierCurve3D npcExitUpCurve; {
public BezierCurve3D npcExitDownCurve; base.OnDrawGizmos();
public BezierCurve3D playerEnterUpCurve; foreach (SuperCurveObject.Path path in ballBouncePaths)
public BezierCurve3D playerEnterDownCurve; {
public BezierCurve3D playerExitUpCurve; if (path.preview)
public BezierCurve3D playerExitDownCurve; {
public BezierCurve3D playerMissCurveFirst; smallBallNPC.GetComponent<NPCDoughBall>().DrawEditorGizmo(path);
public BezierCurve3D playerMissCurveSecond; }
public BezierCurve3D playerBarelyCurveFirst; }
public BezierCurve3D playerBarelyCurveSecond; }
public BezierCurve3D playerWrongInputTooWeakFirstCurve; public SuperCurveObject.Path GetPath(string name)
public BezierCurve3D playerWrongInputTooWeakSecondCurve; {
public BezierCurve3D firstBGCurveBig; foreach (SuperCurveObject.Path path in ballBouncePaths)
public BezierCurve3D secondBGCurveBig; {
public BezierCurve3D thirdBGCurveBig; if (path.name == name)
public BezierCurve3D firstBGCurveSmall; {
public BezierCurve3D secondBGCurveSmall; return path;
public BezierCurve3D thirdBGCurveSmall; }
}
return default(SuperCurveObject.Path);
}
[Header("Resources")] [Header("Resources")]
public Sprite whiteArrowSprite; public Sprite whiteArrowSprite;
public Sprite redArrowSprite; public Sprite redArrowSprite;
public static WorkingDough instance; public static WorkingDough instance;
private static CallAndResponseHandler crHandlerInstance;
void Awake() void Awake()
{ {
if (crHandlerInstance == null)
{
crHandlerInstance = new CallAndResponseHandler(8);
}
instance = this; instance = this;
} }
void Start() void Start()
{ {
shouldMiss = true;
ballTriggerSetInterval = true;
conveyerAnimator.Play("ConveyerBelt", 0, 0); conveyerAnimator.Play("ConveyerBelt", 0, 0);
doughDudesHolderAnim.Play("OnGround", 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) public void SetIntervalStart(double beat, float interval)
{ {
Debug.Log("Start Interval"); if (!crHandlerInstance.IntervalIsActive())
if (!intervalStarted)
{ {
instance.ballTriggerSetInterval = false;
intervalStarted = true;
bigMode = false; bigMode = false;
BeatAction.New(ballTransporterLeftNPC, new List<BeatAction.Action>() BeatAction.New(ballTransporterLeftNPC, new List<BeatAction.Action>()
{ {
//Open player transporters new BeatAction.Action(beat - 1, delegate
new BeatAction.Action(beat + interval - 1f, delegate { {
ballTransporterLeftPlayer.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0); 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 { new BeatAction.Action(beat + interval - 1f, delegate {
ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0); ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
}), }),
new BeatAction.Action(beat + interval - 1f, delegate {
//End interval ballTransporterRightPlayer.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
new BeatAction.Action(beat + interval, delegate { intervalStarted = false; }), }),*/
new BeatAction.Action(beat + interval, delegate {ballTriggerSetInterval = true; }),
//Close npc transporters //Close npc transporters
new BeatAction.Action(beat + interval, delegate { new BeatAction.Action(beat + interval, delegate {
@ -243,6 +270,7 @@ namespace HeavenStudio.Games
bigMode = false; 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) 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 (!intervalStarted) ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightClose", 0, 0); }),
new BeatAction.Action(beat + interval + 1, delegate { if (gandwHasEntered) gandwAnim.Play("MrGameAndWatchLeverDown", 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; bigModePlayer = false;
} }
}), }),
*/
}); });
} }
beatInterval = interval; crHandlerInstance.StartInterval(beat, interval);
intervalStartBeat = beat;
} }
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 objectToSpawn = isBig ? bigBallNPC : smallBallNPC;
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder); var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
var ballComponent = spawnedBall.GetComponent<NPCDoughBall>(); var ballComponent = spawnedBall.GetComponent<NPCDoughBall>();
ballComponent.startBeat = beat;
ballComponent.exitUpCurve = npcExitUpCurve;
ballComponent.enterUpCurve = npcEnterUpCurve;
ballComponent.exitDownCurve = npcExitDownCurve;
ballComponent.enterDownCurve = npcEnterDownCurve;
spawnedBall.SetActive(true); spawnedBall.SetActive(true);
ballComponent.Init(beat, hasGandw);
if (isBig && !bigMode) if (isBig && !bigMode)
{ {
@ -286,9 +359,6 @@ namespace HeavenStudio.Games
bigMode = true; bigMode = true;
} }
MultiSound.Play(new MultiSound.Sound[] {
new MultiSound.Sound(isBig ? "workingDough/NPCBigBall" : "workingDough/NPCSmallBall", beat + 1f),
});
arrowSRLeftNPC.sprite = redArrowSprite; arrowSRLeftNPC.sprite = redArrowSprite;
BeatAction.New(doughDudesNPC, new List<BeatAction.Action>() BeatAction.New(doughDudesNPC, new List<BeatAction.Action>()
@ -303,43 +373,7 @@ namespace HeavenStudio.Games
}); });
} }
public void InstantExitBall(double beat, bool isBig, double offSet) public static void PreSpawnBall(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 - 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)
{ {
double spawnBeat = beat - 1f; double spawnBeat = beat - 1f;
beat -= 1f; beat -= 1f;
@ -349,14 +383,14 @@ namespace HeavenStudio.Games
{ {
new BeatAction.Action(spawnBeat, delegate 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.ballTransporterLeftNPC.GetComponent<Animator>().Play("BallTransporterLeftOpen", 0, 0);
instance.ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0); instance.ballTransporterRightNPC.GetComponent<Animator>().Play("BallTransporterRightOpen", 0, 0);
if (instance.gandwHasEntered) instance.gandwAnim.Play("GANDWLeverUp", 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); }), // new BeatAction.Action(spawnBeat + instance.beatInterval, delegate { instance.SpawnPlayerBall(beat + instance.beatInterval, isBig); }),
}); });
} }
@ -366,39 +400,50 @@ namespace HeavenStudio.Games
{ {
beat = beat + 1f, beat = beat + 1f,
isBig = isBig, isBig = isBig,
hasGandw = hasGandw
}); });
} }
} }
public void OnSpawnBall(double beat, bool isBig) public static void OnSpawnBallInactive(double beat, bool isBig, bool hasGandw)
{ {
beat -= 1f; if (crHandlerInstance == null)
BeatAction.New(instance.gameObject, new List<BeatAction.Action>()
{ {
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, new CallAndResponseHandler.CallAndResponseEventParam("hasGandw", hasGandw)
isBig = isBig,
}); });
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 objectToSpawn = isBig ? playerEnterBigBall : playerEnterSmallBall;
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder); var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
var ballComponent = spawnedBall.GetComponent<PlayerEnterDoughBall>(); var ballComponent = spawnedBall.GetComponent<PlayerEnterDoughBall>();
ballComponent.startBeat = beat; spawnedBall.SetActive(true);
ballComponent.firstCurve = playerEnterUpCurve; ballComponent.Init(beat, isBig, hasGandw);
ballComponent.secondCurve = playerEnterDownCurve;
ballComponent.deletingAutomatically = false;
currentBalls.Add(spawnedBall);
if (isBig && !bigModePlayer) if (isBig && !bigModePlayer)
{ {
@ -406,76 +451,33 @@ namespace HeavenStudio.Games
bigModePlayer = true; 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>() 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, delegate { arrowSRLeftPlayer.sprite = redArrowSprite; }),
new BeatAction.Action(beat + 0.1f, delegate { arrowSRLeftPlayer.sprite = whiteArrowSprite; }), 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) public static void PreSetIntervalStart(double beat, float interval)
{ {
beat -= 1f;
if (GameManager.instance.currentGame == "workingDough") if (GameManager.instance.currentGame == "workingDough")
{ {
// instance.ballTriggerSetInterval = false; // instance.ballTriggerSetInterval = false;
// beatInterval = interval; // beatInterval = interval;
BeatAction.New(instance.gameObject, new List<BeatAction.Action>() instance.SetIntervalStart(beat, interval);
{
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); }),
});
} }
else else
{ {
queuedIntervals.Add(new QueuedInterval() InactiveInterval(beat, interval);
{
beat = beat + 1f,
interval = interval,
});
} }
} }
void OnDestroy() void OnDestroy()
{ {
if (queuedIntervals.Count > 0) queuedIntervals.Clear(); if (crHandlerInstance != null && !Conductor.instance.isPlaying)
{
crHandlerInstance = null;
}
if (queuedBalls.Count > 0) queuedBalls.Clear(); if (queuedBalls.Count > 0) queuedBalls.Clear();
foreach (var evt in scheduledInputs) foreach (var evt in scheduledInputs)
{ {
@ -483,250 +485,68 @@ 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) SpawnBall(ball.beat - 1, ball.isBig, ball.hasGandw);
}
queuedBalls.Clear();
}
}
void Update() void Update()
{ {
Conductor cond = Conductor.instance; Conductor cond = Conductor.instance;
if (!cond.isPlaying || cond.isPaused) if (!cond.isPlaying || cond.isPaused)
{ {
if (queuedIntervals.Count > 0) queuedIntervals.Clear();
if (queuedBalls.Count > 0) queuedBalls.Clear(); if (queuedBalls.Count > 0) queuedBalls.Clear();
} }
if (spaceshipRising) spaceshipAnimator.DoScaledAnimation("RiseSpaceship", risingStartBeat, risingLength); if (spaceshipRising && !bgDisabled) spaceshipAnimator.DoScaledAnimation("RiseSpaceship", risingStartBeat, risingLength);
if (liftingDoughDudes) doughDudesHolderAnim.DoScaledAnimation(liftingAnimName, liftingStartBeat, liftingLength); if (liftingDoughDudes && !bgDisabled) doughDudesHolderAnim.DoScaledAnimation(liftingAnimName, liftingStartBeat, liftingLength);
if (gandwMoving) gandwAnim.DoScaledAnimation(gandwMovingAnimName, gandMovingStartBeat, gandMovingLength); if (gandwMoving && !bgDisabled) gandwAnim.DoScaledAnimation(gandwMovingAnimName, gandMovingStartBeat, gandMovingLength);
if (queuedIntervals.Count > 0) if (passedTurns.Count > 0)
{ {
foreach (var interval in queuedIntervals) foreach (var passTurn in passedTurns)
{ {
ballTriggerSetInterval = false; PassTurn(passTurn);
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); }),
});
} }
queuedIntervals.Clear(); passedTurns.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();
} }
if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN)) if (PlayerInput.Pressed() && !IsExpectingInputNow(InputType.STANDARD_DOWN))
{ {
doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0); doughDudesPlayer.GetComponent<Animator>().Play("SmallDoughJump", 0, 0);
SoundByte.PlayOneShotGame("workingDough/PlayerSmallJump"); SoundByte.PlayOneShotGame("workingDough/smallPlayer");
} }
else if (PlayerInput.AltPressed() && !IsExpectingInputNow(InputType.STANDARD_ALT_DOWN)) else if (PlayerInput.AltPressed() && !IsExpectingInputNow(InputType.STANDARD_ALT_DOWN))
{ {
doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0); doughDudesPlayer.GetComponent<Animator>().Play("BigDoughJump", 0, 0);
SoundByte.PlayOneShotGame("workingDough/PlayerBigJump"); SoundByte.PlayOneShotGame("workingDough/bigPlayer");
} }
} }
void WrongInputBig(PlayerActionEvent caller, float state) public void SpawnBGBall(double beat, bool isBig, bool hasGandw)
{
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)
{ {
var objectToSpawn = isBig ? bigBGBall : smallBGBall; var objectToSpawn = isBig ? bigBGBall : smallBGBall;
var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder); var spawnedBall = GameObject.Instantiate(objectToSpawn, ballHolder);
var ballComponent = spawnedBall.GetComponent<BGBall>(); 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); spawnedBall.SetActive(true);
ballComponent.Init(beat, hasGandw);
BeatAction.New(instance.gameObject, new List<BeatAction.Action>() 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 +570,7 @@ namespace HeavenStudio.Games
public void LaunchShip(double beat, float length) public void LaunchShip(double beat, float length)
{ {
if (bgDisabled) return;
spaceshipRisen = true; spaceshipRisen = true;
if (!spaceshipLights.activeSelf) if (!spaceshipLights.activeSelf)
{ {
@ -761,12 +582,12 @@ namespace HeavenStudio.Games
{ {
new BeatAction.Action(beat + length, delegate { spaceshipAnimator.Play("SpaceshipLaunch", 0, 0); }), 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/LaunchRobot"); }),
new BeatAction.Action(beat + length, delegate { SoundByte.PlayOneShotGame("workingDough/Rocket"); }),
}); });
} }
public void RiseUpShip(double beat, float length) public void RiseUpShip(double beat, float length)
{ {
if (bgDisabled) return;
spaceshipRisen = true; spaceshipRisen = true;
spaceshipRising = true; spaceshipRising = true;
risingLength = length; risingLength = length;
@ -785,6 +606,7 @@ namespace HeavenStudio.Games
public void GANDWEnterOrExit(double beat, float length, bool shouldExit) public void GANDWEnterOrExit(double beat, float length, bool shouldExit)
{ {
if (bgDisabled) return;
gandwMoving = true; gandwMoving = true;
gandwHasEntered = false; gandwHasEntered = false;
gandMovingLength = length; gandMovingLength = length;
@ -800,10 +622,9 @@ namespace HeavenStudio.Games
public void InstantGANDWEnterOrExit(bool shouldExit) public void InstantGANDWEnterOrExit(bool shouldExit)
{ {
if (bgDisabled) return;
gandwAnim.Play(shouldExit ? "GANDWLeft" : "MrGameAndWatchLeverDown", 0, 0); gandwAnim.Play(shouldExit ? "GANDWLeft" : "MrGameAndWatchLeverDown", 0, 0);
gandwHasEntered = shouldExit ? false : true; gandwHasEntered = shouldExit ? false : true;
} }
void Nothing (PlayerActionEvent caller) {}
} }
} }

View file

@ -1,219 +1,219 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 569579403 CRC: 2726306962
AssetBundleManifest: AssetBundleManifest:
AssetBundleInfos: AssetBundleInfos:
Info_0: Info_0:
Name: ctrpillow/common Name: ctrpillow/common
Dependencies: {} Dependencies: {}
Info_1: Info_1:
Name: ntrsamurai/common Name: karate/common
Dependencies: {} Dependencies: {}
Info_2: Info_2:
Name: rvlbooks/locale.en Name: agbmarcher/common
Dependencies: {} Dependencies: {}
Info_3: Info_3:
Name: agbmarcher/locale.jp
Dependencies: {}
Info_4:
Name: ntridol/common
Dependencies: {}
Info_5:
Name: ntrdj/common Name: ntrdj/common
Dependencies: Dependencies:
Dependency_0: rvldate/common Dependency_0: rvldate/common
Info_4:
Name: ctrpillow/locale.en
Dependencies: {}
Info_5:
Name: ntrsamurai/common
Dependencies: {}
Info_6: Info_6:
Name: ctrpillow/locale.jp Name: ntridol/common
Dependencies: {} Dependencies: {}
Info_7: Info_7:
Name: karate/common Name: rvlbooks/locale.en
Dependencies: {} Dependencies: {}
Info_8: Info_8:
Name: ctrcatchy/common Name: ntridol/locale.jp
Dependencies: {} Dependencies: {}
Info_9: Info_9:
Name: rvlbooks/common Name: rvlbooks/common
Dependencies: {} Dependencies: {}
Info_10: Info_10:
Name: agbmarcher/common Name: ctrcatchy/common
Dependencies: {} Dependencies: {}
Info_11: Info_11:
Name: ntridol/locale.jp
Dependencies: {}
Info_12:
Name: agbmarcher/locale.en Name: agbmarcher/locale.en
Dependencies: {} Dependencies: {}
Info_13: Info_12:
Name: ctrpillow/locale.en
Dependencies: {}
Info_14:
Name: karate/locale.en Name: karate/locale.en
Dependencies: {} Dependencies: {}
Info_13:
Name: agbmarcher/locale.jp
Dependencies: {}
Info_14:
Name: ctrpillow/locale.ko
Dependencies: {}
Info_15: Info_15:
Name: ntrcoin/common Name: ctrpillow/locale.jp
Dependencies: {} Dependencies: {}
Info_16: Info_16:
Name: ctrpillow/locale.ko Name: ntrcoin/common
Dependencies: {} Dependencies: {}
Info_17: Info_17:
Name: ntrsamurai/locale.en Name: ntrsamurai/locale.en
Dependencies: {} Dependencies: {}
Info_18: Info_18:
Name: ntrassembly/common Name: ntrsoccer/common
Dependencies: {} Dependencies: {}
Info_19: Info_19:
Name: rvlinterview/locale.en Name: rvlfork/common
Dependencies: {} Dependencies: {}
Info_20: Info_20:
Name: rvlseal/locale.en Name: rvlseal/locale.en
Dependencies: {} Dependencies: {}
Info_21: Info_21:
Name: agbtoss/common Name: agbspacedance/locale.jp
Dependencies: {} Dependencies: {}
Info_22: Info_22:
Name: rvlrotation/common Name: rvlseal/common
Dependencies: {} Dependencies: {}
Info_23: Info_23:
Name: rvlbadminton/locale.en
Dependencies: {}
Info_24:
Name: agbhair/common
Dependencies: {}
Info_25:
Name: agbclap/common Name: agbclap/common
Dependencies: {} Dependencies: {}
Info_26: Info_24:
Name: ctrinterpreter/common Name: ntrshugyo/locale.en
Dependencies: {} Dependencies: {}
Info_27: Info_25:
Name: ntrboxshow/common
Dependencies: {}
Info_28:
Name: agbexplode/common
Dependencies: {}
Info_29:
Name: rvllegs/common
Dependencies: {}
Info_30:
Name: agbquiz/common
Dependencies:
Dependency_0: karate/common
Info_31:
Name: agboffbeat/common
Dependencies: {}
Info_32:
Name: ntrpingpong/common
Dependencies: {}
Info_33:
Name: ntrcork/common
Dependencies: {}
Info_34:
Name: agbspacedance/common
Dependencies: {}
Info_35:
Name: ctrbear/common
Dependencies: {}
Info_36:
Name: ntrbackbeat/common
Dependencies: {}
Info_37:
Name: ntrninja/common Name: ntrninja/common
Dependencies: {} Dependencies: {}
Info_38: Info_26:
Name: ntrsoccer/locale.en
Dependencies: {}
Info_39:
Name: ctrintro/common
Dependencies: {}
Info_40:
Name: rvlrocket/common
Dependencies: {}
Info_41:
Name: pcosomen/common
Dependencies: {}
Info_42:
Name: agbbatter/common Name: agbbatter/common
Dependencies: Dependencies:
Dependency_0: karate/common Dependency_0: karate/common
Info_43: Info_27:
Name: agbspacedance/locale.jp Name: pcomeat/common
Dependencies: {} Dependencies: {}
Info_44: Info_28:
Name: agbghost/common
Dependencies: {}
Info_45:
Name: ntrchorus/common
Dependencies: {}
Info_46:
Name: ctrteppan/common
Dependencies: {}
Info_47:
Name: rvldough/common Name: rvldough/common
Dependencies: {} Dependencies: {}
Info_48: Info_29:
Name: rvlseesaw/common Name: rvlrocket/common
Dependencies: {} Dependencies: {}
Info_49: Info_30:
Name: rvlfork/common Name: ctrinterpreter/common
Dependencies: {} Dependencies: {}
Info_50: Info_31:
Name: ntrtunnel/locale.en
Dependencies: {}
Info_51:
Name: rvlinterview/common
Dependencies: {}
Info_52:
Name: rvlseal/common
Dependencies: {}
Info_53:
Name: ntrshugyo/common
Dependencies: {}
Info_54:
Name: ntrstomp/common
Dependencies: {}
Info_55:
Name: rvlbadminton/common
Dependencies: {}
Info_56:
Name: ntrboxshow/locale.en
Dependencies: {}
Info_57:
Name: ntrsoccer/common
Dependencies: {}
Info_58:
Name: agbwizard/common
Dependencies: {}
Info_59:
Name: rvlseesaw/locale.en Name: rvlseesaw/locale.en
Dependencies: {} Dependencies: {}
Info_60: Info_32:
Name: rvldate/common Name: rvlseesaw/common
Dependencies: Dependencies: {}
Dependency_0: ntrdj/common Info_33:
Info_61: Name: agbwizard/common
Dependencies: {}
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 Name: agbtap/common
Dependencies: Dependencies:
Dependency_0: ntridol/common Dependency_0: ntridol/common
Info_62: Info_49:
Name: ntrshugyo/locale.en
Dependencies: {}
Info_63:
Name: rvldrum/common
Dependencies: {}
Info_64:
Name: ntrchorus/locale.en Name: ntrchorus/locale.en
Dependencies: {} Dependencies: {}
Info_65: Info_50:
Name: agbspacedance/common
Dependencies: {}
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 Name: mobtrick/common
Dependencies: {} Dependencies: {}
Info_66: Info_60:
Name: pcomeat/common Name: ntrcork/common
Dependencies: {} Dependencies: {}
Info_67: Info_61:
Name: rvlrotation/locale.en Name: ntrchorus/common
Dependencies: {} Dependencies: {}
Info_68: Info_62:
Name: rvllegs/locale.en Name: rvllegs/locale.en
Dependencies: {} Dependencies: {}
Info_69: 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 Name: ntrtunnel/common
Dependencies: {} Dependencies: {}
Info_69:
Name: ntrsoccer/locale.en
Dependencies: {}

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3559125235 CRC: 3295541411
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: f6232133bc3c123d088efd0b61878f97 Hash: d691f8e7ab026ae0af6a7d5b7ae9768b
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 3c21c7b04832853cd27601d2dee6bffc Hash: 4f2ec9d4a37fcaf8265a07a3a5b7905b
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1
@ -96,4 +96,4 @@ Assets:
- Assets/Resources/Sprites/Games/Spaceball/baseball.png - Assets/Resources/Sprites/Games/Spaceball/baseball.png
- Assets/Resources/Sprites/Games/Spaceball/Animations/Idle.anim - Assets/Resources/Sprites/Games/Spaceball/Animations/Idle.anim
Dependencies: Dependencies:
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/karate/common - C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/karate/common

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3324159491 CRC: 4285283603
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 7fab1d3cddedb82c63bdf5eafd177ede Hash: b90d22e37d42b5cc71409ec1671da401
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: b681174b78f64dbae951d5d59b41274e Hash: b7dda81a5a0adc681edb9e6a78b49c82
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3687159172 CRC: 1577974224
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 0c901a5316eada2aa40e333299f46024 Hash: e3a5a1bab4b7b440c475f68ae9566f04
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 8590c8f725cd7164594330ed95ce7efe Hash: 5097dbd2765acbc61afb9aa46e25c1a4
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 231413400 CRC: 2706586621
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: f34440889e5a112b30d599541d3e1002 Hash: 38c8b8fc314a6dbc223338bed4d0ec90
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: c8584d2e9cba35f07253dcf92aa3cf3e Hash: 6ab6f5dbbbc64091fe41d0a8194baa43
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -3,7 +3,7 @@ CRC: 1219842047
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: a01397878cd927fcdf94e9a92868b4c5 Hash: d3ecaaaf4e32380396f248076d073d1f
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 7d376826375f2c77db0d94db3474ea48 Hash: 7d376826375f2c77db0d94db3474ea48

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 388204884 CRC: 3910519356
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 258bdeeaf15739d0b2cda5ee4321e42f Hash: ab8866c439462ff8003599378ddda237
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: b20f138d4c27c64a38b438efe12d137f Hash: b20f138d4c27c64a38b438efe12d137f

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 475114992 CRC: 2776406185
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 00245f07ed1e60e78624a147c6070fcf Hash: 2e302cf48b40bc531bd32b21fc9e3dc2
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 78b02268f01f8b6a77a608289ecb9d38 Hash: 78b02268f01f8b6a77a608289ecb9d38
@ -108,4 +108,4 @@ Assets:
- Assets/Resources/Sfx/games/quizShow/hostDPad.ogg - Assets/Resources/Sfx/games/quizShow/hostDPad.ogg
- Assets/Resources/Sfx/games/quizShow/hostExplode.ogg - Assets/Resources/Sfx/games/quizShow/hostExplode.ogg
Dependencies: Dependencies:
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/karate/common - C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/karate/common

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 867686949 CRC: 940254835
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: ab071928443b2918657baca4069aef38 Hash: 1bc9632ce0bab6e32880981e2618e8b3
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: ddb2c4a70034b0784bb73c06ec09460c Hash: ddb2c4a70034b0784bb73c06ec09460c

Binary file not shown.

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 212326892 CRC: 3317229876
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 90b815955ee779d6d3a22cf87a709e16 Hash: b67be0d3f6a8b7b385b6d81c034e7e05
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 19ee8e0c3590503ff1703e27669b9083 Hash: 15c41fad7e66ce2236de71530bb543ef
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1
@ -115,4 +115,4 @@ Assets:
- Assets/Resources/Sprites/Games/TapTrial/Animations/Giraffe/Giraffe.controller - Assets/Resources/Sprites/Games/TapTrial/Animations/Giraffe/Giraffe.controller
- Assets/Resources/Sprites/Games/TapTrial/Animations/girl_bop/Bop.anim - Assets/Resources/Sprites/Games/TapTrial/Animations/girl_bop/Bop.anim
Dependencies: Dependencies:
- C:/Users/evanb/OneDrive/Documents/GitHub/HeavenStudio/Assets/StreamingAssets/ntridol/common - C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/ntridol/common

View file

@ -3,7 +3,7 @@ CRC: 2283269108
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 54dc5cc4467153fc42d7fec3c0ff99cf Hash: bb54fc1d73dc1a84c27dae5905a5cc81
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 545a4a8276e4957bfa14c0b989e80093 Hash: 545a4a8276e4957bfa14c0b989e80093

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 2637298535 CRC: 2206093878
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: bc847f2bb2ca95a8382c8603da0c7aca Hash: 6fe9c9dd3f0c98919984a823d399e89a
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 67d39c717ebaf88d640de17235703b84 Hash: a523720804762713f8c3b99f7d897dd5
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3248289930 CRC: 435520197
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: d1f5f29587ed40848ce7cd55fcf49589 Hash: a6b7c0a19453a1a0398bcb15e81ed8f5
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: d644181980f918186081c0bac0c321f4 Hash: 01ef6a58e233b3cb8a54b2d9152d3e5e
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 2401211382 CRC: 763472146
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 89c87d5d61504d1b704b454f4551491d Hash: ecb00cf092701b5128cc9bf5b020bcbe
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: d133cd3f87321d37165bad4fb3b17216 Hash: cb525cb072c33c8e5692f23a42da04e4
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 608430613 CRC: 3779117211
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: c11b541d6d261d4dd9290709670eab03 Hash: 3df64602dae1644c40a73e63047b5d91
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 6a87535638e108a5e3588d5397c1cf0a Hash: 6a87535638e108a5e3588d5397c1cf0a

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 2468459598 CRC: 2347972319
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 694942fd7fd719c377ad625831f4d7da Hash: 812f8de04338cbb289b3aeb7d0c1255a
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 9882fa2f26ef5be324432a0a3acd846e Hash: 05da4ec6b369274f98afefde205bcdc6
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 1339297613 CRC: 1820358078
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: fcbc4fce96417d5619d55885942cc258 Hash: 43643198b112932a4fdf0b1da91e8a08
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: a7c568f5d3a8f80a33b7dd26fe5a006a Hash: a7c568f5d3a8f80a33b7dd26fe5a006a

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3225447570 CRC: 1678427662
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 695f4d61fc4319a10268a5d63bf73579 Hash: 61fc8edb7d12ddb21197f9f6d61e6618
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 460be591ec703ee0603b7b23c7810e85 Hash: 460be591ec703ee0603b7b23c7810e85

Binary file not shown.

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 856068843 CRC: 155563867
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 434b38e4c41879bd77b4b1be1facee9a Hash: 97088bda9b9c1bf5d6f7e5b3edd169e0
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: a038afcd41092d6fa32f3b32b70b4331 Hash: b1f31a5996a0bf184f0808b1ad67ba96
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3137010974 CRC: 2722877296
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 7562ed94fdfdddfc2c404569e22e48ab Hash: b6bd878ea9f8df0fcf2bc0c4581be791
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 89039e44c9e8cd7972811ddeb5a32cd1 Hash: 4f48d293ee91ce284b1290faa2bbe09e
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 327574655 CRC: 3751846126
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: e34b38e1d55213a0161870cde056c2d2 Hash: 93a0fe7ec76132ff5555c8a88ffb4c04
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 4a26d5115405bf719eeac2a19c298cf0 Hash: 4f8cce0d9f727657ad6578352d0da0f2
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 68896505 CRC: 3878722035
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 05c17b1bcb126713b672a05f36a08689 Hash: 177c5870d328f716aa0421272c9470f9
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: f54a1062817f77cb49f442d230fcc49b Hash: f54a1062817f77cb49f442d230fcc49b

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 277471755 CRC: 103302383
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 8941246d8918d731a7ef3b29f81b75ac Hash: a8013c8acab6ff6c0e3d077b6f6624e2
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 7f5da0c07e5977d0ce994513d51f7db5 Hash: 7f5da0c07e5977d0ce994513d51f7db5

View file

@ -1,9 +1,9 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 1725841183 CRC: 355105624
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 35a167bba48cbe81b565de21cc5212c8 Hash: d617b45ed083d248765f851fdd4edc8b
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 72449c958dbfd650c57600192572509b Hash: 72449c958dbfd650c57600192572509b

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 2679204370 CRC: 3381801303
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: f732d0298c8e97d630f5e4a93b67536b Hash: 2f51d8702488d5789c7b6cf29d74fa86
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 1bede10b13a08b81d2554af8dc386ffb Hash: 8f8d4a3f1f8c01578a5ce13063d68dc6
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

Binary file not shown.

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 794045458 CRC: 2871784295
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 0bb3ec4166486c53ad510244428e1b54 Hash: a320d8fdb11da9cf2bf295285a4a38a2
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: d63045fb98810c6e34e3ac23cd35c802 Hash: 33a4c8442a7cb8448a93c2fa6c1d77eb
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1
@ -125,4 +125,4 @@ Assets:
- Assets/Resources/Sfx/games/djSchool/scratchoHeyLoud1.ogg - Assets/Resources/Sfx/games/djSchool/scratchoHeyLoud1.ogg
- Assets/Resources/Sprites/Games/DJSchool/Animations/Student/IdleBop.anim - Assets/Resources/Sprites/Games/DJSchool/Animations/Student/IdleBop.anim
Dependencies: Dependencies:
- C:/Users/bdlaw/Documents/GitHub/HeavenStudio-AstrlJelly/Assets/StreamingAssets/rvldate/common - C:/Users/rasmu/OneDrive/Dokumenter/GitHub/HeavenStudio/Assets/StreamingAssets/rvldate/common

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 1108434953 CRC: 4034070136
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 19c52ab6ab02ddb605dd4975795b7b13 Hash: 2d6f852362177521846ca2d732523b32
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 21456e7675db7a47a10568aeed553424 Hash: 22daffce395c47caabb8dcd800097d0d
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 1874366497 CRC: 3182147957
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: fc4fc120a7b9e29b1254b17c633d31e3 Hash: a0076561256160326184dfb7ad07d97c
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 987042eda37a56b13dfaba3bc9557005 Hash: 2f052be846612c7db995ad748fa5776c
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 3622272481 CRC: 3439164552
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: a73631381bd8e5fbbecfdd0c8e1ea663 Hash: dd77521c6af51aacb6f1ea5fdc19bbd1
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 974ea934299ce5c71bcd7b9022e14cb9 Hash: a60012dadf81e61c9a13d1a8e11bb664
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 787804959 CRC: 1911076014
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 57f6be52825b8f1f0484565784bb7df3 Hash: 49426dfd99db6a07775ec45a2d4591ce
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: b34bf4f4a153c821f231d97d8dbb17bf Hash: 10404da84d789c089050e7869762db38
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

View file

@ -3,7 +3,7 @@ CRC: 3939051657
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: ce985f100d2f5d0940fb613bd86f4f91 Hash: d7238faee24ab1af3a24e18f7d48b444
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: c21d61fe394c58399df3c6fb5c7c99b3 Hash: c21d61fe394c58399df3c6fb5c7c99b3

View file

@ -1,12 +1,12 @@
ManifestFileVersion: 0 ManifestFileVersion: 0
CRC: 103956285 CRC: 2709514228
Hashes: Hashes:
AssetFileHash: AssetFileHash:
serializedVersion: 2 serializedVersion: 2
Hash: 504f63fb7d6028d54d1cb0eb9fc1482d Hash: b0e0b074d6e4e7939ca79e071af768bb
TypeTreeHash: TypeTreeHash:
serializedVersion: 2 serializedVersion: 2
Hash: 343d65511dfe0d43d6049e61b3f8026f Hash: 069e62d6c3f2f01ee43f5b820760a801
HashAppended: 0 HashAppended: 0
ClassTypes: ClassTypes:
- Class: 1 - Class: 1

Some files were not shown because too many files have changed in this diff Show more