Compare commits
3 Commits
a2bb7a9f97
...
6d08ec9252
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6d08ec9252 | ||
![]() |
cbc1d6982d | ||
![]() |
0c6ec55470 |
@ -27,6 +27,12 @@ MonoBehaviour:
|
|||||||
m_SerializedLabels:
|
m_SerializedLabels:
|
||||||
- GoogleSheetSo
|
- GoogleSheetSo
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
|
- m_GUID: 5c7c87af5db0e884eb3b979cb1d2188b
|
||||||
|
m_Address: CookwareDataSo
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_SerializedLabels:
|
||||||
|
- GoogleSheetSo
|
||||||
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
- m_GUID: 7446495d3106eff4ab5b0f9d7d97b579
|
- m_GUID: 7446495d3106eff4ab5b0f9d7d97b579
|
||||||
m_Address: DrinkDataSo
|
m_Address: DrinkDataSo
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,8 @@ SpriteAtlasAsset:
|
|||||||
m_ImporterData:
|
m_ImporterData:
|
||||||
packables:
|
packables:
|
||||||
- {fileID: -502432213, guid: f6859731666dd444a9c3bc04005ac3fa, type: 3}
|
- {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: 825273812, guid: bcb8eb887f2d0814d9faa440dd50bce4, type: 3}
|
||||||
|
- {fileID: -975732387, guid: 0b80400f6a609d6489f9da53bc2438c7, type: 3}
|
||||||
m_IsVariant: 0
|
m_IsVariant: 0
|
||||||
m_ScriptablePacker: {fileID: 0}
|
m_ScriptablePacker: {fileID: 0}
|
||||||
|
@ -4220,11 +4220,11 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
||||||
propertyPath: _currentVersion
|
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}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
- target: {fileID: 6289760680591803305, guid: 05aeb8078f8dc7c489b71a0ce5bc4fac, type: 3}
|
||||||
propertyPath: _refreshTrigger
|
propertyPath: _refreshTrigger
|
||||||
value: 1
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
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
|
serializedVersion: 2
|
||||||
sprites:
|
sprites:
|
||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
name: NotCookwarePanel
|
name: IngredientDetailPanel
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 0
|
x: 0
|
||||||
@ -160,7 +160,7 @@ TextureImporter:
|
|||||||
- key: SpriteEditor.SliceSettings
|
- 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}'
|
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:
|
nameFileIdTable:
|
||||||
NotCookwarePanel: 825273812
|
IngredientDetailPanel: 825273812
|
||||||
mipmapLimitGroupName:
|
mipmapLimitGroupName:
|
||||||
pSDRemoveMatte: 0
|
pSDRemoveMatte: 0
|
||||||
userData: processed
|
userData: processed
|
@ -136,7 +136,7 @@ TextureImporter:
|
|||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
sprites:
|
sprites:
|
||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
name: CookwarePanel
|
name: RecipeDetailPanel
|
||||||
rect:
|
rect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 0
|
x: 0
|
||||||
@ -173,7 +173,7 @@ TextureImporter:
|
|||||||
- key: SpriteEditor.SliceSettings
|
- 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}'
|
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:
|
nameFileIdTable:
|
||||||
CookwarePanel: -975732387
|
RecipeDetailPanel: -975732387
|
||||||
mipmapLimitGroupName:
|
mipmapLimitGroupName:
|
||||||
pSDRemoveMatte: 0
|
pSDRemoveMatte: 0
|
||||||
userData: processed
|
userData: processed
|
@ -53,6 +53,7 @@ MonoBehaviour:
|
|||||||
- RecipeData
|
- RecipeData
|
||||||
- FoodData
|
- FoodData
|
||||||
- DrinkData
|
- DrinkData
|
||||||
|
- CookwareData
|
||||||
- IngredientData
|
- IngredientData
|
||||||
- TasteData
|
- TasteData
|
||||||
- EnvironmentData
|
- 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 class DataManager : Singleton<DataManager>, IManager
|
||||||
{
|
{
|
||||||
public ItemDataSo ItemDataSo { get; private set; }
|
private readonly Dictionary<Type, ScriptableObject> _dataSoTable = new();
|
||||||
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 Dictionary<string, Sprite> _spriteAtlas;
|
private Dictionary<string, Sprite> _spriteAtlas;
|
||||||
|
|
||||||
public bool IsInitialized { get; private set; }
|
private const string SoLabel = "GoogleSheetSo";
|
||||||
|
|
||||||
public void PreInit()
|
public void PreInit()
|
||||||
{
|
{
|
||||||
@ -27,14 +20,30 @@ public void PreInit()
|
|||||||
|
|
||||||
public async Task Init()
|
public async Task Init()
|
||||||
{
|
{
|
||||||
ItemDataSo = await AssetManager.LoadAsset<ItemDataSo>(DataConstants.ItemDataSo);
|
await LoadAllGameDataSo();
|
||||||
RecipeDataSo = await AssetManager.LoadAsset<RecipeDataSo>(DataConstants.RecipeDataSo);
|
await LoadSpriteAtlas();
|
||||||
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);
|
|
||||||
|
|
||||||
|
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);
|
List<SpriteAtlas> spriteAtlases = await AssetManager.LoadAssetsByLabel<SpriteAtlas>(DataConstants.AtlasLabel);
|
||||||
_spriteAtlas = new Dictionary<string, Sprite>(spriteAtlases.Count);
|
_spriteAtlas = new Dictionary<string, Sprite>(spriteAtlases.Count);
|
||||||
|
|
||||||
@ -56,21 +65,17 @@ public async Task Init()
|
|||||||
_spriteAtlas.TryAdd(key, sprite);
|
_spriteAtlas.TryAdd(key, sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IsInitialized = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInit()
|
public T GetDataSo<T>() where T : ScriptableObject
|
||||||
{
|
{
|
||||||
|
if (_dataSoTable.TryGetValue(typeof(T), out var so))
|
||||||
}
|
|
||||||
|
|
||||||
public async Task WaitUntilInitialized()
|
|
||||||
{
|
|
||||||
while (!IsInitialized)
|
|
||||||
{
|
{
|
||||||
await Task.Yield();
|
return so as T;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Debug.LogError($"[DataManager] {typeof(T).Name} SO를 찾을 수 없습니다.");
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Sprite GetSprite(string key) => _spriteAtlas.GetValueOrDefault(key);
|
public Sprite GetSprite(string key) => _spriteAtlas.GetValueOrDefault(key);
|
||||||
|
@ -38,7 +38,7 @@ public void PostInit()
|
|||||||
|
|
||||||
private void InitializeItemData()
|
private void InitializeItemData()
|
||||||
{
|
{
|
||||||
var itemDataSo = DataManager.Instance.ItemDataSo;
|
var itemDataSo = DataManager.Instance.GetDataSo<ItemDataSo>();
|
||||||
Debug.Assert(itemDataSo != null, "itemDataSo != null");
|
Debug.Assert(itemDataSo != null, "itemDataSo != null");
|
||||||
|
|
||||||
_itemDataLookup = itemDataSo.GetDataList()
|
_itemDataLookup = itemDataSo.GetDataList()
|
||||||
|
@ -9,6 +9,10 @@ namespace DDD
|
|||||||
[CreateAssetMenu(fileName = "RestaurantManagementSo", menuName = "GameState/RestaurantManagementSo")]
|
[CreateAssetMenu(fileName = "RestaurantManagementSo", menuName = "GameState/RestaurantManagementSo")]
|
||||||
public class RestaurantManagementSo : GameFlowTask
|
public class RestaurantManagementSo : GameFlowTask
|
||||||
{
|
{
|
||||||
|
// TODO : 체크리스트 기능
|
||||||
|
|
||||||
|
// TODO : 조리도구 등록, 해제 기능
|
||||||
|
|
||||||
public ItemSlotUi ItemSlotUiPrefab;
|
public ItemSlotUi ItemSlotUiPrefab;
|
||||||
|
|
||||||
[Title("선택된 메뉴 상세 내용")]
|
[Title("선택된 메뉴 상세 내용")]
|
||||||
@ -40,7 +44,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
|
|
||||||
if (itemSlotUi.Model.ItemType != ItemType.Recipe) return false;
|
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;
|
bool added = false;
|
||||||
|
|
||||||
@ -48,7 +52,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
{
|
{
|
||||||
if (_foodRecipeIds.Count >= MaxFoodCount || _foodRecipeIds.ContainsKey(recipeId)) return false;
|
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();
|
var craftableCount = foodData.GetCraftableCount();
|
||||||
foodData.ConsumeAllCraftableIngredients();
|
foodData.ConsumeAllCraftableIngredients();
|
||||||
|
|
||||||
@ -59,7 +63,7 @@ public bool TryAddTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
{
|
{
|
||||||
if (_drinkRecipeIds.Count >= MaxDrinkCount || _drinkRecipeIds.ContainsKey(recipeId)) return false;
|
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();
|
var craftableCount = drinkData.GetCraftableCount();
|
||||||
drinkData.ConsumeAllCraftableIngredients();
|
drinkData.ConsumeAllCraftableIngredients();
|
||||||
|
|
||||||
@ -80,7 +84,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
string recipeId = itemSlotUi.Model.Id;
|
string recipeId = itemSlotUi.Model.Id;
|
||||||
var evt = RestaurantEvents.TodayMenuRemovedEvent;
|
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;
|
bool removed = false;
|
||||||
int refundCount = 0;
|
int refundCount = 0;
|
||||||
@ -94,7 +98,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
|
|
||||||
if (removed)
|
if (removed)
|
||||||
{
|
{
|
||||||
var foodData = DataManager.Instance.FoodDataSo.GetDataById(recipeData.RecipeResult);
|
var foodData = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(recipeData.RecipeResult);
|
||||||
foodData.RefundIngredients(refundCount);
|
foodData.RefundIngredients(refundCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -108,7 +112,7 @@ public bool TryRemoveTodayMenu(ItemSlotUi itemSlotUi)
|
|||||||
|
|
||||||
if (removed)
|
if (removed)
|
||||||
{
|
{
|
||||||
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(recipeData.RecipeResult);
|
var drinkData = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(recipeData.RecipeResult);
|
||||||
drinkData.RefundIngredients(refundCount);
|
drinkData.RefundIngredients(refundCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,10 +47,10 @@ private void RemoveItem()
|
|||||||
|
|
||||||
private IEnumerable<string> GetItemIds()
|
private IEnumerable<string> GetItemIds()
|
||||||
{
|
{
|
||||||
if (!Application.isPlaying || DataManager.Instance?.ItemDataSo == null)
|
if (!Application.isPlaying || DataManager.Instance?.GetDataSo<ItemDataSo>() == null)
|
||||||
return Enumerable.Empty<string>();
|
return Enumerable.Empty<string>();
|
||||||
|
|
||||||
return DataManager.Instance.ItemDataSo.GetDataList()
|
return DataManager.Instance.GetDataSo<ItemDataSo>().GetDataList()
|
||||||
.Select(data => data.Id)
|
.Select(data => data.Id)
|
||||||
.Where(id => !string.IsNullOrEmpty(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)
|
public static List<TasteData> GetTasteDatas(this DrinkData data)
|
||||||
=> CraftingHelper.ResolveTasteDatas(
|
=> CraftingHelper.ResolveTasteDatas(
|
||||||
new[] { data.TasteKey1, data.TasteKey2, data.TasteKey3, data.TasteKey4, data.TasteKey5, data.TasteKey6 },
|
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)
|
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)
|
public static List<TasteData> GetTasteDatas(this FoodData data)
|
||||||
=> CraftingHelper.ResolveTasteDatas(
|
=> CraftingHelper.ResolveTasteDatas(
|
||||||
new[] { data.TasteKey1, data.TasteKey2, data.TasteKey3, data.TasteKey4, data.TasteKey5, data.TasteKey6 },
|
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)
|
public static int GetCraftableCount(this FoodData data)
|
||||||
|
@ -92,13 +92,17 @@ private bool MatchesCategory(ItemViewModel model, InventoryCategoryType category
|
|||||||
case InventoryCategoryType.Food:
|
case InventoryCategoryType.Food:
|
||||||
if (model.ItemType != ItemType.Recipe) return false;
|
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:
|
case InventoryCategoryType.Drink:
|
||||||
if (model.ItemType != ItemType.Recipe) return false;
|
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:
|
case InventoryCategoryType.Ingredient:
|
||||||
return model.ItemType == ItemType.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:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ public class ItemDetailView : MonoBehaviour, IEventHandler<ItemSlotSelectedEvent
|
|||||||
[SerializeField] private LocalizeStringEvent _descriptionLocalizer;
|
[SerializeField] private LocalizeStringEvent _descriptionLocalizer;
|
||||||
[SerializeField] private Transform _cookWarePanel;
|
[SerializeField] private Transform _cookWarePanel;
|
||||||
[SerializeField] private Image _cookwareImage;
|
[SerializeField] private Image _cookwareImage;
|
||||||
|
[SerializeField] private Transform _tasteHashTagPanel;
|
||||||
[SerializeField] private RectTransform _tasteHashTagContent1;
|
[SerializeField] private RectTransform _tasteHashTagContent1;
|
||||||
[SerializeField] private HorizontalLayoutGroup _tasteHashTagContentLayoutGroup;
|
[SerializeField] private HorizontalLayoutGroup _tasteHashTagContentLayoutGroup;
|
||||||
[SerializeField] private RectTransform _tasteHashTagContent2;
|
[SerializeField] private RectTransform _tasteHashTagContent2;
|
||||||
@ -26,9 +27,10 @@ public class ItemDetailView : MonoBehaviour, IEventHandler<ItemSlotSelectedEvent
|
|||||||
private List<TasteHashTagSlotUi> _tasteHashTagSlotUis = new();
|
private List<TasteHashTagSlotUi> _tasteHashTagSlotUis = new();
|
||||||
private ItemViewModel _currentItemViewModel;
|
private ItemViewModel _currentItemViewModel;
|
||||||
private TaskCompletionSource<bool> _isInitialized = new();
|
private TaskCompletionSource<bool> _isInitialized = new();
|
||||||
|
|
||||||
private const string CookwarePanel = "CookwarePanel";
|
private const string CookwareDetailPanel = "CookwareDetailPanel";
|
||||||
private const string NotCookwarePanel = "NotCookwarePanel";
|
private const string IngredientDetailPanel = "IngredientDetailPanel";
|
||||||
|
private const string RecipeDetailPanel = "RecipeDetailPanel";
|
||||||
|
|
||||||
private async void Start()
|
private async void Start()
|
||||||
{
|
{
|
||||||
@ -129,17 +131,31 @@ private void UpdateTasteHashTags(ItemViewModel model)
|
|||||||
|
|
||||||
public void UpdateCategory(InventoryCategoryType category)
|
public void UpdateCategory(InventoryCategoryType category)
|
||||||
{
|
{
|
||||||
if (category == InventoryCategoryType.Ingredient)
|
switch (category)
|
||||||
{
|
{
|
||||||
_viewImage.sprite = DataManager.Instance.GetSprite(NotCookwarePanel);
|
case InventoryCategoryType.Food:
|
||||||
_cookWarePanel.gameObject.SetActive(false);
|
case InventoryCategoryType.Drink:
|
||||||
}
|
_viewImage.sprite = DataManager.Instance.GetSprite(RecipeDetailPanel);
|
||||||
else
|
_tasteHashTagPanel.gameObject.SetActive(true);
|
||||||
{
|
_cookWarePanel.gameObject.SetActive(true);
|
||||||
_viewImage.sprite = DataManager.Instance.GetSprite(CookwarePanel);
|
break;
|
||||||
_cookWarePanel.gameObject.SetActive(true);
|
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();
|
Canvas.ForceUpdateCanvases();
|
||||||
UpdateTasteHashTags(_currentItemViewModel);
|
UpdateTasteHashTags(_currentItemViewModel);
|
||||||
}
|
}
|
||||||
|
@ -9,14 +9,14 @@ public class ItemViewModel
|
|||||||
public ItemType ItemType;
|
public ItemType ItemType;
|
||||||
public int Count;
|
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
|
public Sprite ItemSprite
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (ItemType == ItemType.Recipe)
|
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);
|
return DataManager.Instance.GetSprite(recipe.RecipeResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,10 +34,10 @@ public Sprite GetCookwareSprite
|
|||||||
switch (RecipeType)
|
switch (RecipeType)
|
||||||
{
|
{
|
||||||
case RecipeType.FoodRecipe:
|
case RecipeType.FoodRecipe:
|
||||||
cookwareSpriteKey = DataManager.Instance.FoodDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
|
cookwareSpriteKey = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(GetRecipeResultKey).CookwareKey;
|
||||||
break;
|
break;
|
||||||
case RecipeType.DrinkRecipe:
|
case RecipeType.DrinkRecipe:
|
||||||
cookwareSpriteKey = DataManager.Instance.DrinkDataSo.GetDataById(GetRecipeResultKey).CookwareType.ToString();
|
cookwareSpriteKey = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(GetRecipeResultKey).CookwareKey;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return DataManager.Instance.GetSprite(cookwareSpriteKey);
|
return DataManager.Instance.GetSprite(cookwareSpriteKey);
|
||||||
@ -50,7 +50,7 @@ public string GetRecipeResultKey
|
|||||||
{
|
{
|
||||||
if (ItemType != ItemType.Recipe) return null;
|
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)
|
switch (RecipeType)
|
||||||
{
|
{
|
||||||
case RecipeType.FoodRecipe:
|
case RecipeType.FoodRecipe:
|
||||||
return DataManager.Instance.FoodDataSo.GetDataById(GetRecipeResultKey).GetTasteDatas();
|
return DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||||
case RecipeType.DrinkRecipe:
|
case RecipeType.DrinkRecipe:
|
||||||
return DataManager.Instance.DrinkDataSo.GetDataById(GetRecipeResultKey).GetTasteDatas();
|
return DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(GetRecipeResultKey).GetTasteDatas();
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
@ -79,12 +79,12 @@ public void UpdateCount()
|
|||||||
|
|
||||||
if (RecipeType == RecipeType.FoodRecipe)
|
if (RecipeType == RecipeType.FoodRecipe)
|
||||||
{
|
{
|
||||||
var foodData = DataManager.Instance.FoodDataSo.GetDataById(resultKey);
|
var foodData = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataById(resultKey);
|
||||||
craftableCount = foodData.GetCraftableCount();
|
craftableCount = foodData.GetCraftableCount();
|
||||||
}
|
}
|
||||||
else if (RecipeType == RecipeType.DrinkRecipe)
|
else if (RecipeType == RecipeType.DrinkRecipe)
|
||||||
{
|
{
|
||||||
var drinkData = DataManager.Instance.DrinkDataSo.GetDataById(resultKey);
|
var drinkData = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataById(resultKey);
|
||||||
craftableCount = drinkData.GetCraftableCount();
|
craftableCount = drinkData.GetCraftableCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,10 +8,10 @@ public static class ItemViewModelFactory
|
|||||||
public static List<ItemViewModel> CreateRestaurantManagementInventoryItem()
|
public static List<ItemViewModel> CreateRestaurantManagementInventoryItem()
|
||||||
{
|
{
|
||||||
var result = new List<ItemViewModel>();
|
var result = new List<ItemViewModel>();
|
||||||
var recipeDataMap = DataManager.Instance.RecipeDataSo.GetDataList().ToDictionary(r => r.Id, r => r);
|
var recipeDataMap = DataManager.Instance.GetDataSo<RecipeDataSo>().GetDataList().ToDictionary(r => r.Id, r => r);
|
||||||
var foodDataMap = DataManager.Instance.FoodDataSo.GetDataList().ToDictionary(f => f.Id, f => f);
|
var foodDataMap = DataManager.Instance.GetDataSo<FoodDataSo>().GetDataList().ToDictionary(f => f.Id, f => f);
|
||||||
var drinkDataMap = DataManager.Instance.DrinkDataSo.GetDataList().ToDictionary(d => d.Id, d => d);
|
var drinkDataMap = DataManager.Instance.GetDataSo<DrinkDataSo>().GetDataList().ToDictionary(d => d.Id, d => d);
|
||||||
var ingredientDataMap = DataManager.Instance.IngredientDataSo.GetDataList().ToDictionary(i => i.Id, i => i);
|
var ingredientDataMap = DataManager.Instance.GetDataSo<IngredientDataSo>().GetDataList().ToDictionary(i => i.Id, i => i);
|
||||||
|
|
||||||
foreach (var kvp in InventoryManager.Instance.InventoryItems)
|
foreach (var kvp in InventoryManager.Instance.InventoryItems)
|
||||||
{
|
{
|
||||||
@ -39,16 +39,16 @@ public static List<ItemViewModel> CreateRestaurantManagementInventoryItem()
|
|||||||
|
|
||||||
private static int CalculateCraftableCount(string recipeId)
|
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;
|
string recipeResult = recipe.RecipeResult;
|
||||||
|
|
||||||
return recipe.RecipeType switch
|
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()
|
? food.GetCraftableCount()
|
||||||
: 0,
|
: 0,
|
||||||
RecipeType.DrinkRecipe => DataManager.Instance.DrinkDataSo.TryGetDataById(recipeResult, out var drink)
|
RecipeType.DrinkRecipe => DataManager.Instance.GetDataSo<DrinkDataSo>().TryGetDataById(recipeResult, out var drink)
|
||||||
? drink.GetCraftableCount()
|
? drink.GetCraftableCount()
|
||||||
: 0,
|
: 0,
|
||||||
_ => 0
|
_ => 0
|
||||||
@ -57,7 +57,7 @@ private static int CalculateCraftableCount(string recipeId)
|
|||||||
|
|
||||||
public static ItemViewModel CreateByRecipeId(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;
|
if (!recipeSo.TryGetDataById(recipeId, out var recipe)) return null;
|
||||||
|
|
||||||
var item = InventoryManager.Instance.GetItemDataByIdOrNull(recipeId);
|
var item = InventoryManager.Instance.GetItemDataByIdOrNull(recipeId);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.EventSystems;
|
using UnityEngine.EventSystems;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
namespace DDD
|
namespace DDD
|
||||||
{
|
{
|
||||||
@ -10,14 +11,15 @@ public class RestaurantManagementUi : PopupUi<RestaurantUiActions>, IEventHandle
|
|||||||
[SerializeField] private InventoryView _inventoryView;
|
[SerializeField] private InventoryView _inventoryView;
|
||||||
[SerializeField] private ItemDetailView _itemDetailView;
|
[SerializeField] private ItemDetailView _itemDetailView;
|
||||||
[SerializeField] private TabGroupUi<RestaurantManagementSectionType> _sectionTabs;
|
[SerializeField] private TabGroupUi<RestaurantManagementSectionType> _sectionTabs;
|
||||||
[SerializeField] private TabGroupUi<InventoryCategoryType> _categoryTabs;
|
[SerializeField] private TabGroupUi<InventoryCategoryType> _menuCategoryTabs;
|
||||||
|
[SerializeField] private TabGroupUi<InventoryCategoryType> _cookwareCategoryTabs;
|
||||||
|
|
||||||
protected override GameObject GetInitialSelected()
|
protected override GameObject GetInitialSelected()
|
||||||
{
|
{
|
||||||
var inventoryViewInitialSelectedObject = _inventoryView.GetInitialSelected();
|
var inventoryViewInitialSelectedObject = _inventoryView.GetInitialSelected();
|
||||||
if (inventoryViewInitialSelectedObject) return inventoryViewInitialSelectedObject;
|
if (inventoryViewInitialSelectedObject) return inventoryViewInitialSelectedObject;
|
||||||
|
|
||||||
return _categoryTabs.GetFirstInteractableButton;
|
return _menuCategoryTabs.GetFirstInteractableButton;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override void Open()
|
public async override void Open()
|
||||||
@ -26,7 +28,11 @@ public async override void Open()
|
|||||||
|
|
||||||
await _inventoryView.Initialize();
|
await _inventoryView.Initialize();
|
||||||
_sectionTabs.Initialize(OnSectionTabSelected);
|
_sectionTabs.Initialize(OnSectionTabSelected);
|
||||||
_categoryTabs.Initialize(OnCategoryTabSelected);
|
_menuCategoryTabs.Initialize(OnCategoryTabSelected);
|
||||||
|
_cookwareCategoryTabs.Initialize(OnCategoryTabSelected);
|
||||||
|
|
||||||
|
_sectionTabs.SelectFirstTab();
|
||||||
|
_menuCategoryTabs.SelectFirstTab();
|
||||||
EventBus.Register<TodayMenuRemovedEvent>(this);
|
EventBus.Register<TodayMenuRemovedEvent>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,6 +93,17 @@ private void HandleInteract2()
|
|||||||
|
|
||||||
private void OnSectionTabSelected(RestaurantManagementSectionType section)
|
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에 맞춰 다른 콘텐츠 노출 처리
|
// TODO : 추후 Menu, Cookware, Worker에 맞춰 다른 콘텐츠 노출 처리
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,7 +124,7 @@ public void Invoke(TodayMenuRemovedEvent evt)
|
|||||||
|
|
||||||
if (newInventoryCategoryType == InventoryCategoryType.None) return;
|
if (newInventoryCategoryType == InventoryCategoryType.None) return;
|
||||||
|
|
||||||
_categoryTabs.SelectTab(newInventoryCategoryType);
|
_menuCategoryTabs.SelectTab(newInventoryCategoryType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
|
|
||||||
namespace DDD
|
namespace DDD
|
||||||
@ -18,7 +20,9 @@ public enum InventoryCategoryType
|
|||||||
None = 0,
|
None = 0,
|
||||||
Food,
|
Food,
|
||||||
Drink,
|
Drink,
|
||||||
Ingredient
|
Ingredient,
|
||||||
|
Cookware,
|
||||||
|
Special
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TabButtonUi<T> : MonoBehaviour, IInteractableUi where T : Enum
|
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 Button _button;
|
||||||
[SerializeField] private Animator _animator;
|
[SerializeField] private Animator _animator;
|
||||||
[SerializeField] private TextMeshProUGUI _label;
|
[SerializeField] private TextMeshProUGUI _label;
|
||||||
[SerializeField] private GameObject _content;
|
[SerializeField] private List<GameObject> _content = new();
|
||||||
|
|
||||||
|
[SerializeField] private bool _isEnabled = true;
|
||||||
|
|
||||||
private Action<T> _onSelected;
|
private Action<T> _onSelected;
|
||||||
private bool _isSelected;
|
private bool _isSelected;
|
||||||
|
|
||||||
|
private readonly int _canDisabled = Animator.StringToHash("CanDisabled");
|
||||||
|
|
||||||
private void OnEnable()
|
private void OnEnable()
|
||||||
{
|
{
|
||||||
|
if (_isEnabled == false)
|
||||||
|
{
|
||||||
|
_animator.SetBool(_canDisabled, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (_isSelected)
|
if (_isSelected)
|
||||||
{
|
{
|
||||||
_animator.SetTrigger(nameof(DefaultAnimatorParams.Selected));
|
_animator.SetTrigger(nameof(DefaultAnimatorParams.Selected));
|
||||||
@ -50,11 +64,7 @@ public void Initialize(Action<T> onSelected)
|
|||||||
public void SetSelected(bool isSelected)
|
public void SetSelected(bool isSelected)
|
||||||
{
|
{
|
||||||
_isSelected = isSelected;
|
_isSelected = isSelected;
|
||||||
|
SetActiveContents(isSelected);
|
||||||
if (_content)
|
|
||||||
{
|
|
||||||
_content.SetActive(isSelected);
|
|
||||||
}
|
|
||||||
_button.interactable = !_isSelected;
|
_button.interactable = !_isSelected;
|
||||||
if (_isSelected)
|
if (_isSelected)
|
||||||
{
|
{
|
||||||
@ -68,6 +78,13 @@ public void SetSelected(bool isSelected)
|
|||||||
|
|
||||||
public bool ButtonIsInteractable => _button != null && _button.interactable;
|
public bool ButtonIsInteractable => _button != null && _button.interactable;
|
||||||
public GameObject ButtonGameObject => _button?.gameObject;
|
public GameObject ButtonGameObject => _button?.gameObject;
|
||||||
|
private void SetActiveContents(bool isActive)
|
||||||
|
{
|
||||||
|
foreach (var content in _content)
|
||||||
|
{
|
||||||
|
content.SetActive(isActive);
|
||||||
|
}
|
||||||
|
}
|
||||||
public void OnInteract()
|
public void OnInteract()
|
||||||
{
|
{
|
||||||
_onSelected?.Invoke(TabType);
|
_onSelected?.Invoke(TabType);
|
||||||
|
@ -29,11 +29,6 @@ public void Initialize(Action<T> onTabSelected)
|
|||||||
tab.Initialize(OnTabClicked);
|
tab.Initialize(OnTabClicked);
|
||||||
_tabLookup[tab.TabType] = tab;
|
_tabLookup[tab.TabType] = tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_tabButtons.Count > 0)
|
|
||||||
{
|
|
||||||
SelectTab(_tabButtons[0].TabType);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnTabClicked(T type)
|
private void OnTabClicked(T type)
|
||||||
@ -52,6 +47,14 @@ public void SelectTab(T type)
|
|||||||
_onTabSelected?.Invoke(type);
|
_onTabSelected?.Invoke(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SelectFirstTab()
|
||||||
|
{
|
||||||
|
if (_tabButtons.Count > 0)
|
||||||
|
{
|
||||||
|
SelectTab(_tabButtons[0].TabType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Move(int direction)
|
public void Move(int direction)
|
||||||
{
|
{
|
||||||
var tabTypes = TabOrder;
|
var tabTypes = TabOrder;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,6 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 35d7905cfe8751640bedce0ce9a61b47
|
guid: be71db161987564429bd0e62591815eb
|
||||||
folderAsset: yes
|
TextScriptImporter:
|
||||||
DefaultImporter:
|
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,7 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: c65b4ab4109ac254d9fc8868c0afcc03
|
guid: 582a711af5879c942b17b9936b8871e0
|
||||||
NativeFormatImporter:
|
TextScriptImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
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]
|
[field: SerializeField]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
|
||||||
/// <summary>요리도구</summary>
|
/// <summary>요리도구 키 값</summary>
|
||||||
[Tooltip("요리도구")]
|
[Tooltip("요리도구 키 값")]
|
||||||
public CookwareType CookwareType;
|
public string CookwareKey;
|
||||||
|
|
||||||
/// <summary>요리시간</summary>
|
/// <summary>요리시간</summary>
|
||||||
[Tooltip("요리시간")]
|
[Tooltip("요리시간")]
|
||||||
|
@ -12,9 +12,9 @@ public class FoodData : IId
|
|||||||
[field: SerializeField]
|
[field: SerializeField]
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
|
||||||
/// <summary>요리도구 타입</summary>
|
/// <summary>요리도구 키 값</summary>
|
||||||
[Tooltip("요리도구 타입")]
|
[Tooltip("요리도구 키 값")]
|
||||||
public CookwareType CookwareType;
|
public string CookwareKey;
|
||||||
|
|
||||||
/// <summary>요리시간</summary>
|
/// <summary>요리시간</summary>
|
||||||
[Tooltip("요리시간")]
|
[Tooltip("요리시간")]
|
||||||
|
@ -255,6 +255,38 @@
|
|||||||
"Id": "item_environment_005",
|
"Id": "item_environment_005",
|
||||||
"ItemType:Enum": "Environment"
|
"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",
|
"Id": "item_drink_001",
|
||||||
"ItemType:Enum": "Drink"
|
"ItemType:Enum": "Drink"
|
||||||
@ -524,7 +556,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "식별ID",
|
"Id:string": "식별ID",
|
||||||
"#Name": "이름",
|
"#Name": "이름",
|
||||||
"CookwareType:Enum": "요리도구 타입",
|
"CookwareKey:string": "요리도구 키 값",
|
||||||
"CookTime:int": "요리시간",
|
"CookTime:int": "요리시간",
|
||||||
"Price:int": "요리가격",
|
"Price:int": "요리가격",
|
||||||
"IngredientKey1:string": "재료1",
|
"IngredientKey1:string": "재료1",
|
||||||
@ -545,7 +577,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_001",
|
"Id:string": "item_food_001",
|
||||||
"#Name": "블루 스튜",
|
"#Name": "블루 스튜",
|
||||||
"CookwareType:Enum": "Pot",
|
"CookwareKey:string": "item_environment_cookware_001",
|
||||||
"CookTime:int": 7,
|
"CookTime:int": 7,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_001",
|
"IngredientKey1:string": "item_ingredient_001",
|
||||||
@ -566,7 +598,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_002",
|
"Id:string": "item_food_002",
|
||||||
"#Name": "햇빛 스튜",
|
"#Name": "햇빛 스튜",
|
||||||
"CookwareType:Enum": "Pot",
|
"CookwareKey:string": "item_environment_cookware_001",
|
||||||
"CookTime:int": 7,
|
"CookTime:int": 7,
|
||||||
"Price:int": 20,
|
"Price:int": 20,
|
||||||
"IngredientKey1:string": "item_ingredient_002",
|
"IngredientKey1:string": "item_ingredient_002",
|
||||||
@ -587,7 +619,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_003",
|
"Id:string": "item_food_003",
|
||||||
"#Name": "심해기억 스튜",
|
"#Name": "심해기억 스튜",
|
||||||
"CookwareType:Enum": "Pot",
|
"CookwareKey:string": "item_environment_cookware_001",
|
||||||
"CookTime:int": 7,
|
"CookTime:int": 7,
|
||||||
"Price:int": 15,
|
"Price:int": 15,
|
||||||
"IngredientKey1:string": "item_ingredient_002",
|
"IngredientKey1:string": "item_ingredient_002",
|
||||||
@ -608,7 +640,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_004",
|
"Id:string": "item_food_004",
|
||||||
"#Name": "치킨 굴라쉬",
|
"#Name": "치킨 굴라쉬",
|
||||||
"CookwareType:Enum": "Pot",
|
"CookwareKey:string": "item_environment_cookware_001",
|
||||||
"CookTime:int": 10,
|
"CookTime:int": 10,
|
||||||
"Price:int": 30,
|
"Price:int": 30,
|
||||||
"IngredientKey1:string": "item_ingredient_005",
|
"IngredientKey1:string": "item_ingredient_005",
|
||||||
@ -629,7 +661,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_005",
|
"Id:string": "item_food_005",
|
||||||
"#Name": "꿈해초 크로켓",
|
"#Name": "꿈해초 크로켓",
|
||||||
"CookwareType:Enum": "Fryer",
|
"CookwareKey:string": "item_environment_cookware_002",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 20,
|
"Price:int": 20,
|
||||||
"IngredientKey1:string": "item_ingredient_007",
|
"IngredientKey1:string": "item_ingredient_007",
|
||||||
@ -650,7 +682,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_006",
|
"Id:string": "item_food_006",
|
||||||
"#Name": "선라이즈 당근카츠",
|
"#Name": "선라이즈 당근카츠",
|
||||||
"CookwareType:Enum": "Fryer",
|
"CookwareKey:string": "item_environment_cookware_002",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 30,
|
"Price:int": 30,
|
||||||
"IngredientKey1:string": "item_ingredient_003",
|
"IngredientKey1:string": "item_ingredient_003",
|
||||||
@ -671,7 +703,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_007",
|
"Id:string": "item_food_007",
|
||||||
"#Name": "미정",
|
"#Name": "미정",
|
||||||
"CookwareType:Enum": "Fryer",
|
"CookwareKey:string": "item_environment_cookware_002",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 30,
|
"Price:int": 30,
|
||||||
"IngredientKey1:string": "item_ingredient_011",
|
"IngredientKey1:string": "item_ingredient_011",
|
||||||
@ -692,7 +724,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_008",
|
"Id:string": "item_food_008",
|
||||||
"#Name": "비늘치킨덕",
|
"#Name": "비늘치킨덕",
|
||||||
"CookwareType:Enum": "FirePit",
|
"CookwareKey:string": "item_environment_cookware_003",
|
||||||
"CookTime:int": 6,
|
"CookTime:int": 6,
|
||||||
"Price:int": 30,
|
"Price:int": 30,
|
||||||
"IngredientKey1:string": "item_ingredient_012",
|
"IngredientKey1:string": "item_ingredient_012",
|
||||||
@ -713,7 +745,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_009",
|
"Id:string": "item_food_009",
|
||||||
"#Name": "화룡장어 구이",
|
"#Name": "화룡장어 구이",
|
||||||
"CookwareType:Enum": "FirePit",
|
"CookwareKey:string": "item_environment_cookware_003",
|
||||||
"CookTime:int": 6,
|
"CookTime:int": 6,
|
||||||
"Price:int": 15,
|
"Price:int": 15,
|
||||||
"IngredientKey1:string": "item_ingredient_014",
|
"IngredientKey1:string": "item_ingredient_014",
|
||||||
@ -734,7 +766,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_010",
|
"Id:string": "item_food_010",
|
||||||
"#Name": "미정",
|
"#Name": "미정",
|
||||||
"CookwareType:Enum": "FirePit",
|
"CookwareKey:string": "item_environment_cookware_003",
|
||||||
"CookTime:int": 6,
|
"CookTime:int": 6,
|
||||||
"Price:int": 30,
|
"Price:int": 30,
|
||||||
"IngredientKey1:string": "item_ingredient_016",
|
"IngredientKey1:string": "item_ingredient_016",
|
||||||
@ -755,7 +787,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_011",
|
"Id:string": "item_food_011",
|
||||||
"#Name": "바다의선물",
|
"#Name": "바다의선물",
|
||||||
"CookwareType:Enum": "CuttingBoard",
|
"CookwareKey:string": "item_environment_cookware_004",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_002",
|
"IngredientKey1:string": "item_ingredient_002",
|
||||||
@ -776,7 +808,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_012",
|
"Id:string": "item_food_012",
|
||||||
"#Name": "유령새우회",
|
"#Name": "유령새우회",
|
||||||
"CookwareType:Enum": "CuttingBoard",
|
"CookwareKey:string": "item_environment_cookware_004",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 25,
|
"Price:int": 25,
|
||||||
"IngredientKey1:string": "item_ingredient_017",
|
"IngredientKey1:string": "item_ingredient_017",
|
||||||
@ -797,7 +829,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_013",
|
"Id:string": "item_food_013",
|
||||||
"#Name": "비늘초무침",
|
"#Name": "비늘초무침",
|
||||||
"CookwareType:Enum": "CuttingBoard",
|
"CookwareKey:string": "item_environment_cookware_004",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 45,
|
"Price:int": 45,
|
||||||
"IngredientKey1:string": "item_ingredient_018",
|
"IngredientKey1:string": "item_ingredient_018",
|
||||||
@ -818,7 +850,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_014",
|
"Id:string": "item_food_014",
|
||||||
"#Name": "쫀징어 냉채",
|
"#Name": "쫀징어 냉채",
|
||||||
"CookwareType:Enum": "CuttingBoard",
|
"CookwareKey:string": "item_environment_cookware_004",
|
||||||
"CookTime:int": 5,
|
"CookTime:int": 5,
|
||||||
"Price:int": 15,
|
"Price:int": 15,
|
||||||
"IngredientKey1:string": "item_ingredient_011",
|
"IngredientKey1:string": "item_ingredient_011",
|
||||||
@ -839,7 +871,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_015",
|
"Id:string": "item_food_015",
|
||||||
"#Name": "쫀징어링",
|
"#Name": "쫀징어링",
|
||||||
"CookwareType:Enum": "Griddle",
|
"CookwareKey:string": "item_environment_cookware_005",
|
||||||
"CookTime:int": 8,
|
"CookTime:int": 8,
|
||||||
"Price:int": 25,
|
"Price:int": 25,
|
||||||
"IngredientKey1:string": "item_ingredient_011",
|
"IngredientKey1:string": "item_ingredient_011",
|
||||||
@ -860,7 +892,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_016",
|
"Id:string": "item_food_016",
|
||||||
"#Name": "꿈해파리 볶음",
|
"#Name": "꿈해파리 볶음",
|
||||||
"CookwareType:Enum": "Griddle",
|
"CookwareKey:string": "item_environment_cookware_005",
|
||||||
"CookTime:int": 6,
|
"CookTime:int": 6,
|
||||||
"Price:int": 15,
|
"Price:int": 15,
|
||||||
"IngredientKey1:string": "item_ingredient_019",
|
"IngredientKey1:string": "item_ingredient_019",
|
||||||
@ -881,7 +913,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_017",
|
"Id:string": "item_food_017",
|
||||||
"#Name": "페퍼포칼립스",
|
"#Name": "페퍼포칼립스",
|
||||||
"CookwareType:Enum": "Griddle",
|
"CookwareKey:string": "item_environment_cookware_005",
|
||||||
"CookTime:int": 6,
|
"CookTime:int": 6,
|
||||||
"Price:int": 25,
|
"Price:int": 25,
|
||||||
"IngredientKey1:string": "item_ingredient_012",
|
"IngredientKey1:string": "item_ingredient_012",
|
||||||
@ -902,7 +934,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_018",
|
"Id:string": "item_food_018",
|
||||||
"#Name": "미정",
|
"#Name": "미정",
|
||||||
"CookwareType:Enum": "MagicOven",
|
"CookwareKey:string": "item_environment_cookware_006",
|
||||||
"CookTime:int": 0,
|
"CookTime:int": 0,
|
||||||
"Price:int": 0,
|
"Price:int": 0,
|
||||||
"IngredientKey1:string": "",
|
"IngredientKey1:string": "",
|
||||||
@ -923,7 +955,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_019",
|
"Id:string": "item_food_019",
|
||||||
"#Name": "미정",
|
"#Name": "미정",
|
||||||
"CookwareType:Enum": "MagicOven",
|
"CookwareKey:string": "item_environment_cookware_006",
|
||||||
"CookTime:int": 0,
|
"CookTime:int": 0,
|
||||||
"Price:int": 0,
|
"Price:int": 0,
|
||||||
"IngredientKey1:string": "",
|
"IngredientKey1:string": "",
|
||||||
@ -944,7 +976,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_food_020",
|
"Id:string": "item_food_020",
|
||||||
"#Name": "미정",
|
"#Name": "미정",
|
||||||
"CookwareType:Enum": "MagicOven",
|
"CookwareKey:string": "item_environment_cookware_006",
|
||||||
"CookTime:int": 0,
|
"CookTime:int": 0,
|
||||||
"Price:int": 0,
|
"Price:int": 0,
|
||||||
"IngredientKey1:string": "",
|
"IngredientKey1:string": "",
|
||||||
@ -967,7 +999,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "식별ID",
|
"Id:string": "식별ID",
|
||||||
"#Name": "이름",
|
"#Name": "이름",
|
||||||
"CookwareType:Enum": "요리도구",
|
"CookwareKey:string": "요리도구 키 값",
|
||||||
"CookTime:int": "요리시간",
|
"CookTime:int": "요리시간",
|
||||||
"Price:int": "요리가격",
|
"Price:int": "요리가격",
|
||||||
"IngredientKey1:string": "재료1",
|
"IngredientKey1:string": "재료1",
|
||||||
@ -988,7 +1020,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_drink_001",
|
"Id:string": "item_drink_001",
|
||||||
"#Name": "토마토 주스",
|
"#Name": "토마토 주스",
|
||||||
"CookwareType:Enum": "JuiceMachine",
|
"CookwareKey:string": "item_environment_cookware_007",
|
||||||
"CookTime:int": 1,
|
"CookTime:int": 1,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_006",
|
"IngredientKey1:string": "item_ingredient_006",
|
||||||
@ -1009,7 +1041,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_drink_002",
|
"Id:string": "item_drink_002",
|
||||||
"#Name": "오렌지 주스",
|
"#Name": "오렌지 주스",
|
||||||
"CookwareType:Enum": "JuiceMachine",
|
"CookwareKey:string": "item_environment_cookware_007",
|
||||||
"CookTime:int": 1,
|
"CookTime:int": 1,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_023",
|
"IngredientKey1:string": "item_ingredient_023",
|
||||||
@ -1030,7 +1062,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_drink_003",
|
"Id:string": "item_drink_003",
|
||||||
"#Name": "여신의눈물",
|
"#Name": "여신의눈물",
|
||||||
"CookwareType:Enum": "Barrel",
|
"CookwareKey:string": "item_environment_cookware_008",
|
||||||
"CookTime:int": 3,
|
"CookTime:int": 3,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_008",
|
"IngredientKey1:string": "item_ingredient_008",
|
||||||
@ -1051,7 +1083,7 @@
|
|||||||
{
|
{
|
||||||
"Id:string": "item_drink_004",
|
"Id:string": "item_drink_004",
|
||||||
"#Name": "라벨블루",
|
"#Name": "라벨블루",
|
||||||
"CookwareType:Enum": "Barrel",
|
"CookwareKey:string": "item_environment_cookware_008",
|
||||||
"CookTime:int": 3,
|
"CookTime:int": 3,
|
||||||
"Price:int": 10,
|
"Price:int": 10,
|
||||||
"IngredientKey1:string": "item_ingredient_002",
|
"IngredientKey1:string": "item_ingredient_002",
|
||||||
@ -1168,6 +1200,53 @@
|
|||||||
"#Name": "오렌지"
|
"#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": [
|
"TasteData": [
|
||||||
{
|
{
|
||||||
"Id:string": "식별ID",
|
"Id:string": "식별ID",
|
||||||
@ -1176,92 +1255,92 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Sweet",
|
"Id:string": "Sweet",
|
||||||
"#Name": "",
|
"#Name": "단맛",
|
||||||
"TasteType:Enum": "Sweet"
|
"TasteType:Enum": "Sweet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Warm",
|
"Id:string": "Warm",
|
||||||
"#Name": "",
|
"#Name": "따뜻한",
|
||||||
"TasteType:Enum": "Warm"
|
"TasteType:Enum": "Warm"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Vegetable",
|
"Id:string": "Vegetable",
|
||||||
"#Name": "",
|
"#Name": "채류",
|
||||||
"TasteType:Enum": "Vegetable"
|
"TasteType:Enum": "Vegetable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Bitter",
|
"Id:string": "Bitter",
|
||||||
"#Name": "",
|
"#Name": "쓴맛",
|
||||||
"TasteType:Enum": "Bitter"
|
"TasteType:Enum": "Bitter"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Salty",
|
"Id:string": "Salty",
|
||||||
"#Name": "",
|
"#Name": "짠맛",
|
||||||
"TasteType:Enum": "Salty"
|
"TasteType:Enum": "Salty"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Mild",
|
"Id:string": "Mild",
|
||||||
"#Name": "",
|
"#Name": "담백한",
|
||||||
"TasteType:Enum": "Mild"
|
"TasteType:Enum": "Mild"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Addictive",
|
"Id:string": "Addictive",
|
||||||
"#Name": "",
|
"#Name": "중독적인",
|
||||||
"TasteType:Enum": "Addictive"
|
"TasteType:Enum": "Addictive"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Sour",
|
"Id:string": "Sour",
|
||||||
"#Name": "",
|
"#Name": "신맛",
|
||||||
"TasteType:Enum": "Sour"
|
"TasteType:Enum": "Sour"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Savory",
|
"Id:string": "Savory",
|
||||||
"#Name": "",
|
"#Name": "고소한",
|
||||||
"TasteType:Enum": "Savory"
|
"TasteType:Enum": "Savory"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Meat",
|
"Id:string": "Meat",
|
||||||
"#Name": "",
|
"#Name": "육류",
|
||||||
"TasteType:Enum": "Meat"
|
"TasteType:Enum": "Meat"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "SuperHot",
|
"Id:string": "SuperHot",
|
||||||
"#Name": "",
|
"#Name": "핵불닭맛",
|
||||||
"TasteType:Enum": "SuperHot"
|
"TasteType:Enum": "SuperHot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Fish",
|
"Id:string": "Fish",
|
||||||
"#Name": "",
|
"#Name": "어류",
|
||||||
"TasteType:Enum": "Fish"
|
"TasteType:Enum": "Fish"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "NoneDegree",
|
"Id:string": "NoneDegree",
|
||||||
"#Name": "",
|
"#Name": "도수가없는",
|
||||||
"TasteType:Enum": "NoneDegree"
|
"TasteType:Enum": "NoneDegree"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "Soda",
|
"Id:string": "Soda",
|
||||||
"#Name": "",
|
"#Name": "탄산",
|
||||||
"TasteType:Enum": "Soda"
|
"TasteType:Enum": "Soda"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "LowDegree",
|
"Id:string": "LowDegree",
|
||||||
"#Name": "",
|
"#Name": "도수가낮은",
|
||||||
"TasteType:Enum": "LowDegree"
|
"TasteType:Enum": "LowDegree"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "WoodFlavor",
|
"Id:string": "WoodFlavor",
|
||||||
"#Name": "",
|
"#Name": "나무향",
|
||||||
"TasteType:Enum": "WoodFlavor"
|
"TasteType:Enum": "WoodFlavor"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "MiddleDegree",
|
"Id:string": "MiddleDegree",
|
||||||
"#Name": "",
|
"#Name": "도수가보통인",
|
||||||
"TasteType:Enum": "MiddleDegree"
|
"TasteType:Enum": "MiddleDegree"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Id:string": "FruitFlavor",
|
"Id:string": "FruitFlavor",
|
||||||
"#Name": "",
|
"#Name": "과일향",
|
||||||
"TasteType:Enum": "FruitFlavor"
|
"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
|
fileFormatVersion: 2
|
||||||
guid: 638f3769e2653a74d9a503e0e5cd5332
|
guid: 5c7c87af5db0e884eb3b979cb1d2188b
|
||||||
NativeFormatImporter:
|
NativeFormatImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 11400000
|
mainObjectFileID: 11400000
|
@ -14,7 +14,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
Datas:
|
Datas:
|
||||||
- <Id>k__BackingField: item_drink_001
|
- <Id>k__BackingField: item_drink_001
|
||||||
CookwareType: 7
|
CookwareKey: item_environment_cookware_007
|
||||||
CookTime: 1
|
CookTime: 1
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_006
|
IngredientKey1: item_ingredient_006
|
||||||
@ -32,7 +32,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_drink_002
|
- <Id>k__BackingField: item_drink_002
|
||||||
CookwareType: 7
|
CookwareKey: item_environment_cookware_007
|
||||||
CookTime: 1
|
CookTime: 1
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_023
|
IngredientKey1: item_ingredient_023
|
||||||
@ -50,7 +50,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_drink_003
|
- <Id>k__BackingField: item_drink_003
|
||||||
CookwareType: 8
|
CookwareKey: item_environment_cookware_008
|
||||||
CookTime: 3
|
CookTime: 3
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_008
|
IngredientKey1: item_ingredient_008
|
||||||
@ -68,7 +68,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_drink_004
|
- <Id>k__BackingField: item_drink_004
|
||||||
CookwareType: 8
|
CookwareKey: item_environment_cookware_008
|
||||||
CookTime: 3
|
CookTime: 3
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_002
|
IngredientKey1: item_ingredient_002
|
||||||
|
@ -14,7 +14,7 @@ MonoBehaviour:
|
|||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
Datas:
|
Datas:
|
||||||
- <Id>k__BackingField: item_food_001
|
- <Id>k__BackingField: item_food_001
|
||||||
CookwareType: 1
|
CookwareKey: item_environment_cookware_001
|
||||||
CookTime: 7
|
CookTime: 7
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_001
|
IngredientKey1: item_ingredient_001
|
||||||
@ -32,7 +32,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_002
|
- <Id>k__BackingField: item_food_002
|
||||||
CookwareType: 1
|
CookwareKey: item_environment_cookware_001
|
||||||
CookTime: 7
|
CookTime: 7
|
||||||
Price: 20
|
Price: 20
|
||||||
IngredientKey1: item_ingredient_002
|
IngredientKey1: item_ingredient_002
|
||||||
@ -50,7 +50,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_003
|
- <Id>k__BackingField: item_food_003
|
||||||
CookwareType: 1
|
CookwareKey: item_environment_cookware_001
|
||||||
CookTime: 7
|
CookTime: 7
|
||||||
Price: 15
|
Price: 15
|
||||||
IngredientKey1: item_ingredient_002
|
IngredientKey1: item_ingredient_002
|
||||||
@ -68,7 +68,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_004
|
- <Id>k__BackingField: item_food_004
|
||||||
CookwareType: 1
|
CookwareKey: item_environment_cookware_001
|
||||||
CookTime: 10
|
CookTime: 10
|
||||||
Price: 30
|
Price: 30
|
||||||
IngredientKey1: item_ingredient_005
|
IngredientKey1: item_ingredient_005
|
||||||
@ -86,7 +86,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_005
|
- <Id>k__BackingField: item_food_005
|
||||||
CookwareType: 2
|
CookwareKey: item_environment_cookware_002
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 20
|
Price: 20
|
||||||
IngredientKey1: item_ingredient_007
|
IngredientKey1: item_ingredient_007
|
||||||
@ -104,7 +104,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_006
|
- <Id>k__BackingField: item_food_006
|
||||||
CookwareType: 2
|
CookwareKey: item_environment_cookware_002
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 30
|
Price: 30
|
||||||
IngredientKey1: item_ingredient_003
|
IngredientKey1: item_ingredient_003
|
||||||
@ -122,7 +122,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_007
|
- <Id>k__BackingField: item_food_007
|
||||||
CookwareType: 2
|
CookwareKey: item_environment_cookware_002
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 30
|
Price: 30
|
||||||
IngredientKey1: item_ingredient_011
|
IngredientKey1: item_ingredient_011
|
||||||
@ -140,7 +140,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_008
|
- <Id>k__BackingField: item_food_008
|
||||||
CookwareType: 3
|
CookwareKey: item_environment_cookware_003
|
||||||
CookTime: 6
|
CookTime: 6
|
||||||
Price: 30
|
Price: 30
|
||||||
IngredientKey1: item_ingredient_012
|
IngredientKey1: item_ingredient_012
|
||||||
@ -158,7 +158,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_009
|
- <Id>k__BackingField: item_food_009
|
||||||
CookwareType: 3
|
CookwareKey: item_environment_cookware_003
|
||||||
CookTime: 6
|
CookTime: 6
|
||||||
Price: 15
|
Price: 15
|
||||||
IngredientKey1: item_ingredient_014
|
IngredientKey1: item_ingredient_014
|
||||||
@ -176,7 +176,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_010
|
- <Id>k__BackingField: item_food_010
|
||||||
CookwareType: 3
|
CookwareKey: item_environment_cookware_003
|
||||||
CookTime: 6
|
CookTime: 6
|
||||||
Price: 30
|
Price: 30
|
||||||
IngredientKey1: item_ingredient_016
|
IngredientKey1: item_ingredient_016
|
||||||
@ -194,7 +194,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_011
|
- <Id>k__BackingField: item_food_011
|
||||||
CookwareType: 4
|
CookwareKey: item_environment_cookware_004
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 10
|
Price: 10
|
||||||
IngredientKey1: item_ingredient_002
|
IngredientKey1: item_ingredient_002
|
||||||
@ -212,7 +212,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_012
|
- <Id>k__BackingField: item_food_012
|
||||||
CookwareType: 4
|
CookwareKey: item_environment_cookware_004
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 25
|
Price: 25
|
||||||
IngredientKey1: item_ingredient_017
|
IngredientKey1: item_ingredient_017
|
||||||
@ -230,7 +230,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_013
|
- <Id>k__BackingField: item_food_013
|
||||||
CookwareType: 4
|
CookwareKey: item_environment_cookware_004
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 45
|
Price: 45
|
||||||
IngredientKey1: item_ingredient_018
|
IngredientKey1: item_ingredient_018
|
||||||
@ -248,7 +248,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_014
|
- <Id>k__BackingField: item_food_014
|
||||||
CookwareType: 4
|
CookwareKey: item_environment_cookware_004
|
||||||
CookTime: 5
|
CookTime: 5
|
||||||
Price: 15
|
Price: 15
|
||||||
IngredientKey1: item_ingredient_011
|
IngredientKey1: item_ingredient_011
|
||||||
@ -266,7 +266,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_015
|
- <Id>k__BackingField: item_food_015
|
||||||
CookwareType: 5
|
CookwareKey: item_environment_cookware_005
|
||||||
CookTime: 8
|
CookTime: 8
|
||||||
Price: 25
|
Price: 25
|
||||||
IngredientKey1: item_ingredient_011
|
IngredientKey1: item_ingredient_011
|
||||||
@ -284,7 +284,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_016
|
- <Id>k__BackingField: item_food_016
|
||||||
CookwareType: 5
|
CookwareKey: item_environment_cookware_005
|
||||||
CookTime: 6
|
CookTime: 6
|
||||||
Price: 15
|
Price: 15
|
||||||
IngredientKey1: item_ingredient_019
|
IngredientKey1: item_ingredient_019
|
||||||
@ -302,7 +302,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_017
|
- <Id>k__BackingField: item_food_017
|
||||||
CookwareType: 5
|
CookwareKey: item_environment_cookware_005
|
||||||
CookTime: 6
|
CookTime: 6
|
||||||
Price: 25
|
Price: 25
|
||||||
IngredientKey1: item_ingredient_012
|
IngredientKey1: item_ingredient_012
|
||||||
@ -320,7 +320,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_018
|
- <Id>k__BackingField: item_food_018
|
||||||
CookwareType: 6
|
CookwareKey: item_environment_cookware_006
|
||||||
CookTime: 0
|
CookTime: 0
|
||||||
Price: 0
|
Price: 0
|
||||||
IngredientKey1:
|
IngredientKey1:
|
||||||
@ -338,7 +338,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_019
|
- <Id>k__BackingField: item_food_019
|
||||||
CookwareType: 6
|
CookwareKey: item_environment_cookware_006
|
||||||
CookTime: 0
|
CookTime: 0
|
||||||
Price: 0
|
Price: 0
|
||||||
IngredientKey1:
|
IngredientKey1:
|
||||||
@ -356,7 +356,7 @@ MonoBehaviour:
|
|||||||
TasteKey5:
|
TasteKey5:
|
||||||
TasteKey6:
|
TasteKey6:
|
||||||
- <Id>k__BackingField: item_food_020
|
- <Id>k__BackingField: item_food_020
|
||||||
CookwareType: 6
|
CookwareKey: item_environment_cookware_006
|
||||||
CookTime: 0
|
CookTime: 0
|
||||||
Price: 0
|
Price: 0
|
||||||
IngredientKey1:
|
IngredientKey1:
|
||||||
|
@ -109,6 +109,22 @@ MonoBehaviour:
|
|||||||
ItemType: 3
|
ItemType: 3
|
||||||
- <Id>k__BackingField: item_environment_005
|
- <Id>k__BackingField: item_environment_005
|
||||||
ItemType: 3
|
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
|
- <Id>k__BackingField: item_drink_001
|
||||||
ItemType: 4
|
ItemType: 4
|
||||||
- <Id>k__BackingField: item_drink_002
|
- <Id>k__BackingField: item_drink_002
|
||||||
|
@ -40,7 +40,7 @@ private void LoadOrCreateRestaurantState()
|
|||||||
private void GenerateDummyEnvironmentProps()
|
private void GenerateDummyEnvironmentProps()
|
||||||
{
|
{
|
||||||
// Make dummy placement data
|
// 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++)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
|
@ -15,9 +15,7 @@ public class RestaurantEnvironment : MonoBehaviour
|
|||||||
|
|
||||||
public async void Initialize(RestaurantEnvironmentData data)
|
public async void Initialize(RestaurantEnvironmentData data)
|
||||||
{
|
{
|
||||||
await DataManager.Instance.WaitUntilInitialized();
|
EnvironmentData environmentData = DataManager.Instance.GetDataSo<EnvironmentDataSo>().GetDataById(data.Id);
|
||||||
|
|
||||||
EnvironmentData environmentData = DataManager.Instance.EnvironmentDataSo.GetDataById(data.Id);
|
|
||||||
|
|
||||||
_collider = GetComponent<Collider>();
|
_collider = GetComponent<Collider>();
|
||||||
_visualLook = transform.Find(CommonConstants.VisualLook);
|
_visualLook = transform.Find(CommonConstants.VisualLook);
|
||||||
|
@ -17,6 +17,7 @@ public static class DataConstants
|
|||||||
public const string FoodDataSo = "FoodDataSo";
|
public const string FoodDataSo = "FoodDataSo";
|
||||||
public const string DrinkDataSo = "DrinkDataSo";
|
public const string DrinkDataSo = "DrinkDataSo";
|
||||||
public const string IngredientDataSo = "IngredientDataSo";
|
public const string IngredientDataSo = "IngredientDataSo";
|
||||||
|
public const string CookwareDataSo = "CookwareDataSo";
|
||||||
public const string TasteDataSo = "TasteDataSo";
|
public const string TasteDataSo = "TasteDataSo";
|
||||||
public const string EnvironmentDataSo = "EnvironmentDataSo";
|
public const string EnvironmentDataSo = "EnvironmentDataSo";
|
||||||
public const string RestaurantPlayerDataSo = "RestaurantPlayerDataSo";
|
public const string RestaurantPlayerDataSo = "RestaurantPlayerDataSo";
|
||||||
|
Loading…
Reference in New Issue
Block a user