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

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);
var tankData = gameData.StorageTanks[index];
selectedTank.Value = (tankList[index].TankNumber, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
Action tastingAction = () =>
selectedTank.Value = (index + 1, productList.FirstOrDefault(data => data.id == tankData.FlavorId));
void TastingAction()
{
state.Value = ManagementState.None;
Tasting(selectedTank.Value.num);
tankList[selectedTank.Value.num - 1].SetData(gameData.StorageTanks[selectedTank.Value.num - 1]);
SetActiveTastingButton(gameData.StorageTanks.Any(tank => !tank.IsEmpty));
};
LocalCacheManager.Save(TastingView.TastingDataTag, (selectedTank.AsObservable(), new Action(() => state.Value = ManagementState.None), tastingAction));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.Tasting);
}
TastingView.ShowDialog(selectedTank.AsObservable(), () => state.Value = ManagementState.None, TastingAction);
break;
default:
throw new ArgumentOutOfRangeException(nameof(mState), mState, null);

View File

@ -6,7 +6,7 @@ using UnityEngine.UI;
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 CloseTrigger = Animator.StringToHash("CloseTrigger");
@ -44,4 +44,10 @@ public class TastingView : MonoBehaviour
});
}).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);
}
}