diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs index b8d5db41..77b571f1 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs @@ -20,7 +20,9 @@ public enum CornFieldRank public class CornField : MonoBehaviour { [SerializeField] private float animationDuration = .3f; - [Space] + [SerializeField] private float fertilizerFinishWaitTime = 1f; + [Space] + [SerializeField] private UIVisibleController uiVisibleController; [SerializeField] private Button promoteGrowthButton; [SerializeField] private Button upgradeButton; [SerializeField] private GameObject harvestEffectPrefab; @@ -42,7 +44,8 @@ public class CornField : MonoBehaviour private static readonly float animationStartDelay = .02f; private static readonly int animationDivisor = 3; private static readonly int animationLimit = 100; - + + private static readonly int fertilizerDuration = 15; private static readonly double fertilizerWaitTime = 300f; private readonly CompositeDisposable compositeDisposable = new CompositeDisposable(); @@ -93,9 +96,20 @@ public class CornField : MonoBehaviour { GetRewardDialog.ShowCornFieldDialog(() => { + gameData.fertilizerTime = DateTime.UtcNow.AddSeconds(fertilizerWaitTime + fertilizerDuration).ToBinary(); +#if UNITY_EDITOR + gameData.fertilizerTime = DateTime.UtcNow.AddSeconds(10 + fertilizerDuration).ToBinary(); +#endif + GameDataManager.SaveGameData(); + SoundManager.Instance.PlayBGM("bgm_fertilizer"); brotherFertilizerAnimation.StartAnimation(); + // button非表示 + fertilizerButtonView.gameObject.SetActive(false); promoteGrowthButton.gameObject.SetActive(false); + upgradeButton.gameObject.SetActive(false); + uiVisibleController.SetActive(false); + SetCornField(true); var push = new Subject().AddTo(this); @@ -123,7 +137,7 @@ public class CornField : MonoBehaviour } } Observable.Timer(TimeSpan.FromSeconds(1f), TimeSpan.FromSeconds(1f)) - .Select(x => (int)(15 - x)) + .Select(x => (int)(fertilizerDuration - x)) .TakeWhile(x => x > 0) .Subscribe(x => { @@ -132,11 +146,17 @@ public class CornField : MonoBehaviour { SoundManager.Instance.PlayBGM("bgm_Main"); brotherFertilizerAnimation.EndAnimation(); - promoteGrowthButton.gameObject.SetActive(true); SetCornField(); - gameData.fertilizerTime = DateTime.UtcNow.AddSeconds(fertilizerWaitTime).ToBinary(); - GameDataManager.SaveGameData(); resetFertilizerTimer.OnNext((int)DateTime.FromBinary(gameData.fertilizerTime).Subtract(DateTime.UtcNow).TotalSeconds); + + this.CallWaitForSeconds(fertilizerFinishWaitTime, () => + { + // ボタン表示復活 + fertilizerButtonView.gameObject.SetActive(true); + promoteGrowthButton.gameObject.SetActive(true); + upgradeButton.gameObject.SetActive(true); + uiVisibleController.SetActive(true); + }); }).AddTo(this); }); }).AddTo(this); @@ -145,9 +165,6 @@ public class CornField : MonoBehaviour resetFertilizerTimer .Subscribe(x => { -#if UNITY_EDITOR - x = 5; -#endif fertilizerButtonView.SetButtonActive(x <= 0); fertilizerButtonView.SetTime(x); SetFertilizerTimer(x).AddTo(this); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab index 4de057f6..f5d3c4f2 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab +++ b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/Canvas.prefab @@ -1190,6 +1190,56 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1043394538986757308 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2279658240340545036} + - component: {fileID: 6168082219279810231} + m_Layer: 5 + m_Name: UIManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2279658240340545036 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043394538986757308} + 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: 3664916832564167477} + 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: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &6168082219279810231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043394538986757308} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924eb4fad074319b84c6282591cc527, type: 3} + m_Name: + m_EditorClassIdentifier: + headerObject: {fileID: 3664916834242367712} + footerObject: {fileID: 3664916833752817996} --- !u!1 &1527155573937108630 GameObject: m_ObjectHideFlags: 0 @@ -1459,6 +1509,7 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_Children: - {fileID: 3664916832844628215} + - {fileID: 2279658240340545036} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -2559,6 +2610,11 @@ PrefabInstance: propertyPath: m_Name value: Footer objectReference: {fileID: 0} + - target: {fileID: 3310671341541575850, guid: 42b6e2c5e0aa46a4e973df1237dc5691, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 3310671341541575851, guid: 42b6e2c5e0aa46a4e973df1237dc5691, type: 3} propertyPath: m_Pivot.x @@ -2666,6 +2722,12 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 42b6e2c5e0aa46a4e973df1237dc5691, type: 3} +--- !u!1 &3664916833752817996 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3310671341541575850, guid: 42b6e2c5e0aa46a4e973df1237dc5691, + type: 3} + m_PrefabInstance: {fileID: 2246654624185019878} + m_PrefabAsset: {fileID: 0} --- !u!224 &3664916833752817997 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 3310671341541575851, guid: 42b6e2c5e0aa46a4e973df1237dc5691, @@ -2739,6 +2801,11 @@ PrefabInstance: propertyPath: m_Name value: Header objectReference: {fileID: 0} + - target: {fileID: 137127163878687690, guid: ac3be7383b736d941b251a588e626963, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 137127163878687691, guid: ac3be7383b736d941b251a588e626963, type: 3} propertyPath: m_Pivot.x @@ -2862,6 +2929,12 @@ PrefabInstance: objectReference: {fileID: 3664916832844628215} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: ac3be7383b736d941b251a588e626963, type: 3} +--- !u!1 &3664916834242367712 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 137127163878687690, guid: ac3be7383b736d941b251a588e626963, + type: 3} + m_PrefabInstance: {fileID: 3691625806369805098} + m_PrefabAsset: {fileID: 0} --- !u!224 &3664916834242367713 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 137127163878687691, guid: ac3be7383b736d941b251a588e626963, diff --git a/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs b/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs new file mode 100644 index 00000000..5113affa --- /dev/null +++ b/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +public class UIVisibleController : MonoBehaviour +{ + [SerializeField] private GameObject headerObject; + [SerializeField] private GameObject footerObject; + + public void SetActive(bool active) + { + headerObject.SetActive(active); + footerObject.SetActive(active); + } +} diff --git a/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs.meta b/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs.meta new file mode 100644 index 00000000..5ef59b82 --- /dev/null +++ b/popcorn/Assets/MyGame/Scripts/UIVisibleController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 0924eb4fad074319b84c6282591cc527 +timeCreated: 1634805216 \ No newline at end of file