試食ダイアログ周りリファクタ

This commit is contained in:
kimura 2022-04-19 17:52:24 +09:00
parent 6bcafea15e
commit b2c3871b50
2 changed files with 11 additions and 6 deletions

View File

@ -179,16 +179,15 @@ public class ProductManagement : MonoBehaviour
tankList[index].SetState(TankState.Selected); tankList[index].SetState(TankState.Selected);
var tankData = gameData.StorageTanks[index]; var tankData = gameData.StorageTanks[index];
selectedTank.Value = (tankList[index].TankNumber, productList.FirstOrDefault(data => data.id == tankData.FlavorId)); selectedTank.Value = (index + 1, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
Action tastingAction = () => void TastingAction()
{ {
state.Value = ManagementState.None; state.Value = ManagementState.None;
Tasting(selectedTank.Value.num); Tasting(selectedTank.Value.num);
tankList[selectedTank.Value.num - 1].SetData(gameData.StorageTanks[selectedTank.Value.num - 1]); tankList[selectedTank.Value.num - 1].SetData(gameData.StorageTanks[selectedTank.Value.num - 1]);
SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty)); SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty));
}; }
LocalCacheManager.Save(TastingView.TastingDataTag, (selectedTank.AsObservable(), new Action(() => state.Value = ManagementState.None), tastingAction)); TastingView.ShowDialog(selectedTank.AsObservable(), () => state.Value = ManagementState.None, TastingAction);
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting);
break; break;
default: default:
throw new ArgumentOutOfRangeException(nameof(mState), mState, null); throw new ArgumentOutOfRangeException(nameof(mState), mState, null);

View File

@ -6,7 +6,7 @@ using UnityEngine.UI;
public class TastingView : MonoBehaviour public class TastingView : MonoBehaviour
{ {
public static readonly string TastingDataTag = "TastingData"; private static readonly string TastingDataTag = "TastingData";
private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger"); private static readonly int OpenTrigger = Animator.StringToHash("OpenTrigger");
private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger"); private static readonly int CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -44,4 +44,10 @@ public class TastingView : MonoBehaviour
}); });
}).AddTo(this); }).AddTo(this);
} }
public static void ShowDialog(IObservable<(int tankNum, ProductData productData)> selectedObservable, Action closeButtonAction, Action tastingButtonAction)
{
LocalCacheManager.Save(TastingDataTag, (selectedObservable, closeButtonAction, tastingButtonAction));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting);
}
} }