試食ダイアログ周りリファクタ
This commit is contained in:
parent
6bcafea15e
commit
b2c3871b50
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue