フッターボタン対応
This commit is contained in:
parent
7fd6fab1b3
commit
fcabfdf942
|
|
@ -442,6 +442,7 @@ GameObject:
|
|||
- component: {fileID: 3310671341034218319}
|
||||
- component: {fileID: 3310671341034218318}
|
||||
- component: {fileID: 5615842281030838038}
|
||||
- component: {fileID: 5274539976409466502}
|
||||
m_Layer: 5
|
||||
m_Name: Button_Purchasing
|
||||
m_TagString: Untagged
|
||||
|
|
@ -567,6 +568,22 @@ MonoBehaviour:
|
|||
randomPlaySEFilenames: []
|
||||
randomPlayVoiceFilenames: []
|
||||
vibrationType: 0
|
||||
--- !u!114 &5274539976409466502
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3310671341034218320}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0dc14a074a045e692da5b06f4ebf359, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
onSprite: {fileID: 21300000, guid: d3e596bc03ab54cb89bf61b9ebb26053, type: 3}
|
||||
offSprite: {fileID: 21300000, guid: 1a7dcb2763dc8d44897ac8b797f1bd3a, type: 3}
|
||||
onObject: {fileID: 4604508287391511616}
|
||||
offObject: {fileID: 5397224606299006486}
|
||||
--- !u!1 &3310671341133373343
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -917,11 +934,11 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 81bfae5c50ac45de9ed02294b4c64bda, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
kitchenButton: {fileID: 3310671341787608547}
|
||||
fieldButton: {fileID: 3310671341662576995}
|
||||
stockButton: {fileID: 3310671341034218318}
|
||||
saleButton: {fileID: 3310671341763054133}
|
||||
productManagementButton: {fileID: 3908473096140235644}
|
||||
kitchenButton: {fileID: 3441612917021780293}
|
||||
fieldButton: {fileID: 415266614366797415}
|
||||
stockButton: {fileID: 5274539976409466502}
|
||||
saleButton: {fileID: 3508757909112374925}
|
||||
productManagementButton: {fileID: 4134779366559125937}
|
||||
--- !u!1 &3310671341662576997
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -935,6 +952,7 @@ GameObject:
|
|||
- component: {fileID: 3310671341662576992}
|
||||
- component: {fileID: 3310671341662576995}
|
||||
- component: {fileID: 226840924175146768}
|
||||
- component: {fileID: 415266614366797415}
|
||||
m_Layer: 5
|
||||
m_Name: Button_field
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1060,6 +1078,22 @@ MonoBehaviour:
|
|||
randomPlaySEFilenames: []
|
||||
randomPlayVoiceFilenames: []
|
||||
vibrationType: 0
|
||||
--- !u!114 &415266614366797415
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3310671341662576997}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0dc14a074a045e692da5b06f4ebf359, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
onSprite: {fileID: 21300000, guid: d3e596bc03ab54cb89bf61b9ebb26053, type: 3}
|
||||
offSprite: {fileID: 21300000, guid: 1a7dcb2763dc8d44897ac8b797f1bd3a, type: 3}
|
||||
onObject: {fileID: 4207961455349558885}
|
||||
offObject: {fileID: 6803842389791368715}
|
||||
--- !u!1 &3310671341740920859
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1147,6 +1181,7 @@ GameObject:
|
|||
- component: {fileID: 3310671341763054130}
|
||||
- component: {fileID: 3310671341763054133}
|
||||
- component: {fileID: 8391726069586212425}
|
||||
- component: {fileID: 3508757909112374925}
|
||||
m_Layer: 5
|
||||
m_Name: Button_shop
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1272,6 +1307,22 @@ MonoBehaviour:
|
|||
randomPlaySEFilenames: []
|
||||
randomPlayVoiceFilenames: []
|
||||
vibrationType: 0
|
||||
--- !u!114 &3508757909112374925
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3310671341763054135}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0dc14a074a045e692da5b06f4ebf359, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
onSprite: {fileID: 21300000, guid: d3e596bc03ab54cb89bf61b9ebb26053, type: 3}
|
||||
offSprite: {fileID: 21300000, guid: 1a7dcb2763dc8d44897ac8b797f1bd3a, type: 3}
|
||||
onObject: {fileID: 1397606787759984249}
|
||||
offObject: {fileID: 6506264669292749216}
|
||||
--- !u!1 &3310671341787608549
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -1285,6 +1336,7 @@ GameObject:
|
|||
- component: {fileID: 3310671341787608544}
|
||||
- component: {fileID: 3310671341787608547}
|
||||
- component: {fileID: 3650288098092561283}
|
||||
- component: {fileID: 3441612917021780293}
|
||||
m_Layer: 5
|
||||
m_Name: Button_Main
|
||||
m_TagString: Untagged
|
||||
|
|
@ -1410,6 +1462,22 @@ MonoBehaviour:
|
|||
randomPlaySEFilenames: []
|
||||
randomPlayVoiceFilenames: []
|
||||
vibrationType: 0
|
||||
--- !u!114 &3441612917021780293
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3310671341787608549}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0dc14a074a045e692da5b06f4ebf359, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
onSprite: {fileID: 21300000, guid: da7d0891d65e44ffca043abc8256e3a8, type: 3}
|
||||
offSprite: {fileID: 21300000, guid: 01a6ddb05d59146478a033251ec40dce, type: 3}
|
||||
onObject: {fileID: 5788652954579550797}
|
||||
offObject: {fileID: 3760014368482622429}
|
||||
--- !u!1 &3653150424385182768
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -3023,6 +3091,7 @@ GameObject:
|
|||
- component: {fileID: 3839574963423866813}
|
||||
- component: {fileID: 3908473096140235644}
|
||||
- component: {fileID: 6572005448138348688}
|
||||
- component: {fileID: 4134779366559125937}
|
||||
m_Layer: 5
|
||||
m_Name: Button_ProductManagement
|
||||
m_TagString: Untagged
|
||||
|
|
@ -3148,6 +3217,22 @@ MonoBehaviour:
|
|||
randomPlaySEFilenames: []
|
||||
randomPlayVoiceFilenames: []
|
||||
vibrationType: 0
|
||||
--- !u!114 &4134779366559125937
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7178078486938443981}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a0dc14a074a045e692da5b06f4ebf359, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
onSprite: {fileID: 21300000, guid: d3e596bc03ab54cb89bf61b9ebb26053, type: 3}
|
||||
offSprite: {fileID: 21300000, guid: 1a7dcb2763dc8d44897ac8b797f1bd3a, type: 3}
|
||||
onObject: {fileID: 6568569349235814729}
|
||||
offObject: {fileID: 4988977873717047542}
|
||||
--- !u!1 &7430888814095242979
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
using System;
|
||||
using UniRx;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace MyGame.Scripts
|
||||
{
|
||||
[RequireComponent(typeof(Button))]
|
||||
public class FooterButton : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Sprite onSprite;
|
||||
[SerializeField] private Sprite offSprite;
|
||||
[SerializeField] private GameObject onObject;
|
||||
[SerializeField] private GameObject offObject;
|
||||
private static readonly int DelayCount = 2;
|
||||
private Button button;
|
||||
public IObservable<Unit> ClickObservable => button.OnClickAsObservable().TakeUntilDestroy(this);
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
button = GetComponent<Button>();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
button.OnClickAsObservable().Subscribe(_ =>
|
||||
{
|
||||
|
||||
}).AddTo(this);
|
||||
}
|
||||
|
||||
public void SetSelected(bool selected)
|
||||
{
|
||||
button.interactable = !selected;
|
||||
button.image.sprite = selected ? onSprite : offSprite;
|
||||
Observable.TimerFrame(DelayCount)
|
||||
.Subscribe(_ =>
|
||||
{
|
||||
onObject.SetActive(selected);
|
||||
offObject.SetActive(!selected);
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a0dc14a074a045e692da5b06f4ebf359
|
||||
timeCreated: 1638352356
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using MyGame.Scripts;
|
||||
using UniRx;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
|
@ -6,49 +7,33 @@ using UnityEngine.UI;
|
|||
|
||||
public class FooterManager : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Button kitchenButton;
|
||||
[SerializeField] private Button fieldButton;
|
||||
[SerializeField] private Button stockButton;
|
||||
[SerializeField] private Button saleButton;
|
||||
[SerializeField] private Button productManagementButton;
|
||||
[SerializeField] private FooterButton kitchenButton;
|
||||
[SerializeField] private FooterButton fieldButton;
|
||||
[SerializeField] private FooterButton stockButton;
|
||||
[SerializeField] private FooterButton saleButton;
|
||||
[SerializeField] private FooterButton productManagementButton;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
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(_ =>
|
||||
if (!Enum.TryParse<GameScenes>(SceneManager.GetActiveScene().name, out var currentSceneName))
|
||||
{
|
||||
return;
|
||||
}
|
||||
kitchenButton.SetSelected(currentSceneName == GameScenes.Main);
|
||||
fieldButton.SetSelected(currentSceneName == GameScenes.CornField);
|
||||
stockButton.SetSelected(currentSceneName == GameScenes.shopping);
|
||||
saleButton.SetSelected(currentSceneName == GameScenes.marketing);
|
||||
productManagementButton.SetSelected(currentSceneName == GameScenes.ProductManagement);
|
||||
Observable.Merge(
|
||||
kitchenButton.ClickObservable.Select(_ => GameScenes.Main),
|
||||
fieldButton.ClickObservable.Select(_ => GameScenes.CornField),
|
||||
stockButton.ClickObservable.Select(_ => GameScenes.shopping),
|
||||
saleButton.ClickObservable.Select(_ => GameScenes.marketing),
|
||||
productManagementButton.ClickObservable.Select(_ => GameScenes.ProductManagement))
|
||||
.Take(1)
|
||||
.Subscribe(x =>
|
||||
{
|
||||
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);
|
||||
TransitionManager.Instance.LoadScene(x);
|
||||
}).AddTo(this);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue