From b5e74d3135dde66fac3c87397f8adedf54072b13 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 24 Jun 2022 14:14:49 +0900 Subject: [PATCH] fix gamemanager --- .../MyGame/Scenes/MiniGame/MiniGame.unity | 522 ++++++++++++++++-- .../Scenes/MiniGame/Scripts/GameManager.cs | 180 +++++- .../Scenes/MiniGame/Scripts/StageManager.cs | 8 +- 3 files changed, 653 insertions(+), 57 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity index be15a494..8283b257 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/MiniGame.unity @@ -152,6 +152,31 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &20368557 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7322157958942142026, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &236055328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Name: + m_EditorClassIdentifier: + mTarget: {fileID: 677548462} --- !u!1 &434624158 GameObject: m_ObjectHideFlags: 0 @@ -183,6 +208,7 @@ RectTransform: - {fileID: 582710106} - {fileID: 475061233} - {fileID: 1275129623} + - {fileID: 1725870972} m_Father: {fileID: 966618983} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -281,12 +307,115 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2498033716723453584} m_PrefabAsset: {fileID: 0} +--- !u!114 &554441275 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Name: + m_EditorClassIdentifier: + mTarget: {fileID: 1455393705} +--- !u!1 &579812654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 579812655} + - component: {fileID: 579812657} + - component: {fileID: 579812656} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &579812655 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579812654} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1725870972} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -40, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &579812656 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579812654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 1 + m_MinSize: 10 + m_MaxSize: 65 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Reset Score +--- !u!222 &579812657 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 579812654} + m_CullTransparentMesh: 0 --- !u!224 &582710106 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 4559813504355184347, guid: 041c0f3d96c90d64094cc76c5c87c26f, type: 3} m_PrefabInstance: {fileID: 4559813503860727169} m_PrefabAsset: {fileID: 0} +--- !u!114 &677548462 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5920014628783637860, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &966618982 GameObject: m_ObjectHideFlags: 0 @@ -399,23 +528,120 @@ Canvas: m_SortingLayerID: 0 m_SortingOrder: 150 m_TargetDisplay: 0 +--- !u!1 &978217474 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7328251775992443660, guid: b46e011db918bbe42a91795497f90b9c, + type: 3} + m_PrefabInstance: {fileID: 7328251774669809636} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1273053210 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Name: + m_EditorClassIdentifier: + mTarget: {fileID: 2145763165} --- !u!224 &1275129623 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 5034752975213739508, guid: 199214813202e5f478789161b538685b, type: 3} m_PrefabInstance: {fileID: 5034752974072861411} m_PrefabAsset: {fileID: 0} ---- !u!20 &1673325602 stripped -Camera: - m_CorrespondingSourceObject: {fileID: 9117079084301130544, guid: 021717b65b165374faa3fcffaafedfc2, - type: 3} - m_PrefabInstance: {fileID: 9117079082731140882} +--- !u!1 &1337070181 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!114 &1726072865 stripped + serializedVersion: 6 + m_Component: + - component: {fileID: 1337070184} + - component: {fileID: 1337070183} + - component: {fileID: 1337070182} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1337070182 MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 5034752975584991938, guid: 199214813202e5f478789161b538685b, + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337070181} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &1337070183 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337070181} + m_CullTransparentMesh: 0 +--- !u!224 &1337070184 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1337070181} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2498033716723453585} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!4 &1448010325 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2845075459559541233, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} - m_PrefabInstance: {fileID: 5034752974072861411} + m_PrefabInstance: {fileID: 2498033716723453584} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1455393705 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7322157960896418141, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 @@ -423,6 +649,157 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!20 &1673325602 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 9117079084301130544, guid: 021717b65b165374faa3fcffaafedfc2, + type: 3} + m_PrefabInstance: {fileID: 9117079082731140882} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1725870971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1725870972} + - component: {fileID: 1725870975} + - component: {fileID: 1725870974} + - component: {fileID: 1725870973} + m_Layer: 5 + m_Name: Reset Score Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1725870972 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725870971} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 579812655} + m_Father: {fileID: 434624159} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -50, y: -50} + m_SizeDelta: {x: 300, y: 100} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1725870973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725870971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1725870974} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1725870974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725870971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1725870975 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1725870971} + m_CullTransparentMesh: 0 +--- !u!114 &1759757039 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Name: + m_EditorClassIdentifier: + mTarget: {fileID: 1991749882} +--- !u!114 &1843256529 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Name: + m_EditorClassIdentifier: + mTarget: {fileID: 20368557} --- !u!1 &1870432532 GameObject: m_ObjectHideFlags: 0 @@ -454,11 +831,14 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 96c2b99ef2e6c42dd998b782def0bd0e, type: 3} m_Name: m_EditorClassIdentifier: - timeLimit: 30 - headerView: {fileID: 2098933370} + timeLimit: 2 + headerView: {fileID: 7328251774669809638} player: {fileID: 2498033716723453586} + stageSelectView: {fileID: 2071735749} + footerManager: {fileID: 4559813503860727170} stageManager: {fileID: 1870432536} - resultManager: {fileID: 0} + resultManager: {fileID: 5034752974072861423} + readyObject: {fileID: 978217474} isDebug: 0 --- !u!4 &1870432534 Transform: @@ -489,6 +869,7 @@ MonoBehaviour: isDebug: value: 1 character: {fileID: 519190655} + resetScoreButton: {fileID: 1725870973} --- !u!114 &1870432536 MonoBehaviour: m_ObjectHideFlags: 0 @@ -501,19 +882,19 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 92d8af3e7a454c858429c462d377f112, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &1950079323 + stage: {fileID: 1448010325} +--- !u!114 &1991749882 stripped MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 7322157960569866670, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bedef2aeaac8da04faa9a07b7241d0ad, type: 3} + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - mTarget: {fileID: 1726072865} --- !u!1 &2055584752 GameObject: m_ObjectHideFlags: 0 @@ -627,16 +1008,28 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: c11194ed6fd84a1f812fa2cfae75f873, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &2098933370 stripped +--- !u!114 &2071735749 stripped MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 2498033717748637930, guid: 417e2c534d3274ba1a973fe4284532bd, + m_CorrespondingSourceObject: {fileID: 2071735749, guid: 041c0f3d96c90d64094cc76c5c87c26f, type: 3} - m_PrefabInstance: {fileID: 2498033716723453584} + m_PrefabInstance: {fileID: 4559813503860727169} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 109145d75cad47b886be1e9be454f54b, type: 3} + m_Script: {fileID: 11500000, guid: a496a110325c47a18a0e9c6e60376b57, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &2145763165 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7322157960751385535, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: --- !u!1001 &2498033716723453584 @@ -654,31 +1047,36 @@ PrefabInstance: - target: {fileID: 2498033716561349204, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 217 objectReference: {fileID: 0} - target: {fileID: 2498033716790378514, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2498033716790378514, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2498033716790378514, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 145 objectReference: {fileID: 0} - target: {fileID: 2498033716790378514, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 114.5 objectReference: {fileID: 0} - target: {fileID: 2498033716790378514, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchoredPosition.y + value: -40 + objectReference: {fileID: 0} + - target: {fileID: 2498033717143991097, guid: 417e2c534d3274ba1a973fe4284532bd, + type: 3} + propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} - target: {fileID: 2498033717143991100, guid: 417e2c534d3274ba1a973fe4284532bd, @@ -689,32 +1087,32 @@ PrefabInstance: - target: {fileID: 2498033717375854813, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchorMax.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2498033717375854813, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchorMin.y - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 2498033717375854813, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 145 objectReference: {fileID: 0} - target: {fileID: 2498033717375854813, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 114.5 objectReference: {fileID: 0} - target: {fileID: 2498033717375854813, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: -40 objectReference: {fileID: 0} - target: {fileID: 2498033717790956849, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} propertyPath: m_SizeDelta.x - value: 0 + value: 217 objectReference: {fileID: 0} - target: {fileID: 8987015135604457535, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} @@ -773,6 +1171,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 417e2c534d3274ba1a973fe4284532bd, type: 3} +--- !u!224 &2498033716723453585 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 2498033716317352191, guid: 417e2c534d3274ba1a973fe4284532bd, + type: 3} + m_PrefabInstance: {fileID: 2498033716723453584} + m_PrefabAsset: {fileID: 0} --- !u!114 &2498033716723453586 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 6390956298179763278, guid: 417e2c534d3274ba1a973fe4284532bd, @@ -969,6 +1373,18 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 041c0f3d96c90d64094cc76c5c87c26f, type: 3} +--- !u!114 &4559813503860727170 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 5402836451212992852, guid: 041c0f3d96c90d64094cc76c5c87c26f, + type: 3} + m_PrefabInstance: {fileID: 4559813503860727169} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81bfae5c50ac45de9ed02294b4c64bda, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &5034752974072861411 PrefabInstance: m_ObjectHideFlags: 0 @@ -976,6 +1392,16 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 434624159} m_Modifications: + - target: {fileID: 5034752974341280185, guid: 199214813202e5f478789161b538685b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5034752974366334722, guid: 199214813202e5f478789161b538685b, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5034752975213739508, guid: 199214813202e5f478789161b538685b, type: 3} propertyPath: m_Pivot.x @@ -1091,13 +1517,25 @@ PrefabInstance: propertyPath: m_IsActive value: 0 objectReference: {fileID: 0} - - target: {fileID: 5034752975584991939, guid: 199214813202e5f478789161b538685b, + - target: {fileID: 5034752975409813128, guid: 199214813202e5f478789161b538685b, type: 3} - propertyPath: mLocalizeTarget - value: - objectReference: {fileID: 1950079323} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 199214813202e5f478789161b538685b, type: 3} +--- !u!114 &5034752974072861423 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6665318577877554359, guid: 199214813202e5f478789161b538685b, + type: 3} + m_PrefabInstance: {fileID: 5034752974072861411} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1fc24dbddd0945f88b3f12d9fa309fa7, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &7328251774669809636 PrefabInstance: m_ObjectHideFlags: 0 @@ -1272,6 +1710,18 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: b46e011db918bbe42a91795497f90b9c, type: 3} +--- !u!114 &7328251774669809638 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6208768169194617370, guid: b46e011db918bbe42a91795497f90b9c, + type: 3} + m_PrefabInstance: {fileID: 7328251774669809636} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 109145d75cad47b886be1e9be454f54b, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &9117079082731140882 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs index e50e6c73..3af2ce00 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/GameManager.cs @@ -1,5 +1,8 @@ using System; +using System.Collections.Generic; +using System.Linq; using UniRx; +using UniRx.Diagnostics; using UniRx.Triggers; using UnityEditor; using UnityEngine; @@ -24,32 +27,105 @@ namespace MyGame.Scenes.MiniGame.Scripts [SerializeField] private float timeLimit = 30f; [SerializeField] private HeaderView headerView; [SerializeField] private Player player; + [SerializeField] private StageSelectView stageSelectView; + [SerializeField] private FooterManager footerManager; [SerializeField] private StageManager stageManager; [SerializeField] private ResultManager resultManager; + [SerializeField] private GameObject readyObject; #if UNITY_EDITOR [SerializeField] private bool isDebug; #endif private readonly ReactiveProperty menuState = new ReactiveProperty(); private readonly ReactiveProperty state = new ReactiveProperty(); - - private IDisposable timerDisposable; + private readonly ReactiveProperty scoreCount = new ReactiveProperty(); + private readonly CompositeDisposable gameCompositeDisposable = new CompositeDisposable(); + private Vector3 characterBeginPos; // Start is called before the first frame update private void Start() { menuState.AddTo(this); state.AddTo(this); - menuState.Value = MenuState.Game; + scoreCount.AddTo(this); + gameCompositeDisposable.AddTo(this); + menuState.Value = MenuState.StageSelect; state.Value = GameState.Ready; - - + + var gameData = GameDataManager.GameData; + // Playカウントチェック + UpdatePlayCount(); + + var placeList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScrollGamePlaceDataSheet); + var stageList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScrollGameStageDataSheet); + + //ステージ読み込み + var placeId = 1; + var levelPlaceList = placeList.Where(data => data.placeId == placeId).ToArray(); + var levelStageList = stageList.Where(data => data.placeId == placeId).ToArray(); + + var scoreUpdate = new Subject().AddTo(this); + stageSelectView.SetPlaceData(levelPlaceList); + scoreUpdate.Subscribe(_ => + { + // スコア更新 + stageSelectView.SetScore(gameData.ScrollGamePlaceScoreList.FirstOrDefault(data => data.Id == placeId)?.Score ?? 0); + // 達成報酬更新 + }).AddTo(this); + for (var i = 0; i < levelStageList.Length; i++) + { + var stageData = levelStageList[i]; + if (i >= stageSelectView.ItemViewList.Length) + { + break; + } + var itemView = stageSelectView.ItemViewList[i]; + itemView.SetData(stageData); + var isFirstStage = i == 0; + var prevStageData = isFirstStage ? default : levelStageList[i - 1]; + scoreUpdate.Subscribe(_ => + { + // ハイスコア更新 + itemView.SetStageHiScore(gameData.ScrollGameStageScoreList + .FirstOrDefault(data => data.Id == stageData.id)?.Score ?? 0); + // ステージロック解除判定 + itemView.SetStageActive(isFirstStage || prevStageData.needScore <= (gameData.ScrollGameStageScoreList + .FirstOrDefault(data => data.Id == prevStageData.id)?.Score ?? 0)); + }).AddTo(this); + itemView.OnClick.ThrottleFirst(TimeSpan.FromSeconds(.2f)).Subscribe(_ => + { + if (gameData.ScrollGameTodayPlayCount == 0) + { + gameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary(); + gameData.ScrollGameTodayPlayCount++; + // ステージ読み込み + ResetGame(levelPlaceList, stageData); + menuState.Value = MenuState.Game; + return; + } + + // ポップアップ ビデオ視聴表示 + ScrollGameWatchVideoDialog.ShowDialog(() => + { + gameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary(); + gameData.ScrollGameTodayPlayCount++; + // ステージ読み込み + ResetGame(levelPlaceList, stageData); + menuState.Value = MenuState.Game; + }); + }).AddTo(this); + } + scoreUpdate.OnNext(Unit.Default); menuState.Subscribe(x => { + stageSelectView.gameObject.SetActive(x == MenuState.StageSelect); + footerManager.gameObject.SetActive(x == MenuState.StageSelect); + headerView.gameObject.SetActive(x == MenuState.Game); switch (x) { case MenuState.StageSelect: + resultManager.gameObject.SetActive(false); break; case MenuState.Game: break; @@ -58,26 +134,36 @@ namespace MyGame.Scenes.MiniGame.Scripts } }).AddTo(this); + // game impl + scoreCount.Subscribe(x => + { + headerView.ChangeItemCount(x); + }).AddTo(this); + + resultManager.OnClose.ThrottleFirst(TimeSpan.FromMilliseconds(.2f)).Subscribe(_ => + { + UpdatePlayCount(); + scoreUpdate.OnNext(Unit.Default); + menuState.Value = MenuState.StageSelect; + }).AddTo(this); + this.UpdateAsObservable() - .Where(_ => menuState.Value == MenuState.Game) .Where(_ => Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.Space)) + .Where(_ => menuState.Value == MenuState.Game && state.Value == GameState.Ready) .Subscribe(_ => { state.Value = GameState.Play; }).AddTo(this); - state.Subscribe(x => + state.Debug("gameState").Subscribe(x => { + readyObject.SetActive(x == GameState.Ready); switch (x) { case GameState.Ready: - timerDisposable?.Dispose(); - headerView.ResetView(); - headerView.ChangeTimeCount(timeLimit); break; case GameState.Play: - timerDisposable?.Dispose(); - timerDisposable = Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) + Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(1f)) .Select(time => (int)(timeLimit - time)) .TakeWhile(time => time >= 0) .Subscribe(time => @@ -86,7 +172,7 @@ namespace MyGame.Scenes.MiniGame.Scripts }, () => { state.Value = GameState.Success; - }).AddTo(this); + }).AddTo(gameCompositeDisposable); break; case GameState.Success: break; @@ -96,13 +182,20 @@ namespace MyGame.Scenes.MiniGame.Scripts throw new ArgumentOutOfRangeException(nameof(x), x, null); } }).AddTo(this); - + var playerTransform = player.transform; + characterBeginPos = playerTransform.position; var cameraTransform = Camera.main.transform; - var cameraOffset = cameraTransform.position - playerTransform.position.x * Vector3.right; - this.UpdateAsObservable() + var cameraOffset = cameraTransform.position - characterBeginPos.x * Vector3.right; + state.Where(x => x == GameState.Ready).Subscribe(_ => + { + cameraTransform.position = playerTransform.position.x * Vector3.right + cameraOffset; + }).AddTo(this); + state.Where(x => x == GameState.Play) + .Select(_ => this.UpdateAsObservable()) + .Switch() .Where(_ => state.Value == GameState.Play) - .DelayFrame(1) + .Skip(1) .Subscribe(_ => { player.Move(); @@ -114,7 +207,7 @@ namespace MyGame.Scenes.MiniGame.Scripts } }).AddTo(this); - playerTransform.OnTriggerEnter2DAsObservable().Subscribe(x => + playerTransform.OnTriggerEnter2DAsObservable().Where(_ => state.Value == GameState.Play).Subscribe(x => { var item = x.GetComponent(); if (item is null) @@ -139,7 +232,7 @@ namespace MyGame.Scenes.MiniGame.Scripts switch (item.ItemType) { case StageItem.Type.Item1: - headerView.AddCount(item.Point); + scoreCount.Value += item.Point; break; case StageItem.Type.Obstacle: player.Hit(); @@ -149,5 +242,54 @@ namespace MyGame.Scenes.MiniGame.Scripts } }).AddTo(this); } + + private void ResetGame(ScrollGamePlaceData[] placeList, ScrollGameStageData stageData) + { + stageManager.ResetStage(); + player.transform.position = characterBeginPos; + scoreCount.Value = 0; + headerView.ChangeTimeCount(timeLimit); + resultManager.Reset(); + gameCompositeDisposable.Clear(); + state.SkipLatestValueOnSubscribe().Subscribe(x => + { + switch (x) + { + case GameState.Ready: + break; + case GameState.Play: + break; + case GameState.Success: + resultManager.ShowResult(scoreCount.Value, placeList, stageData); + break; + case GameState.Failure: + break; + default: + throw new ArgumentOutOfRangeException(nameof(x), x, null); + } + }).AddTo(gameCompositeDisposable); + + resultManager.OnRetry.ThrottleFirst(TimeSpan.FromSeconds(.2f)).Subscribe(_ => + { + ScrollGameWatchVideoDialog.ShowDialog(() => + { + // GameDataManager.GameData.ScrollGameLastPlayTime = DateTime.UtcNow.ToBinary(); + // GameDataManager.GameData.ScrollGameTodayPlayCount++; + // ステージ読み込み + ResetGame(placeList, stageData); + }); + }).AddTo(gameCompositeDisposable); + + state.Value = GameState.Ready; + } + + private static void UpdatePlayCount() + { + // Playカウントリセット + // if (GameDataManager.GameData.GetScrollGameLimitTime().TotalSeconds <= 0) + { + GameDataManager.GameData.ScrollGameTodayPlayCount = 0; + } + } } } diff --git a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageManager.cs b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageManager.cs index bfa5fac8..85db8ef6 100644 --- a/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageManager.cs +++ b/popcorn/Assets/MyGame/Scenes/MiniGame/Scripts/StageManager.cs @@ -4,7 +4,7 @@ namespace MyGame.Scenes.MiniGame.Scripts { public class StageManager : MonoBehaviour { - + [SerializeField] private Transform stage; private Transform[] stages; public void SetBeginStages(Transform[] newStages) @@ -19,7 +19,11 @@ namespace MyGame.Scenes.MiniGame.Scripts public void ResetStage() { - + stage.parent.FindAllChildrensComponent(collider => + { + collider.gameObject.SetActive(true); + collider.enabled = true; + }); } } } \ No newline at end of file