販売試食看板の表示条件修正

This commit is contained in:
kimura 2021-12-14 15:14:25 +09:00
parent 16cb145eba
commit 077c0468f1
2 changed files with 17 additions and 6 deletions

View File

@ -226,6 +226,9 @@ public class MarketManager : MonoBehaviour
SetShopView(state); SetShopView(state);
}).AddTo(this); }).AddTo(this);
// 試食看板はStart時非表示
signBoardView.SetActiveTastingBoard(false);
// 宣伝ボタン/試食表示切替 // 宣伝ボタン/試食表示切替
var tastingComplete = new Subject<Unit>().AddTo(this); var tastingComplete = new Subject<Unit>().AddTo(this);
market.CurrentShopState market.CurrentShopState
@ -244,6 +247,7 @@ public class MarketManager : MonoBehaviour
else if (gameData.TastingCount > 0) else if (gameData.TastingCount > 0)
{ {
rewardButtonView.gameObject.SetActive(false); rewardButtonView.gameObject.SetActive(false);
// 試食表示
signBoardView.SetActiveTastingBoard(true); signBoardView.SetActiveTastingBoard(true);
BrotherPinkView.Instance.StartTasting(); BrotherPinkView.Instance.StartTasting();
BrotherPinkView.Instance.SetTastingCount(gameData.TastingCount); BrotherPinkView.Instance.SetTastingCount(gameData.TastingCount);
@ -257,18 +261,17 @@ public class MarketManager : MonoBehaviour
BrotherPinkView.Instance.StopTasting(); BrotherPinkView.Instance.StopTasting();
}); });
} }
else else // 宣伝も試食も未発動
{ {
BrotherPinkView.Instance.StopTasting(); BrotherPinkView.Instance.StopTasting();
rewardButtonView.gameObject.SetActive(true); rewardButtonView.gameObject.SetActive(true);
signBoardView.SetActiveTastingBoard(false);
} }
} }
else else // 閉店
{ {
BrotherPinkView.Instance.StopTasting(); BrotherPinkView.Instance.StopTasting();
rewardButtonView.gameObject.SetActive(false); rewardButtonView.gameObject.SetActive(false);
signBoardView.SetActiveTastingBoard(false); signBoardView.CancelTasting();
} }
}).AddTo(this); }).AddTo(this);
// CombineLatest動かすのに必要 // CombineLatest動かすのに必要

View File

@ -7,7 +7,8 @@ namespace MyGame.Scenes.marketing.Scripts
{ {
public class MarketSignBoardView : MonoBehaviour public class MarketSignBoardView : MonoBehaviour
{ {
private static readonly string remainTimeFormat = "残り{0:D2}{1:D2}"; private static readonly string RemainTimeFormat = "残り{0:D2}{1:D2}";
private static readonly string TimeUpText = "終了";
[SerializeField] private Text remainTimeText; [SerializeField] private Text remainTimeText;
[SerializeField] private GameObject normalBoardObject; [SerializeField] private GameObject normalBoardObject;
[SerializeField] private GameObject tastingBoardObject; [SerializeField] private GameObject tastingBoardObject;
@ -23,7 +24,7 @@ namespace MyGame.Scenes.marketing.Scripts
private void SetTime(int seconds) private void SetTime(int seconds)
{ {
seconds = Mathf.Max(0, seconds); seconds = Mathf.Max(0, seconds);
remainTimeText.text = string.Format(remainTimeFormat, Mathf.Min(seconds / 60, 99), seconds % 60); remainTimeText.text = string.Format(RemainTimeFormat, Mathf.Min(seconds / 60, 99), seconds % 60);
} }
public void SetTimer(int remaining, Action onInterval = null, Action onComplete = null) public void SetTimer(int remaining, Action onInterval = null, Action onComplete = null)
@ -38,8 +39,15 @@ namespace MyGame.Scenes.marketing.Scripts
onInterval?.Invoke(); onInterval?.Invoke();
}, () => }, () =>
{ {
remainTimeText.text = TimeUpText;
onComplete?.Invoke(); onComplete?.Invoke();
}).AddTo(this); }).AddTo(this);
} }
public void CancelTasting()
{
timerDispose?.Dispose();
remainTimeText.text = TimeUpText;
}
} }
} }