diff --git a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UI/Footer.prefab b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UI/Footer.prefab index b341531c..c5321400 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UI/Footer.prefab +++ b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UI/Footer.prefab @@ -392,7 +392,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} @@ -884,7 +884,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} @@ -1095,7 +1095,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} @@ -1232,7 +1232,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} @@ -1517,7 +1517,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 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} diff --git a/popcorn/Assets/MyGame/Scripts/FooterManager.cs b/popcorn/Assets/MyGame/Scripts/FooterManager.cs index 119c9d39..917a5918 100644 --- a/popcorn/Assets/MyGame/Scripts/FooterManager.cs +++ b/popcorn/Assets/MyGame/Scripts/FooterManager.cs @@ -1,6 +1,7 @@ using System; using UniRx; using UnityEngine; +using UnityEngine.SceneManagement; using UnityEngine.UI; public class FooterManager : MonoBehaviour @@ -10,34 +11,44 @@ public class FooterManager : MonoBehaviour [SerializeField] private Button stockButton; [SerializeField] private Button saleButton; [SerializeField] private Button productManagementButton; - private BoolReactiveProperty shareGate = new BoolReactiveProperty(true); private void Start() { - kitchenButton.BindToOnClick(shareGate, _ => - { - TransitionManager.Instance.LoadScene(GameScenes.Main); - return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); - }).AddTo(this); - fieldButton.BindToOnClick(shareGate, _ => - { - TransitionManager.Instance.LoadScene(GameScenes.CornField); - return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); - }).AddTo(this); - stockButton.BindToOnClick(shareGate, _ => - { - TransitionManager.Instance.LoadScene(GameScenes.shopping); - return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); - }).AddTo(this); - saleButton.BindToOnClick(shareGate, _ => - { - TransitionManager.Instance.LoadScene(GameScenes.marketing); - return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); - }).AddTo(this); - productManagementButton.BindToOnClick(shareGate, _ => - { - TransitionManager.Instance.LoadScene(GameScenes.ProductManagement); - return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); - }).AddTo(this); + var currentSceneName = SceneManager.GetActiveScene().name; + kitchenButton.interactable = currentSceneName != GameScenes.Main.ToString(); + fieldButton.interactable = currentSceneName != GameScenes.CornField.ToString(); + stockButton.interactable = currentSceneName != GameScenes.shopping.ToString(); + saleButton.interactable = currentSceneName != GameScenes.marketing.ToString(); + productManagementButton.interactable = currentSceneName != GameScenes.ProductManagement.ToString(); + kitchenButton.OnClickAsObservable() + .ThrottleFirst(TimeSpan.FromSeconds(.5f)) + .Subscribe(_ => + { + TransitionManager.Instance.LoadScene(GameScenes.Main); + }).AddTo(this); + fieldButton.OnClickAsObservable() + .ThrottleFirst(TimeSpan.FromSeconds(.5f)) + .Subscribe(_ => + { + TransitionManager.Instance.LoadScene(GameScenes.CornField); + }).AddTo(this); + stockButton.OnClickAsObservable() + .ThrottleFirst(TimeSpan.FromSeconds(.5f)) + .Subscribe(_ => + { + TransitionManager.Instance.LoadScene(GameScenes.shopping); + }).AddTo(this); + saleButton.OnClickAsObservable() + .ThrottleFirst(TimeSpan.FromSeconds(.5f)) + .Subscribe(_ => + { + TransitionManager.Instance.LoadScene(GameScenes.marketing); + }).AddTo(this); + productManagementButton.OnClickAsObservable() + .ThrottleFirst(TimeSpan.FromSeconds(.5f)) + .Subscribe(_ => + { + TransitionManager.Instance.LoadScene(GameScenes.ProductManagement); + }).AddTo(this); } } \ No newline at end of file