Compare commits
3 Commits
a2bb7a9f97
...
6d08ec9252
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6d08ec9252 | ||
![]() |
cbc1d6982d | ||
![]() |
0c6ec55470 |
@ -27,6 +27,12 @@ MonoBehaviour:
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 5c7c87af5db0e884eb3b979cb1d2188b
|
||||
m_Address: CookwareDataSo
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels:
|
||||
- GoogleSheetSo
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7446495d3106eff4ab5b0f9d7d97b579
|
||||
m_Address: DrinkDataSo
|
||||
m_ReadOnly: 0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,8 @@ SpriteAtlasAsset:
|
||||
m_ImporterData:
|
||||
packables:
|
||||
- {fileID: -502432213, guid: f6859731666dd444a9c3bc04005ac3fa, type: 3}
|
||||
- {fileID: -975732387, guid: 0b80400f6a609d6489f9da53bc2438c7, type: 3}
|
||||
- {fileID: 141783083, guid: acadfd472bff2194fb213497cdc62d66, type: 3}
|
||||
- {fileID: 825273812, guid: bcb8eb887f2d0814d9faa440dd50bce4, type: 3}
|
||||
- {fileID: -975732387, guid: 0b80400f6a609d6489f9da53bc2438c7, type: 3}
|
||||
m_IsVariant: 0
|
||||
m_ScriptablePacker: {fileID: 0}
|
||||
|
@ -4220,11 +4220,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
||||
propertyPath: _currentVersion
|
||||
value: "4 - 2025-07-28 18:14:02 by \uB0A8\uD0DC\uAC74"
|
||||
value: "6 - 2025-07-30 16:48:31 by \uB0A8\uD0DC\uAC74"
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
||||
propertyPath: _refreshTrigger
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
|
BIN
Assets/_DDD/_Raw/OnlyAtlas/RestaurantManagementUi/CookwareDetailPanel.png
(Stored with Git LFS)
Normal file
BIN
Assets/_DDD/_Raw/OnlyAtlas/RestaurantManagementUi/CookwareDetailPanel.png
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,168 @@
|
||||
fileFormatVersion: 2
|
||||
guid: acadfd472bff2194fb213497cdc62d66
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 0
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 1
|
||||
wrapV: 1
|
||||
wrapW: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteExtrude: 2
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 1
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 8
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Android
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: WindowsStoreApps
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: CookwareDetailPanel
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 117
|
||||
width: 512
|
||||
height: 234
|
||||
alignment: 0
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
customData:
|
||||
outline: []
|
||||
physicsShape: []
|
||||
tessellationDetail: 0
|
||||
bones: []
|
||||
spriteID: 70a27c0e626941b4ba70d935160ae374
|
||||
internalID: 141783083
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID: 5e97eb03825dee720800000000000000
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
CookwareDetailPanel: 141783083
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -123,7 +123,7 @@ TextureImporter:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: NotCookwarePanel
|
||||
name: IngredientDetailPanel
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
@ -160,7 +160,7 @@ TextureImporter:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
NotCookwarePanel: 825273812
|
||||
IngredientDetailPanel: 825273812
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData: processed
|
@ -136,7 +136,7 @@ TextureImporter:
|
||||
serializedVersion: 2
|
||||
sprites:
|
||||
- serializedVersion: 2
|
||||
name: CookwarePanel
|
||||
name: RecipeDetailPanel
|
||||
rect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
@ -173,7 +173,7 @@ TextureImporter:
|
||||
- key: SpriteEditor.SliceSettings
|
||||
value: '{"sliceOnImport":false,"gridCellCount":{"x":1.0,"y":1.0},"gridSpriteSize":{"x":64.0,"y":64.0},"gridSpriteOffset":{"x":0.0,"y":0.0},"gridSpritePadding":{"x":0.0,"y":0.0},"pivot":{"x":0.0,"y":0.0},"autoSlicingMethod":0,"spriteAlignment":0,"slicingType":0,"keepEmptyRects":false,"isAlternate":false}'
|
||||
nameFileIdTable:
|
||||
CookwarePanel: -975732387
|
||||
RecipeDetailPanel: -975732387
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData: processed
|
@ -53,6 +53,7 @@ MonoBehaviour:
|
||||
- RecipeData
|
||||
- FoodData
|
||||
- DrinkData
|
||||
- CookwareData
|
||||
- IngredientData
|
||||
- TasteData
|
||||
- EnvironmentData
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,15 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1d847e6c76ebcd640894fa0023b6ce7c, type: 3}
|
||||
m_Name: SelectCookwareTabUi_TabUiConfigSo
|
||||
m_EditorClassIdentifier:
|
||||
DisplayNameKey: Test002
|
@ -1,15 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1d847e6c76ebcd640894fa0023b6ce7c, type: 3}
|
||||
m_Name: SelectMenuTabUi_TabUiConfigSo
|
||||
m_EditorClassIdentifier:
|
||||
DisplayNameKey: Test001
|
@ -1,15 +0,0 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1d847e6c76ebcd640894fa0023b6ce7c, type: 3}
|
||||
m_Name: SelectWorkerTabUi_TabUiConfigSo
|
||||
m_EditorClassIdentifier:
|
||||
DisplayNameKey: Test003
|
@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 519ea24b8eb68da449fc191a1237b232
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -8,17 +8,10 @@ namespace DDD
|
||||
{
|
||||
public class DataManager : Singleton<DataManager>, IManager
|
||||
{
|
||||
public ItemDataSo ItemDataSo { get; private set; }
|
||||
public RecipeDataSo RecipeDataSo { get; private set; }
|
||||
public FoodDataSo FoodDataSo { get; private set; }
|
||||
public DrinkDataSo DrinkDataSo { get; private set; }
|
||||
public IngredientDataSo IngredientDataSo { get; private set; }
|
||||
public TasteDataSo TasteDataSo { get; private set; }
|
||||
public EnvironmentDataSo EnvironmentDataSo { get; private set; }
|
||||
|
||||
private readonly Dictionary<Type, ScriptableObject> _dataSoTable = new();
|
||||
private Dictionary<string, Sprite> _spriteAtlas;
|
||||
|
||||
public bool IsInitialized { get; private set; }
|
||||
private const string SoLabel = "GoogleSheetSo";
|
||||
|
||||
public void PreInit()
|
||||
{
|
||||
@ -27,14 +20,30 @@ public void PreInit()
|
||||
|
||||
public async Task Init()
|
||||
{
|
||||
ItemDataSo = await AssetManager.LoadAsset<ItemDataSo>(DataConstants.ItemDataSo);
|
||||
RecipeDataSo = await AssetManager.LoadAsset<RecipeDataSo>(DataConstants.RecipeDataSo);
|
||||
FoodDataSo = await AssetManager.LoadAsset<FoodDataSo>(DataConstants.FoodDataSo);
|
||||
DrinkDataSo = await AssetManager.LoadAsset<DrinkDataSo>(DataConstants.DrinkDataSo);
|
||||
IngredientDataSo = await AssetManager.LoadAsset<IngredientDataSo>(DataConstants.IngredientDataSo);
|
||||
TasteDataSo = await AssetManager.LoadAsset<TasteDataSo>(DataConstants.TasteDataSo);
|
||||
EnvironmentDataSo = await AssetManager.LoadAsset<EnvironmentDataSo>(DataConstants.EnvironmentDataSo);
|
||||
await LoadAllGameDataSo();
|
||||
await LoadSpriteAtlas();
|
||||
}
|
||||
|
||||
public void PostInit()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private async Task LoadAllGameDataSo()
|
||||
{
|
||||
var soList = await AssetManager.LoadAssetsByLabel<ScriptableObject>(SoLabel);
|
||||
|
||||
foreach (var so in soList)
|
||||
{
|
||||
var type = so.GetType();
|
||||
_dataSoTable.TryAdd(type, so);
|
||||
}
|
||||
|
||||
Debug.Log($"[DataManager] {_dataSoTable.Count}개의 SO가 로드되었습니다.");
|
||||
}
|
||||
|
||||
private async Task LoadSpriteAtlas()
|
||||
{
|
||||
List<SpriteAtlas> spriteAtlases = await AssetManager.LoadAssetsByLabel<SpriteAtlas>(DataConstants.AtlasLabel);
|
||||
_spriteAtlas = new Dictionary<string, Sprite>(spriteAtlases.Count);
|
||||
|
||||
@ -56,21 +65,17 @@ public async Task Init()
|
||||
_spriteAtlas.TryAdd(key, sprite);
|
||||
}
|
||||
}
|
||||
|
||||
IsInitialized = true;
|
||||
}
|
||||
|
||||
public void PostInit()
|
||||
public T GetDataSo<T>() where T : ScriptableObject
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async Task WaitUntilInitialized()
|
||||
{
|
||||
while (!IsInitialized)
|
||||
if (_dataSoTable.TryGetValue(typeof(T), out var so))
|
||||
{
|
||||
await Task.Yield();
|
||||
return so as T;
|
||||
}
|
||||
|
||||
Debug.LogError($"[DataManager] {typeof(T).Name} SO를 찾을 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
public Sprite GetSprite(string key) => _spriteAtlas.GetValueOrDefault(key);
|
||||
|
@ -38,7 +38,7 @@ public void PostInit()
|
||||
|
||||
private void InitializeItemData()
|
||||
{
|
||||
var itemDataSo = DataManager.Instance.ItemDataSo;
|
||||
var itemDataSo = DataManager.Instance.GetDataSo<ItemDataSo>();
|
||||
Debug.Assert(itemDataSo != null, "itemDataSo != null");
|
||||
|
||||
_itemDataLookup = itemDataSo.GetDataList()
|
||||
|
@ -9,6 +9,10 @@ namespace DDD
|
||||
[CreateAssetMenu(fileName = "RestaurantManagementSo", menuName = "GameState/RestaurantManagementSo")]
|
||||
public class RestaurantManagementSo : GameFlowTask
|
||||
{
|
||||
// TODO : 체크리스트 기능
|
||||
|
||||
// TODO : 조리도구 등록, 해제 기능
|
||||
|
||||
public ItemSlotUi ItemSlotUiPrefab;
|
||||
|
||||
[Title("선택된 메뉴 상세 내용")]
|
||||
@ -40,7 +44,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
||||
|
||||
if (itemSlotUi.Model.ItemType != ItemType.Recipe) return false;
|
||||
|
||||
if (!DataManager.Instance.RecipeDataSo.TryGetDataById(recipeId, out RecipeData recipeData)) return false;
|
||||
if (!DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(recipeId, out RecipeData recipeData)) return false;
|
||||
|
||||
bool added = false;
|
||||
|
||||
@ -48,7 +52,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
||||
{
|
||||
if (_foodRecipeIds.Count >= MaxFoodCount || _foodRecipeIds.ContainsKey(recipeId)) return false;
|
||||
|
||||
var foodData = DataManager.Instance.FoodDataSo.GetDataById(recipeData.RecipeResult);
|
||||
var foodData = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(recipeData.RecipeResult);
|
||||
var craftableCount = foodData.GetCraftableCount();
|
||||
foodData.ConsumeAllCraftableIngredients();
|
||||
|
||||
@ -59,7 +63,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
||||
{
|
||||
if (_drinkRecipeIds.Count >= MaxDrinkCount || _drinkRecipeIds.ContainsKey(recipeId)) return false;
|
||||
|
||||
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(recipeData.RecipeResult);
|
||||
var drinkData = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(recipeData.RecipeResult);
|
||||
var craftableCount = drinkData.GetCraftableCount();
|
||||
drinkData.ConsumeAllCraftableIngredients();
|
||||
|
||||
@ -80,7 +84,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
||||
string recipeId = itemSlotUi.Model.Id;
|
||||
var evt = RestaurantEvents.TodayMenuRemovedEvent;
|
||||
|
||||
if (!DataManager.Instance.RecipeDataSo.TryGetDataById(recipeId, out RecipeData recipeData)) return false;
|
||||
if (!DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(recipeId, out RecipeData recipeData)) return false;
|
||||
|
||||
bool removed = false;
|
||||
int refundCount = 0;
|
||||
@ -94,7 +98,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
||||
|
||||
if (removed)
|
||||
{
|
||||
var foodData = DataManager.Instance.FoodDataSo.GetDataById(recipeData.RecipeResult);
|
||||
var foodData = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(recipeData.RecipeResult);
|
||||
foodData.RefundIngredients(refundCount);
|
||||
}
|
||||
}
|
||||
@ -108,7 +112,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
||||
|
||||
if (removed)
|
||||
{
|
||||
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(recipeData.RecipeResult);
|
||||
var drinkData = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(recipeData.RecipeResult);
|
||||
drinkData.RefundIngredients(refundCount);
|
||||
}
|
||||
}
|
||||
|
@ -47,10 +47,10 @@ private void RemoveItem()
|
||||
|
||||
private IEnumerable<string> GetItemIds()
|
||||
{
|
||||
if (!Application.isPlaying || DataManager.Instance?.ItemDataSo == null)
|
||||
if (!Application.isPlaying || DataManager.Instance?.GetDataSo<ItemDataSo>() == null)
|
||||
return Enumerable.Empty<string>();
|
||||
|
||||
return DataManager.Instance.ItemDataSo.GetDataList()
|
||||
return DataManager.Instance.GetDataSo<ItemDataSo>().GetDataList()
|
||||
.Select(data => data.Id)
|
||||
.Where(id => !string.IsNullOrEmpty(id));
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ public static List<IngredientEntry> GetIngredients(this DrinkData data)
|
||||
public static List<TasteData> GetTasteDatas(this DrinkData data)
|
||||
=> CraftingHelper.ResolveTasteDatas(
|
||||
new[] { data.TasteKey1, data.TasteKey2, data.TasteKey3, data.TasteKey4, data.TasteKey5, data.TasteKey6 },
|
||||
DataManager.Instance.TasteDataSo
|
||||
DataManager.Instance.GetDataSo<TasteDataSo>()
|
||||
);
|
||||
|
||||
public static int GetCraftableCount(this DrinkData data)
|
||||
|
@ -14,7 +14,7 @@ public static List<IngredientEntry> GetIngredients(this FoodData data) => Crafti
|
||||
public static List<TasteData> GetTasteDatas(this FoodData data)
|
||||
=> CraftingHelper.ResolveTasteDatas(
|
||||
new[] { data.TasteKey1, data.TasteKey2, data.TasteKey3, data.TasteKey4, data.TasteKey5, data.TasteKey6 },
|
||||
DataManager.Instance.TasteDataSo
|
||||
DataManager.Instance.GetDataSo<TasteDataSo>()
|
||||
);
|
||||
|
||||
public static int GetCraftableCount(this FoodData data)
|
||||
|
@ -92,13 +92,17 @@ private bool MatchesCategory(ItemViewModel model, InventoryCategoryType category
|
||||
case InventoryCategoryType.Food:
|
||||
if (model.ItemType != ItemType.Recipe) return false;
|
||||
|
||||
return DataManager.Instance.RecipeDataSo.TryGetDataById(model.Id, out var foodRecipe) && foodRecipe.RecipeType == RecipeType.FoodRecipe;
|
||||
return DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(model.Id, out var foodRecipe) && foodRecipe.RecipeType == RecipeType.FoodRecipe;
|
||||
case InventoryCategoryType.Drink:
|
||||
if (model.ItemType != ItemType.Recipe) return false;
|
||||
|
||||
return DataManager.Instance.RecipeDataSo.TryGetDataById(model.Id, out var drinkRecipe) && drinkRecipe.RecipeType == RecipeType.DrinkRecipe;
|
||||
return DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(model.Id, out var drinkRecipe) && drinkRecipe.RecipeType == RecipeType.DrinkRecipe;
|
||||
case InventoryCategoryType.Ingredient:
|
||||
return model.ItemType == ItemType.Ingredient;
|
||||
case InventoryCategoryType.Cookware:
|
||||
return DataManager.Instance.GetDataSo<CookwareDataSo>().TryGetDataById(model.Id, out var cookwareData);
|
||||
case InventoryCategoryType.Special:
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ public class ItemDetailView : MonoBehaviour, IEventHandler<ItemSlotSelectedEvent
|
||||
[SerializeField] private LocalizeStringEvent _descriptionLocalizer;
|
||||
[SerializeField] private Transform _cookWarePanel;
|
||||
[SerializeField] private Image _cookwareImage;
|
||||
[SerializeField] private Transform _tasteHashTagPanel;
|
||||
[SerializeField] private RectTransform _tasteHashTagContent1;
|
||||
[SerializeField] private HorizontalLayoutGroup _tasteHashTagContentLayoutGroup;
|
||||
[SerializeField] private RectTransform _tasteHashTagContent2;
|
||||
@ -27,8 +28,9 @@ public class ItemDetailView : MonoBehaviour, IEventHandler<ItemSlotSelectedEvent
|
||||
private ItemViewModel _currentItemViewModel;
|
||||
private TaskCompletionSource<bool> _isInitialized = new();
|
||||
|
||||
private const string CookwarePanel = "CookwarePanel";
|
||||
private const string NotCookwarePanel = "NotCookwarePanel";
|
||||
private const string CookwareDetailPanel = "CookwareDetailPanel";
|
||||
private const string IngredientDetailPanel = "IngredientDetailPanel";
|
||||
private const string RecipeDetailPanel = "RecipeDetailPanel";
|
||||
|
||||
private async void Start()
|
||||
{
|
||||
@ -129,17 +131,31 @@ private void UpdateTasteHashTags(ItemViewModel model)
|
||||
|
||||
public void UpdateCategory(InventoryCategoryType category)
|
||||
{
|
||||
if (category == InventoryCategoryType.Ingredient)
|
||||
switch (category)
|
||||
{
|
||||
_viewImage.sprite = DataManager.Instance.GetSprite(NotCookwarePanel);
|
||||
_cookWarePanel.gameObject.SetActive(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
_viewImage.sprite = DataManager.Instance.GetSprite(CookwarePanel);
|
||||
_cookWarePanel.gameObject.SetActive(true);
|
||||
case InventoryCategoryType.Food:
|
||||
case InventoryCategoryType.Drink:
|
||||
_viewImage.sprite = DataManager.Instance.GetSprite(RecipeDetailPanel);
|
||||
_tasteHashTagPanel.gameObject.SetActive(true);
|
||||
_cookWarePanel.gameObject.SetActive(true);
|
||||
break;
|
||||
case InventoryCategoryType.Ingredient:
|
||||
_viewImage.sprite = DataManager.Instance.GetSprite(IngredientDetailPanel);
|
||||
_tasteHashTagPanel.gameObject.SetActive(true);
|
||||
_cookWarePanel.gameObject.SetActive(false);
|
||||
break;
|
||||
case InventoryCategoryType.Cookware:
|
||||
case InventoryCategoryType.Special:
|
||||
_viewImage.sprite = DataManager.Instance.GetSprite(CookwareDetailPanel);
|
||||
_tasteHashTagPanel.gameObject.SetActive(false);
|
||||
_cookWarePanel.gameObject.SetActive(false);
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(category), category, null);
|
||||
}
|
||||
|
||||
if (!_tasteHashTagPanel.gameObject.activeInHierarchy) return;
|
||||
|
||||
Canvas.ForceUpdateCanvases();
|
||||
UpdateTasteHashTags(_currentItemViewModel);
|
||||
}
|
||||
|
@ -9,14 +9,14 @@ public class ItemViewModel
|
||||
public ItemType ItemType;
|
||||
public int Count;
|
||||
|
||||
public RecipeType RecipeType => ItemType == ItemType.Recipe ? DataManager.Instance.RecipeDataSo.GetDataById(Id).RecipeType : RecipeType.None;
|
||||
public RecipeType RecipeType => ItemType == ItemType.Recipe ? DataManager.Instance.GetDataSo<RecipeDataSo>().GetDataById(Id).RecipeType : RecipeType.None;
|
||||
public Sprite ItemSprite
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ItemType == ItemType.Recipe)
|
||||
{
|
||||
DataManager.Instance.RecipeDataSo.TryGetDataById(Id, out var recipe);
|
||||
DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(Id, out var recipe);
|
||||
return DataManager.Instance.GetSprite(recipe.RecipeResult);
|
||||
}
|
||||
|
||||
@ -34,10 +34,10 @@ public Sprite GetCookwareSprite
|
||||
switch (RecipeType)
|
||||
{
|
||||
case RecipeType.FoodRecipe:
|
||||
cookwareSpriteKey = DataManager.Instance.FoodDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
|
||||
cookwareSpriteKey = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(GetRecipeResultKey).CookwareKey;
|
||||
break;
|
||||
case RecipeType.DrinkRecipe:
|
||||
cookwareSpriteKey = DataManager.Instance.DrinkDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
|
||||
cookwareSpriteKey = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(GetRecipeResultKey).CookwareKey;
|
||||
break;
|
||||
}
|
||||
return DataManager.Instance.GetSprite(cookwareSpriteKey);
|
||||
@ -50,7 +50,7 @@ public string GetRecipeResultKey
|
||||
{
|
||||
if (ItemType != ItemType.Recipe) return null;
|
||||
|
||||
return DataManager.Instance.RecipeDataSo.GetDataById(Id).RecipeResult;
|
||||
return DataManager.Instance.GetDataSo<RecipeDataSo>().GetDataById(Id).RecipeResult;
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,9 +61,9 @@ public List<TasteData> GetTasteDatas
|
||||
switch (RecipeType)
|
||||
{
|
||||
case RecipeType.FoodRecipe:
|
||||
return DataManager.Instance.FoodDataSo.GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||
return DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||
case RecipeType.DrinkRecipe:
|
||||
return DataManager.Instance.DrinkDataSo.GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||
return DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -79,12 +79,12 @@ public void UpdateCount()
|
||||
|
||||
if (RecipeType == RecipeType.FoodRecipe)
|
||||
{
|
||||
var foodData = DataManager.Instance.FoodDataSo.GetDataById(resultKey);
|
||||
var foodData = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(resultKey);
|
||||
craftableCount = foodData.GetCraftableCount();
|
||||
}
|
||||
else if (RecipeType == RecipeType.DrinkRecipe)
|
||||
{
|
||||
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(resultKey);
|
||||
var drinkData = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(resultKey);
|
||||
craftableCount = drinkData.GetCraftableCount();
|
||||
}
|
||||
|
||||
|
@ -8,10 +8,10 @@ public static class ItemViewModelFactory
|
||||
public static List<ItemViewModel> CreateRestaurantManagementInventoryItem()
|
||||
{
|
||||
var result = new List<ItemViewModel>();
|
||||
var recipeDataMap = DataManager.Instance.RecipeDataSo.GetDataList().ToDictionary(r => r.Id, r => r);
|
||||
var foodDataMap = DataManager.Instance.FoodDataSo.GetDataList().ToDictionary(f => f.Id, f => f);
|
||||
var drinkDataMap = DataManager.Instance.DrinkDataSo.GetDataList().ToDictionary(d => d.Id, d => d);
|
||||
var ingredientDataMap = DataManager.Instance.IngredientDataSo.GetDataList().ToDictionary(i => i.Id, i => i);
|
||||
var recipeDataMap = DataManager.Instance.GetDataSo<RecipeDataSo>().GetDataList().ToDictionary(r => r.Id, r => r);
|
||||
var foodDataMap = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataList().ToDictionary(f => f.Id, f => f);
|
||||
var drinkDataMap = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataList().ToDictionary(d => d.Id, d => d);
|
||||
var ingredientDataMap = DataManager.Instance.GetDataSo<IngredientDataSo>().GetDataList().ToDictionary(i => i.Id, i => i);
|
||||
|
||||
foreach (var kvp in InventoryManager.Instance.InventoryItems)
|
||||
{
|
||||
@ -39,16 +39,16 @@ public static List<ItemViewModel> CreateRestaurantManagementInventoryItem()
|
||||
|
||||
private static int CalculateCraftableCount(string recipeId)
|
||||
{
|
||||
if (!DataManager.Instance.RecipeDataSo.TryGetDataById(recipeId, out var recipe)) return 0;
|
||||
if (!DataManager.Instance.GetDataSo<RecipeDataSo>().TryGetDataById(recipeId, out var recipe)) return 0;
|
||||
|
||||
string recipeResult = recipe.RecipeResult;
|
||||
|
||||
return recipe.RecipeType switch
|
||||
{
|
||||
RecipeType.FoodRecipe => DataManager.Instance.FoodDataSo.TryGetDataById(recipeResult, out var food)
|
||||
RecipeType.FoodRecipe => DataManager.Instance.GetDataSo<FoodDataSo>().TryGetDataById(recipeResult, out var food)
|
||||
? food.GetCraftableCount()
|
||||
: 0,
|
||||
RecipeType.DrinkRecipe => DataManager.Instance.DrinkDataSo.TryGetDataById(recipeResult, out var drink)
|
||||
RecipeType.DrinkRecipe => DataManager.Instance.GetDataSo<DrinkDataSo>().TryGetDataById(recipeResult, out var drink)
|
||||
? drink.GetCraftableCount()
|
||||
: 0,
|
||||
_ => 0
|
||||
@ -57,7 +57,7 @@ private static int CalculateCraftableCount(string recipeId)
|
||||
|
||||
public static ItemViewModel CreateByRecipeId(string recipeId)
|
||||
{
|
||||
var recipeSo = DataManager.Instance.RecipeDataSo;
|
||||
var recipeSo = DataManager.Instance.GetDataSo<RecipeDataSo>();
|
||||
if (!recipeSo.TryGetDataById(recipeId, out var recipe)) return null;
|
||||
|
||||
var item = InventoryManager.Instance.GetItemDataByIdOrNull(recipeId);
|
||||
|
@ -2,6 +2,7 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
@ -10,14 +11,15 @@ public class RestaurantManagementUi : PopupUi<RestaurantUiActions>, IEventHandle
|
||||
[SerializeField] private InventoryView _inventoryView;
|
||||
[SerializeField] private ItemDetailView _itemDetailView;
|
||||
[SerializeField] private TabGroupUi<RestaurantManagementSectionType> _sectionTabs;
|
||||
[SerializeField] private TabGroupUi<InventoryCategoryType> _categoryTabs;
|
||||
[SerializeField] private TabGroupUi<InventoryCategoryType> _menuCategoryTabs;
|
||||
[SerializeField] private TabGroupUi<InventoryCategoryType> _cookwareCategoryTabs;
|
||||
|
||||
protected override GameObject GetInitialSelected()
|
||||
{
|
||||
var inventoryViewInitialSelectedObject = _inventoryView.GetInitialSelected();
|
||||
if (inventoryViewInitialSelectedObject) return inventoryViewInitialSelectedObject;
|
||||
|
||||
return _categoryTabs.GetFirstInteractableButton;
|
||||
return _menuCategoryTabs.GetFirstInteractableButton;
|
||||
}
|
||||
|
||||
public async override void Open()
|
||||
@ -26,7 +28,11 @@ public async override void Open()
|
||||
|
||||
await _inventoryView.Initialize();
|
||||
_sectionTabs.Initialize(OnSectionTabSelected);
|
||||
_categoryTabs.Initialize(OnCategoryTabSelected);
|
||||
_menuCategoryTabs.Initialize(OnCategoryTabSelected);
|
||||
_cookwareCategoryTabs.Initialize(OnCategoryTabSelected);
|
||||
|
||||
_sectionTabs.SelectFirstTab();
|
||||
_menuCategoryTabs.SelectFirstTab();
|
||||
EventBus.Register<TodayMenuRemovedEvent>(this);
|
||||
}
|
||||
|
||||
@ -87,6 +93,17 @@ private void HandleInteract2()
|
||||
|
||||
private void OnSectionTabSelected(RestaurantManagementSectionType section)
|
||||
{
|
||||
switch (section)
|
||||
{
|
||||
case RestaurantManagementSectionType.Menu:
|
||||
_menuCategoryTabs.SelectFirstTab();
|
||||
break;
|
||||
case RestaurantManagementSectionType.Cookware:
|
||||
_cookwareCategoryTabs.SelectFirstTab();
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(section), section, null);
|
||||
}
|
||||
// TODO : 추후 Menu, Cookware, Worker에 맞춰 다른 콘텐츠 노출 처리
|
||||
}
|
||||
|
||||
@ -107,7 +124,7 @@ public void Invoke(TodayMenuRemovedEvent evt)
|
||||
|
||||
if (newInventoryCategoryType == InventoryCategoryType.None) return;
|
||||
|
||||
_categoryTabs.SelectTab(newInventoryCategoryType);
|
||||
_menuCategoryTabs.SelectTab(newInventoryCategoryType);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace DDD
|
||||
@ -18,7 +20,9 @@ public enum InventoryCategoryType
|
||||
None = 0,
|
||||
Food,
|
||||
Drink,
|
||||
Ingredient
|
||||
Ingredient,
|
||||
Cookware,
|
||||
Special
|
||||
}
|
||||
|
||||
public class TabButtonUi<T> : MonoBehaviour, IInteractableUi where T : Enum
|
||||
@ -27,13 +31,23 @@ public class TabButtonUi<T> : MonoBehaviour, IInteractableUi where T : Enum
|
||||
[SerializeField] private Button _button;
|
||||
[SerializeField] private Animator _animator;
|
||||
[SerializeField] private TextMeshProUGUI _label;
|
||||
[SerializeField] private GameObject _content;
|
||||
[SerializeField] private List<GameObject> _content = new();
|
||||
|
||||
[SerializeField] private bool _isEnabled = true;
|
||||
|
||||
private Action<T> _onSelected;
|
||||
private bool _isSelected;
|
||||
|
||||
private readonly int _canDisabled = Animator.StringToHash("CanDisabled");
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (_isEnabled == false)
|
||||
{
|
||||
_animator.SetBool(_canDisabled, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (_isSelected)
|
||||
{
|
||||
_animator.SetTrigger(nameof(DefaultAnimatorParams.Selected));
|
||||
@ -50,11 +64,7 @@ public void Initialize(Action<T> onSelected)
|
||||
public void SetSelected(bool isSelected)
|
||||
{
|
||||
_isSelected = isSelected;
|
||||
|
||||
if (_content)
|
||||
{
|
||||
_content.SetActive(isSelected);
|
||||
}
|
||||
SetActiveContents(isSelected);
|
||||
_button.interactable = !_isSelected;
|
||||
if (_isSelected)
|
||||
{
|
||||
@ -68,6 +78,13 @@ public void SetSelected(bool isSelected)
|
||||
|
||||
public bool ButtonIsInteractable => _button != null && _button.interactable;
|
||||
public GameObject ButtonGameObject => _button?.gameObject;
|
||||
private void SetActiveContents(bool isActive)
|
||||
{
|
||||
foreach (var content in _content)
|
||||
{
|
||||
content.SetActive(isActive);
|
||||
}
|
||||
}
|
||||
public void OnInteract()
|
||||
{
|
||||
_onSelected?.Invoke(TabType);
|
||||
|
@ -29,11 +29,6 @@ public void Initialize(Action<T> onTabSelected)
|
||||
tab.Initialize(OnTabClicked);
|
||||
_tabLookup[tab.TabType] = tab;
|
||||
}
|
||||
|
||||
if (_tabButtons.Count > 0)
|
||||
{
|
||||
SelectTab(_tabButtons[0].TabType);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTabClicked(T type)
|
||||
@ -52,6 +47,14 @@ public void SelectTab(T type)
|
||||
_onTabSelected?.Invoke(type);
|
||||
}
|
||||
|
||||
public void SelectFirstTab()
|
||||
{
|
||||
if (_tabButtons.Count > 0)
|
||||
{
|
||||
SelectTab(_tabButtons[0].TabType);
|
||||
}
|
||||
}
|
||||
|
||||
public void Move(int direction)
|
||||
{
|
||||
var tabTypes = TabOrder;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35d7905cfe8751640bedce0ce9a61b47
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
guid: be71db161987564429bd0e62591815eb
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c65b4ab4109ac254d9fc8868c0afcc03
|
||||
NativeFormatImporter:
|
||||
guid: 582a711af5879c942b17b9936b8871e0
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,20 @@
|
||||
// <auto-generated>
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
[Serializable]
|
||||
public class CookwareData : IId
|
||||
{
|
||||
/// <summary>식별ID</summary>
|
||||
[Tooltip("식별ID")]
|
||||
[field: SerializeField]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>요리도구 타입</summary>
|
||||
[Tooltip("요리도구 타입")]
|
||||
public CookwareType CookwareType;
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41fbff9fffb64f941b07a553fa8615c0
|
@ -0,0 +1,9 @@
|
||||
// <auto-generated> File: CookwareDataSo.cs
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace DDD
|
||||
{
|
||||
[CreateAssetMenu(fileName = "CookwareDataSo", menuName = "GoogleSheet/CookwareDataSo")]
|
||||
public class CookwareDataSo : DataSo<CookwareData> { }
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26445eed59cfeeb40be052d1792170e2
|
@ -12,9 +12,9 @@ public class DrinkData : IId
|
||||
[field: SerializeField]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>요리도구</summary>
|
||||
[Tooltip("요리도구")]
|
||||
public CookwareType CookwareType;
|
||||
/// <summary>요리도구 키 값</summary>
|
||||
[Tooltip("요리도구 키 값")]
|
||||
public string CookwareKey;
|
||||
|
||||
/// <summary>요리시간</summary>
|
||||
[Tooltip("요리시간")]
|
||||
|
@ -12,9 +12,9 @@ public class FoodData : IId
|
||||
[field: SerializeField]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>요리도구 타입</summary>
|
||||
[Tooltip("요리도구 타입")]
|
||||
public CookwareType CookwareType;
|
||||
/// <summary>요리도구 키 값</summary>
|
||||
[Tooltip("요리도구 키 값")]
|
||||
public string CookwareKey;
|
||||
|
||||
/// <summary>요리시간</summary>
|
||||
[Tooltip("요리시간")]
|
||||
|
@ -255,6 +255,38 @@
|
||||
"Id": "item_environment_005",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_001",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_002",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_003",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_004",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_005",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_006",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_007",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_environment_cookware_008",
|
||||
"ItemType:Enum": "Environment"
|
||||
},
|
||||
{
|
||||
"Id": "item_drink_001",
|
||||
"ItemType:Enum": "Drink"
|
||||
@ -524,7 +556,7 @@
|
||||
{
|
||||
"Id:string": "식별ID",
|
||||
"#Name": "이름",
|
||||
"CookwareType:Enum": "요리도구 타입",
|
||||
"CookwareKey:string": "요리도구 키 값",
|
||||
"CookTime:int": "요리시간",
|
||||
"Price:int": "요리가격",
|
||||
"IngredientKey1:string": "재료1",
|
||||
@ -545,7 +577,7 @@
|
||||
{
|
||||
"Id:string": "item_food_001",
|
||||
"#Name": "블루 스튜",
|
||||
"CookwareType:Enum": "Pot",
|
||||
"CookwareKey:string": "item_environment_cookware_001",
|
||||
"CookTime:int": 7,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_001",
|
||||
@ -566,7 +598,7 @@
|
||||
{
|
||||
"Id:string": "item_food_002",
|
||||
"#Name": "햇빛 스튜",
|
||||
"CookwareType:Enum": "Pot",
|
||||
"CookwareKey:string": "item_environment_cookware_001",
|
||||
"CookTime:int": 7,
|
||||
"Price:int": 20,
|
||||
"IngredientKey1:string": "item_ingredient_002",
|
||||
@ -587,7 +619,7 @@
|
||||
{
|
||||
"Id:string": "item_food_003",
|
||||
"#Name": "심해기억 스튜",
|
||||
"CookwareType:Enum": "Pot",
|
||||
"CookwareKey:string": "item_environment_cookware_001",
|
||||
"CookTime:int": 7,
|
||||
"Price:int": 15,
|
||||
"IngredientKey1:string": "item_ingredient_002",
|
||||
@ -608,7 +640,7 @@
|
||||
{
|
||||
"Id:string": "item_food_004",
|
||||
"#Name": "치킨 굴라쉬",
|
||||
"CookwareType:Enum": "Pot",
|
||||
"CookwareKey:string": "item_environment_cookware_001",
|
||||
"CookTime:int": 10,
|
||||
"Price:int": 30,
|
||||
"IngredientKey1:string": "item_ingredient_005",
|
||||
@ -629,7 +661,7 @@
|
||||
{
|
||||
"Id:string": "item_food_005",
|
||||
"#Name": "꿈해초 크로켓",
|
||||
"CookwareType:Enum": "Fryer",
|
||||
"CookwareKey:string": "item_environment_cookware_002",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 20,
|
||||
"IngredientKey1:string": "item_ingredient_007",
|
||||
@ -650,7 +682,7 @@
|
||||
{
|
||||
"Id:string": "item_food_006",
|
||||
"#Name": "선라이즈 당근카츠",
|
||||
"CookwareType:Enum": "Fryer",
|
||||
"CookwareKey:string": "item_environment_cookware_002",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 30,
|
||||
"IngredientKey1:string": "item_ingredient_003",
|
||||
@ -671,7 +703,7 @@
|
||||
{
|
||||
"Id:string": "item_food_007",
|
||||
"#Name": "미정",
|
||||
"CookwareType:Enum": "Fryer",
|
||||
"CookwareKey:string": "item_environment_cookware_002",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 30,
|
||||
"IngredientKey1:string": "item_ingredient_011",
|
||||
@ -692,7 +724,7 @@
|
||||
{
|
||||
"Id:string": "item_food_008",
|
||||
"#Name": "비늘치킨덕",
|
||||
"CookwareType:Enum": "FirePit",
|
||||
"CookwareKey:string": "item_environment_cookware_003",
|
||||
"CookTime:int": 6,
|
||||
"Price:int": 30,
|
||||
"IngredientKey1:string": "item_ingredient_012",
|
||||
@ -713,7 +745,7 @@
|
||||
{
|
||||
"Id:string": "item_food_009",
|
||||
"#Name": "화룡장어 구이",
|
||||
"CookwareType:Enum": "FirePit",
|
||||
"CookwareKey:string": "item_environment_cookware_003",
|
||||
"CookTime:int": 6,
|
||||
"Price:int": 15,
|
||||
"IngredientKey1:string": "item_ingredient_014",
|
||||
@ -734,7 +766,7 @@
|
||||
{
|
||||
"Id:string": "item_food_010",
|
||||
"#Name": "미정",
|
||||
"CookwareType:Enum": "FirePit",
|
||||
"CookwareKey:string": "item_environment_cookware_003",
|
||||
"CookTime:int": 6,
|
||||
"Price:int": 30,
|
||||
"IngredientKey1:string": "item_ingredient_016",
|
||||
@ -755,7 +787,7 @@
|
||||
{
|
||||
"Id:string": "item_food_011",
|
||||
"#Name": "바다의선물",
|
||||
"CookwareType:Enum": "CuttingBoard",
|
||||
"CookwareKey:string": "item_environment_cookware_004",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_002",
|
||||
@ -776,7 +808,7 @@
|
||||
{
|
||||
"Id:string": "item_food_012",
|
||||
"#Name": "유령새우회",
|
||||
"CookwareType:Enum": "CuttingBoard",
|
||||
"CookwareKey:string": "item_environment_cookware_004",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 25,
|
||||
"IngredientKey1:string": "item_ingredient_017",
|
||||
@ -797,7 +829,7 @@
|
||||
{
|
||||
"Id:string": "item_food_013",
|
||||
"#Name": "비늘초무침",
|
||||
"CookwareType:Enum": "CuttingBoard",
|
||||
"CookwareKey:string": "item_environment_cookware_004",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 45,
|
||||
"IngredientKey1:string": "item_ingredient_018",
|
||||
@ -818,7 +850,7 @@
|
||||
{
|
||||
"Id:string": "item_food_014",
|
||||
"#Name": "쫀징어 냉채",
|
||||
"CookwareType:Enum": "CuttingBoard",
|
||||
"CookwareKey:string": "item_environment_cookware_004",
|
||||
"CookTime:int": 5,
|
||||
"Price:int": 15,
|
||||
"IngredientKey1:string": "item_ingredient_011",
|
||||
@ -839,7 +871,7 @@
|
||||
{
|
||||
"Id:string": "item_food_015",
|
||||
"#Name": "쫀징어링",
|
||||
"CookwareType:Enum": "Griddle",
|
||||
"CookwareKey:string": "item_environment_cookware_005",
|
||||
"CookTime:int": 8,
|
||||
"Price:int": 25,
|
||||
"IngredientKey1:string": "item_ingredient_011",
|
||||
@ -860,7 +892,7 @@
|
||||
{
|
||||
"Id:string": "item_food_016",
|
||||
"#Name": "꿈해파리 볶음",
|
||||
"CookwareType:Enum": "Griddle",
|
||||
"CookwareKey:string": "item_environment_cookware_005",
|
||||
"CookTime:int": 6,
|
||||
"Price:int": 15,
|
||||
"IngredientKey1:string": "item_ingredient_019",
|
||||
@ -881,7 +913,7 @@
|
||||
{
|
||||
"Id:string": "item_food_017",
|
||||
"#Name": "페퍼포칼립스",
|
||||
"CookwareType:Enum": "Griddle",
|
||||
"CookwareKey:string": "item_environment_cookware_005",
|
||||
"CookTime:int": 6,
|
||||
"Price:int": 25,
|
||||
"IngredientKey1:string": "item_ingredient_012",
|
||||
@ -902,7 +934,7 @@
|
||||
{
|
||||
"Id:string": "item_food_018",
|
||||
"#Name": "미정",
|
||||
"CookwareType:Enum": "MagicOven",
|
||||
"CookwareKey:string": "item_environment_cookware_006",
|
||||
"CookTime:int": 0,
|
||||
"Price:int": 0,
|
||||
"IngredientKey1:string": "",
|
||||
@ -923,7 +955,7 @@
|
||||
{
|
||||
"Id:string": "item_food_019",
|
||||
"#Name": "미정",
|
||||
"CookwareType:Enum": "MagicOven",
|
||||
"CookwareKey:string": "item_environment_cookware_006",
|
||||
"CookTime:int": 0,
|
||||
"Price:int": 0,
|
||||
"IngredientKey1:string": "",
|
||||
@ -944,7 +976,7 @@
|
||||
{
|
||||
"Id:string": "item_food_020",
|
||||
"#Name": "미정",
|
||||
"CookwareType:Enum": "MagicOven",
|
||||
"CookwareKey:string": "item_environment_cookware_006",
|
||||
"CookTime:int": 0,
|
||||
"Price:int": 0,
|
||||
"IngredientKey1:string": "",
|
||||
@ -967,7 +999,7 @@
|
||||
{
|
||||
"Id:string": "식별ID",
|
||||
"#Name": "이름",
|
||||
"CookwareType:Enum": "요리도구",
|
||||
"CookwareKey:string": "요리도구 키 값",
|
||||
"CookTime:int": "요리시간",
|
||||
"Price:int": "요리가격",
|
||||
"IngredientKey1:string": "재료1",
|
||||
@ -988,7 +1020,7 @@
|
||||
{
|
||||
"Id:string": "item_drink_001",
|
||||
"#Name": "토마토 주스",
|
||||
"CookwareType:Enum": "JuiceMachine",
|
||||
"CookwareKey:string": "item_environment_cookware_007",
|
||||
"CookTime:int": 1,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_006",
|
||||
@ -1009,7 +1041,7 @@
|
||||
{
|
||||
"Id:string": "item_drink_002",
|
||||
"#Name": "오렌지 주스",
|
||||
"CookwareType:Enum": "JuiceMachine",
|
||||
"CookwareKey:string": "item_environment_cookware_007",
|
||||
"CookTime:int": 1,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_023",
|
||||
@ -1030,7 +1062,7 @@
|
||||
{
|
||||
"Id:string": "item_drink_003",
|
||||
"#Name": "여신의눈물",
|
||||
"CookwareType:Enum": "Barrel",
|
||||
"CookwareKey:string": "item_environment_cookware_008",
|
||||
"CookTime:int": 3,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_008",
|
||||
@ -1051,7 +1083,7 @@
|
||||
{
|
||||
"Id:string": "item_drink_004",
|
||||
"#Name": "라벨블루",
|
||||
"CookwareType:Enum": "Barrel",
|
||||
"CookwareKey:string": "item_environment_cookware_008",
|
||||
"CookTime:int": 3,
|
||||
"Price:int": 10,
|
||||
"IngredientKey1:string": "item_ingredient_002",
|
||||
@ -1168,6 +1200,53 @@
|
||||
"#Name": "오렌지"
|
||||
}
|
||||
],
|
||||
"CookwareData": [
|
||||
{
|
||||
"Id:string": "식별ID",
|
||||
"#Name": "이름",
|
||||
"CookwareType:Enum": "요리도구 타입"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_001",
|
||||
"#Name": "냄비",
|
||||
"CookwareType:Enum": "Pot"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_002",
|
||||
"#Name": "튀김",
|
||||
"CookwareType:Enum": "Fryer"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_003",
|
||||
"#Name": "화로",
|
||||
"CookwareType:Enum": "FirePit"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_004",
|
||||
"#Name": "",
|
||||
"CookwareType:Enum": "CuttingBoard"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_005",
|
||||
"#Name": "",
|
||||
"CookwareType:Enum": "Griddle"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_006",
|
||||
"#Name": "",
|
||||
"CookwareType:Enum": "MagicOven"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_007",
|
||||
"#Name": "",
|
||||
"CookwareType:Enum": "JuiceMachine"
|
||||
},
|
||||
{
|
||||
"Id:string": "item_environment_cookware_008",
|
||||
"#Name": "",
|
||||
"CookwareType:Enum": "Barrel"
|
||||
}
|
||||
],
|
||||
"TasteData": [
|
||||
{
|
||||
"Id:string": "식별ID",
|
||||
@ -1176,92 +1255,92 @@
|
||||
},
|
||||
{
|
||||
"Id:string": "Sweet",
|
||||
"#Name": "",
|
||||
"#Name": "단맛",
|
||||
"TasteType:Enum": "Sweet"
|
||||
},
|
||||
{
|
||||
"Id:string": "Warm",
|
||||
"#Name": "",
|
||||
"#Name": "따뜻한",
|
||||
"TasteType:Enum": "Warm"
|
||||
},
|
||||
{
|
||||
"Id:string": "Vegetable",
|
||||
"#Name": "",
|
||||
"#Name": "채류",
|
||||
"TasteType:Enum": "Vegetable"
|
||||
},
|
||||
{
|
||||
"Id:string": "Bitter",
|
||||
"#Name": "",
|
||||
"#Name": "쓴맛",
|
||||
"TasteType:Enum": "Bitter"
|
||||
},
|
||||
{
|
||||
"Id:string": "Salty",
|
||||
"#Name": "",
|
||||
"#Name": "짠맛",
|
||||
"TasteType:Enum": "Salty"
|
||||
},
|
||||
{
|
||||
"Id:string": "Mild",
|
||||
"#Name": "",
|
||||
"#Name": "담백한",
|
||||
"TasteType:Enum": "Mild"
|
||||
},
|
||||
{
|
||||
"Id:string": "Addictive",
|
||||
"#Name": "",
|
||||
"#Name": "중독적인",
|
||||
"TasteType:Enum": "Addictive"
|
||||
},
|
||||
{
|
||||
"Id:string": "Sour",
|
||||
"#Name": "",
|
||||
"#Name": "신맛",
|
||||
"TasteType:Enum": "Sour"
|
||||
},
|
||||
{
|
||||
"Id:string": "Savory",
|
||||
"#Name": "",
|
||||
"#Name": "고소한",
|
||||
"TasteType:Enum": "Savory"
|
||||
},
|
||||
{
|
||||
"Id:string": "Meat",
|
||||
"#Name": "",
|
||||
"#Name": "육류",
|
||||
"TasteType:Enum": "Meat"
|
||||
},
|
||||
{
|
||||
"Id:string": "SuperHot",
|
||||
"#Name": "",
|
||||
"#Name": "핵불닭맛",
|
||||
"TasteType:Enum": "SuperHot"
|
||||
},
|
||||
{
|
||||
"Id:string": "Fish",
|
||||
"#Name": "",
|
||||
"#Name": "어류",
|
||||
"TasteType:Enum": "Fish"
|
||||
},
|
||||
{
|
||||
"Id:string": "NoneDegree",
|
||||
"#Name": "",
|
||||
"#Name": "도수가없는",
|
||||
"TasteType:Enum": "NoneDegree"
|
||||
},
|
||||
{
|
||||
"Id:string": "Soda",
|
||||
"#Name": "",
|
||||
"#Name": "탄산",
|
||||
"TasteType:Enum": "Soda"
|
||||
},
|
||||
{
|
||||
"Id:string": "LowDegree",
|
||||
"#Name": "",
|
||||
"#Name": "도수가낮은",
|
||||
"TasteType:Enum": "LowDegree"
|
||||
},
|
||||
{
|
||||
"Id:string": "WoodFlavor",
|
||||
"#Name": "",
|
||||
"#Name": "나무향",
|
||||
"TasteType:Enum": "WoodFlavor"
|
||||
},
|
||||
{
|
||||
"Id:string": "MiddleDegree",
|
||||
"#Name": "",
|
||||
"#Name": "도수가보통인",
|
||||
"TasteType:Enum": "MiddleDegree"
|
||||
},
|
||||
{
|
||||
"Id:string": "FruitFlavor",
|
||||
"#Name": "",
|
||||
"#Name": "과일향",
|
||||
"TasteType:Enum": "FruitFlavor"
|
||||
}
|
||||
],
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,31 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 26445eed59cfeeb40be052d1792170e2, type: 3}
|
||||
m_Name: CookwareDataSo
|
||||
m_EditorClassIdentifier:
|
||||
Datas:
|
||||
- <Id>k__BackingField: item_environment_cookware_001
|
||||
CookwareType: 1
|
||||
- <Id>k__BackingField: item_environment_cookware_002
|
||||
CookwareType: 2
|
||||
- <Id>k__BackingField: item_environment_cookware_003
|
||||
CookwareType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_004
|
||||
CookwareType: 4
|
||||
- <Id>k__BackingField: item_environment_cookware_005
|
||||
CookwareType: 5
|
||||
- <Id>k__BackingField: item_environment_cookware_006
|
||||
CookwareType: 6
|
||||
- <Id>k__BackingField: item_environment_cookware_007
|
||||
CookwareType: 7
|
||||
- <Id>k__BackingField: item_environment_cookware_008
|
||||
CookwareType: 8
|
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 638f3769e2653a74d9a503e0e5cd5332
|
||||
guid: 5c7c87af5db0e884eb3b979cb1d2188b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
@ -14,7 +14,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
Datas:
|
||||
- <Id>k__BackingField: item_drink_001
|
||||
CookwareType: 7
|
||||
CookwareKey: item_environment_cookware_007
|
||||
CookTime: 1
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_006
|
||||
@ -32,7 +32,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_drink_002
|
||||
CookwareType: 7
|
||||
CookwareKey: item_environment_cookware_007
|
||||
CookTime: 1
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_023
|
||||
@ -50,7 +50,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_drink_003
|
||||
CookwareType: 8
|
||||
CookwareKey: item_environment_cookware_008
|
||||
CookTime: 3
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_008
|
||||
@ -68,7 +68,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_drink_004
|
||||
CookwareType: 8
|
||||
CookwareKey: item_environment_cookware_008
|
||||
CookTime: 3
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_002
|
||||
|
@ -14,7 +14,7 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
Datas:
|
||||
- <Id>k__BackingField: item_food_001
|
||||
CookwareType: 1
|
||||
CookwareKey: item_environment_cookware_001
|
||||
CookTime: 7
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_001
|
||||
@ -32,7 +32,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_002
|
||||
CookwareType: 1
|
||||
CookwareKey: item_environment_cookware_001
|
||||
CookTime: 7
|
||||
Price: 20
|
||||
IngredientKey1: item_ingredient_002
|
||||
@ -50,7 +50,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_003
|
||||
CookwareType: 1
|
||||
CookwareKey: item_environment_cookware_001
|
||||
CookTime: 7
|
||||
Price: 15
|
||||
IngredientKey1: item_ingredient_002
|
||||
@ -68,7 +68,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_004
|
||||
CookwareType: 1
|
||||
CookwareKey: item_environment_cookware_001
|
||||
CookTime: 10
|
||||
Price: 30
|
||||
IngredientKey1: item_ingredient_005
|
||||
@ -86,7 +86,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_005
|
||||
CookwareType: 2
|
||||
CookwareKey: item_environment_cookware_002
|
||||
CookTime: 5
|
||||
Price: 20
|
||||
IngredientKey1: item_ingredient_007
|
||||
@ -104,7 +104,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_006
|
||||
CookwareType: 2
|
||||
CookwareKey: item_environment_cookware_002
|
||||
CookTime: 5
|
||||
Price: 30
|
||||
IngredientKey1: item_ingredient_003
|
||||
@ -122,7 +122,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_007
|
||||
CookwareType: 2
|
||||
CookwareKey: item_environment_cookware_002
|
||||
CookTime: 5
|
||||
Price: 30
|
||||
IngredientKey1: item_ingredient_011
|
||||
@ -140,7 +140,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_008
|
||||
CookwareType: 3
|
||||
CookwareKey: item_environment_cookware_003
|
||||
CookTime: 6
|
||||
Price: 30
|
||||
IngredientKey1: item_ingredient_012
|
||||
@ -158,7 +158,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_009
|
||||
CookwareType: 3
|
||||
CookwareKey: item_environment_cookware_003
|
||||
CookTime: 6
|
||||
Price: 15
|
||||
IngredientKey1: item_ingredient_014
|
||||
@ -176,7 +176,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_010
|
||||
CookwareType: 3
|
||||
CookwareKey: item_environment_cookware_003
|
||||
CookTime: 6
|
||||
Price: 30
|
||||
IngredientKey1: item_ingredient_016
|
||||
@ -194,7 +194,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_011
|
||||
CookwareType: 4
|
||||
CookwareKey: item_environment_cookware_004
|
||||
CookTime: 5
|
||||
Price: 10
|
||||
IngredientKey1: item_ingredient_002
|
||||
@ -212,7 +212,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_012
|
||||
CookwareType: 4
|
||||
CookwareKey: item_environment_cookware_004
|
||||
CookTime: 5
|
||||
Price: 25
|
||||
IngredientKey1: item_ingredient_017
|
||||
@ -230,7 +230,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_013
|
||||
CookwareType: 4
|
||||
CookwareKey: item_environment_cookware_004
|
||||
CookTime: 5
|
||||
Price: 45
|
||||
IngredientKey1: item_ingredient_018
|
||||
@ -248,7 +248,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_014
|
||||
CookwareType: 4
|
||||
CookwareKey: item_environment_cookware_004
|
||||
CookTime: 5
|
||||
Price: 15
|
||||
IngredientKey1: item_ingredient_011
|
||||
@ -266,7 +266,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_015
|
||||
CookwareType: 5
|
||||
CookwareKey: item_environment_cookware_005
|
||||
CookTime: 8
|
||||
Price: 25
|
||||
IngredientKey1: item_ingredient_011
|
||||
@ -284,7 +284,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_016
|
||||
CookwareType: 5
|
||||
CookwareKey: item_environment_cookware_005
|
||||
CookTime: 6
|
||||
Price: 15
|
||||
IngredientKey1: item_ingredient_019
|
||||
@ -302,7 +302,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_017
|
||||
CookwareType: 5
|
||||
CookwareKey: item_environment_cookware_005
|
||||
CookTime: 6
|
||||
Price: 25
|
||||
IngredientKey1: item_ingredient_012
|
||||
@ -320,7 +320,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_018
|
||||
CookwareType: 6
|
||||
CookwareKey: item_environment_cookware_006
|
||||
CookTime: 0
|
||||
Price: 0
|
||||
IngredientKey1:
|
||||
@ -338,7 +338,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_019
|
||||
CookwareType: 6
|
||||
CookwareKey: item_environment_cookware_006
|
||||
CookTime: 0
|
||||
Price: 0
|
||||
IngredientKey1:
|
||||
@ -356,7 +356,7 @@ MonoBehaviour:
|
||||
TasteKey5:
|
||||
TasteKey6:
|
||||
- <Id>k__BackingField: item_food_020
|
||||
CookwareType: 6
|
||||
CookwareKey: item_environment_cookware_006
|
||||
CookTime: 0
|
||||
Price: 0
|
||||
IngredientKey1:
|
||||
|
@ -109,6 +109,22 @@ MonoBehaviour:
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_005
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_001
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_002
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_003
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_004
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_005
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_006
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_007
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_environment_cookware_008
|
||||
ItemType: 3
|
||||
- <Id>k__BackingField: item_drink_001
|
||||
ItemType: 4
|
||||
- <Id>k__BackingField: item_drink_002
|
||||
|
@ -40,7 +40,7 @@ private void LoadOrCreateRestaurantState()
|
||||
private void GenerateDummyEnvironmentProps()
|
||||
{
|
||||
// Make dummy placement data
|
||||
foreach (EnvironmentData prop in DataManager.Instance.EnvironmentDataSo.GetDataList())
|
||||
foreach (EnvironmentData prop in DataManager.Instance.GetDataSo<EnvironmentDataSo>().GetDataList())
|
||||
{
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
|
@ -15,9 +15,7 @@ public class RestaurantEnvironment : MonoBehaviour
|
||||
|
||||
public async void Initialize(RestaurantEnvironmentData data)
|
||||
{
|
||||
await DataManager.Instance.WaitUntilInitialized();
|
||||
|
||||
EnvironmentData environmentData = DataManager.Instance.EnvironmentDataSo.GetDataById(data.Id);
|
||||
EnvironmentData environmentData = DataManager.Instance.GetDataSo<EnvironmentDataSo>().GetDataById(data.Id);
|
||||
|
||||
_collider = GetComponent<Collider>();
|
||||
_visualLook = transform.Find(CommonConstants.VisualLook);
|
||||
|
@ -17,6 +17,7 @@ public static class DataConstants
|
||||
public const string FoodDataSo = "FoodDataSo";
|
||||
public const string DrinkDataSo = "DrinkDataSo";
|
||||
public const string IngredientDataSo = "IngredientDataSo";
|
||||
public const string CookwareDataSo = "CookwareDataSo";
|
||||
public const string TasteDataSo = "TasteDataSo";
|
||||
public const string EnvironmentDataSo = "EnvironmentDataSo";
|
||||
public const string RestaurantPlayerDataSo = "RestaurantPlayerDataSo";
|
||||
|
Loading…
Reference in New Issue
Block a user