フッターで今いるシーンへの遷移ボタンを押せないようにした

This commit is contained in:
kimura 2021-10-15 15:57:32 +09:00
parent aa005b6e42
commit 12e2bfa740
2 changed files with 42 additions and 31 deletions

View File

@ -392,7 +392,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0} m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, 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_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}

View File

@ -1,6 +1,7 @@
using System; using System;
using UniRx; using UniRx;
using UnityEngine; using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI; using UnityEngine.UI;
public class FooterManager : MonoBehaviour public class FooterManager : MonoBehaviour
@ -10,34 +11,44 @@ public class FooterManager : MonoBehaviour
[SerializeField] private Button stockButton; [SerializeField] private Button stockButton;
[SerializeField] private Button saleButton; [SerializeField] private Button saleButton;
[SerializeField] private Button productManagementButton; [SerializeField] private Button productManagementButton;
private BoolReactiveProperty shareGate = new BoolReactiveProperty(true);
private void Start() private void Start()
{ {
kitchenButton.BindToOnClick(shareGate, _ => var currentSceneName = SceneManager.GetActiveScene().name;
{ kitchenButton.interactable = currentSceneName != GameScenes.Main.ToString();
TransitionManager.Instance.LoadScene(GameScenes.Main); fieldButton.interactable = currentSceneName != GameScenes.CornField.ToString();
return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); stockButton.interactable = currentSceneName != GameScenes.shopping.ToString();
}).AddTo(this); saleButton.interactable = currentSceneName != GameScenes.marketing.ToString();
fieldButton.BindToOnClick(shareGate, _ => productManagementButton.interactable = currentSceneName != GameScenes.ProductManagement.ToString();
{ kitchenButton.OnClickAsObservable()
TransitionManager.Instance.LoadScene(GameScenes.CornField); .ThrottleFirst(TimeSpan.FromSeconds(.5f))
return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); .Subscribe(_ =>
}).AddTo(this); {
stockButton.BindToOnClick(shareGate, _ => TransitionManager.Instance.LoadScene(GameScenes.Main);
{ }).AddTo(this);
TransitionManager.Instance.LoadScene(GameScenes.shopping); fieldButton.OnClickAsObservable()
return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); .ThrottleFirst(TimeSpan.FromSeconds(.5f))
}).AddTo(this); .Subscribe(_ =>
saleButton.BindToOnClick(shareGate, _ => {
{ TransitionManager.Instance.LoadScene(GameScenes.CornField);
TransitionManager.Instance.LoadScene(GameScenes.marketing); }).AddTo(this);
return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); stockButton.OnClickAsObservable()
}).AddTo(this); .ThrottleFirst(TimeSpan.FromSeconds(.5f))
productManagementButton.BindToOnClick(shareGate, _ => .Subscribe(_ =>
{ {
TransitionManager.Instance.LoadScene(GameScenes.ProductManagement); TransitionManager.Instance.LoadScene(GameScenes.shopping);
return Observable.Timer(TimeSpan.FromSeconds(.5f)).AsUnitObservable(); }).AddTo(this);
}).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);
} }
} }