diff --git a/Assets/Resources/Games/ringside.prefab b/Assets/Resources/Games/ringside.prefab index 5f62023a3..d66688313 100644 --- a/Assets/Resources/Games/ringside.prefab +++ b/Assets/Resources/Games/ringside.prefab @@ -249,6 +249,88 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &830242912349215247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4521015084583930103} + - component: {fileID: 4251406075301281281} + m_Layer: 0 + m_Name: AbLeft + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4521015084583930103 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 830242912349215247} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.27, y: -0.68, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2959026992291190112} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &4251406075301281281 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 830242912349215247} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 6 + m_Sprite: {fileID: -6876814657233417777, guid: be14874e38962664daf1c26fdc6c2285, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 1 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 3.8, y: 2.71} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &853961537719710741 GameObject: m_ObjectHideFlags: 0 @@ -959,6 +1041,7 @@ MonoBehaviour: scheduledInputs: [] firstEnable: 0 wrestlerAnim: {fileID: 7604629278988158414} + currentQuestion: 1 --- !u!1 &2278553897209836670 GameObject: m_ObjectHideFlags: 0 @@ -1167,6 +1250,8 @@ Transform: - {fileID: 6607019358744951414} - {fileID: 2172153567666687521} - {fileID: 8943520633197292525} + - {fileID: 9072746555840518564} + - {fileID: 4521015084583930103} m_Father: {fileID: 1260199467373772929} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -4035,6 +4120,88 @@ SpriteRenderer: m_WasSpriteAssigned: 1 m_MaskInteraction: 0 m_SpriteSortPoint: 0 +--- !u!1 &7745418202111326516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9072746555840518564} + - component: {fileID: 5764435436971629231} + m_Layer: 0 + m_Name: AbRight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &9072746555840518564 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7745418202111326516} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.34, y: -0.68, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2959026992291190112} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!212 &5764435436971629231 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7745418202111326516} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 6 + m_Sprite: {fileID: -6876814657233417777, guid: be14874e38962664daf1c26fdc6c2285, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 3.8, y: 2.71} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &8208015249447844869 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Games/Ringside/Ringside.cs b/Assets/Scripts/Games/Ringside/Ringside.cs index a2cf4d151..3ac5578e0 100644 --- a/Assets/Scripts/Games/Ringside/Ringside.cs +++ b/Assets/Scripts/Games/Ringside/Ringside.cs @@ -12,6 +12,16 @@ namespace HeavenStudio.Games.Loaders { return new Minigame("ringside", "Ringside \n[INITIALIZATION ONLY]", "WUTRU3", false, false, new List() { + new GameAction("wubbaDubba", "Wubba Dubba Dubba") + { + function = delegate {var e = eventCaller.currentEntity; Ringside.instance.Question(e.beat); }, + defaultLength = 1.25f + }, + new GameAction("thatTrue", "That True?") + { + function = delegate {var e = eventCaller.currentEntity; Ringside.instance.ThatTrue(e.beat); }, + defaultLength = 0.75f + }, }); } } @@ -24,6 +34,10 @@ namespace HeavenStudio.Games [Header("Components")] [SerializeField] Animator wrestlerAnim; + [Header("Variables")] + public int currentQuestion = 1; + + public static Ringside instance; void Awake() @@ -44,5 +58,62 @@ namespace HeavenStudio.Games } } } + + public void Question(float beat) + { + MultiSound.Play(new MultiSound.Sound[] + { + new MultiSound.Sound($"ringside/wubba{currentQuestion}-1", beat), + new MultiSound.Sound($"ringside/wubba{currentQuestion}-2", beat + 0.25f), + new MultiSound.Sound($"ringside/dubba{currentQuestion}-1", beat + 0.5f), + new MultiSound.Sound($"ringside/dubba{currentQuestion}-2", beat + 0.75f), + new MultiSound.Sound($"ringside/dubba{currentQuestion}-3", beat + 1f), + new MultiSound.Sound($"ringside/dubba{currentQuestion}-4", beat + 1.25f), + }, forcePlay: true); + } + + public void ThatTrue(float beat) + { + MultiSound.Play(new MultiSound.Sound[] + { + new MultiSound.Sound($"ringside/that{currentQuestion}", beat + 0.25f), + new MultiSound.Sound($"ringside/true{currentQuestion}", beat + 0.75f), + }, forcePlay: true); + ScheduleInput(beat, 1.75f, InputType.STANDARD_DOWN, JustQuestion, MissQuestion, Nothing); + if (currentQuestion < 3) + { + currentQuestion++; + } + else + { + currentQuestion = 1; + } + } + + public void JustQuestion(PlayerActionEvent caller, float state) + { + if (state >= 1f || state <= -1f) + { + return; + } + SuccessQuestion(); + } + + public void SuccessQuestion() + { + wrestlerAnim.DoScaledAnimationAsync("Ye", 0.5f); + Jukebox.PlayOneShotGame($"ringside/ye{UnityEngine.Random.Range(1, 4)}"); + BeatAction.New(instance.gameObject, new List() + { + new BeatAction.Action(Conductor.instance.songPositionInBeats + 0.5f, delegate { Jukebox.PlayOneShotGame("ringside/yeCamera"); }), + }); + } + + public void MissQuestion(PlayerActionEvent caller) + { + + } + + public void Nothing(PlayerActionEvent caller){} } }