데이터 구조 방식 변경

This commit is contained in:
NTG_Lenovo 2024-09-12 16:36:24 +09:00
parent a105013227
commit b5638a435a
38 changed files with 2172 additions and 1787 deletions

View File

@ -3958,7 +3958,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_persistent: 0
_customerDataSo: {fileID: 11400000, guid: e6ce9d58057b580479880585947969d8, type: 2}
<CustomerDataSo>k__BackingField: {fileID: 11400000, guid: e6ce9d58057b580479880585947969d8, type: 2}
_customerPrefab: {fileID: -2302002259734456648, guid: 23195e611c71ad44b8a1ccb2b6e0efe5, type: 3}
_customerSpawnTransform: {fileID: 1038321203}
_checkEmptySeatInterval: 0.5
@ -16893,10 +16893,22 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_persistent: 0
<MaxHeart>k__BackingField: 3
CurrentHeart: 0
Invincibility: 0
<Chracter_Speed>k__BackingField: 1
<LiquidA>k__BackingField: 1000
<LiquidB>k__BackingField: 1000
<LiquidC>k__BackingField: 1000
<LiquidD>k__BackingField: 1000
<LiquidE>k__BackingField: 1000
<GarnishA>k__BackingField: 1000
<GarnishB>k__BackingField: 1000
<CustomerTableController>k__BackingField: {fileID: 1665075870}
<TycoonStageController>k__BackingField: {fileID: 1665075872}
_dailyBgm: TycoonDailyBgm1
_levelDataSo: {fileID: 11400000, guid: 702b1ed0ce71d1b4aa1ddbce67e475a1, type: 2}
<LevelDataSo>k__BackingField: {fileID: 11400000, guid: 702b1ed0ce71d1b4aa1ddbce67e475a1, type: 2}
<CardDataSo>k__BackingField: {fileID: 11400000, guid: 4607b374e49ab734da548949f9e10fed, type: 2}
--- !u!114 &1665075870
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -80,7 +80,7 @@ namespace BlueWater.BehaviorTrees.Actions
{
tycoonPlayer.GiveItem();
_balloonUi.ReceiveFood();
var itemData = ItemManager.Instance.GetItemDataByIdx(carriedBeverageData.Idx);
var itemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(carriedBeverageData.Idx);
_customer.SetFood(itemData);
if (itemData.Quality == ItemQuality.High)
{

View File

@ -81,7 +81,7 @@ namespace BlueWater.BehaviorTrees.Actions
{
tycoonPlayer.GiveItem();
_balloonUi.ReceiveFood();
var itemData = ItemManager.Instance.GetItemDataByIdx(carriedFoodData.Idx);
var itemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(carriedFoodData.Idx);
_customer.SetFood(itemData);
if (itemData.Quality == ItemQuality.High)
{

View File

@ -85,7 +85,7 @@ namespace BlueWater
foreach (var element in ItemSlotList)
{
var elementWeight = ItemManager.Instance.GetItemDataByIdx(element.Idx).Weight;
var elementWeight = ItemManager.Instance.ItemDataSo.GetDataByIdx(element.Idx).Weight;
CurrentTotalWeight += elementWeight * element.Quantity;
}
@ -103,12 +103,12 @@ namespace BlueWater
break;
case CombatInventorySortingType.Name:
ItemSlotList.Sort((x, y) =>
string.Compare(ItemManager.Instance.GetItemDataByIdx(x.Idx).Name,
ItemManager.Instance.GetItemDataByIdx(y.Idx).Name, StringComparison.Ordinal));
string.Compare(ItemManager.Instance.ItemDataSo.GetDataByIdx(x.Idx).Name,
ItemManager.Instance.ItemDataSo.GetDataByIdx(y.Idx).Name, StringComparison.Ordinal));
break;
case CombatInventorySortingType.Category:
ItemSlotList.Sort((x, y) =>
ItemManager.Instance.GetItemDataByIdx(x.Idx).Type.CompareTo(ItemManager.Instance.GetItemDataByIdx(y.Idx).Type));
ItemManager.Instance.ItemDataSo.GetDataByIdx(x.Idx).Type.CompareTo(ItemManager.Instance.ItemDataSo.GetDataByIdx(y.Idx).Type));
break;
case CombatInventorySortingType.Count:
ItemSlotList.Sort((x, y) => y.Quantity.CompareTo(x.Quantity));

View File

@ -21,10 +21,10 @@ namespace BlueWater.Editors
public static ExcelToJsonConverter Instance { get; private set; }
private Vector2 _scrollPosition;
[MenuItem("Tools/EXCEL TO JSON - BlueWater")]
[MenuItem("Tools/01.Excel -> Json")]
public static void ShowWindow()
{
Instance = GetWindow<ExcelToJsonConverter>("EXCEL TO JSON");
Instance = GetWindow<ExcelToJsonConverter>("01.Excel -> Json");
}
private void OnEnable()

View File

@ -1,5 +1,7 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using BlueWater.Interfaces;
using BlueWater.Items;
using BlueWater.Npcs.Customers;
@ -29,10 +31,10 @@ namespace BlueWater.Editors
private string _assetFilePath = "Assets/02.Scripts/ScriptableObject/Item";
private DataType _dataType = DataType.None;
[MenuItem("Tools/Json파일 ScriptableObject로 자동 변환")]
[MenuItem("Tools/02. json -> ScriptableObject")]
public static void ShowWindow()
{
GetWindow<JsonHelperEditor>("Json파일 ScriptableObject로 자동 변환");
GetWindow<JsonHelperEditor>("02. json -> ScriptableObject");
}
private void OnGUI()
@ -114,15 +116,21 @@ namespace BlueWater.Editors
return;
}
var newData = JsonHelper.LoadJsonData<T>(fullJsonFilePath);
if (newData == null || newData.Count == 0)
var newDataList = JsonHelper.LoadJsonData<T>(fullJsonFilePath);
if (newDataList == null || newDataList.Count == 0)
{
EditorUtility.DisplayDialog("경고 메세지", "Json 파일 데이터가 비어있거나, 불러올 수 없습니다.\n" + fullJsonFilePath, "확인");
Debug.LogError("Json 파일 데이터가 비어있거나, 불러올 수 없습니다.\n" + fullJsonFilePath);
return;
}
newData.Sort((x, y) => x.Idx.CompareTo(y.Idx));
var newDataKeyValueList = new List<SerializableKeyValuePair<T>>();
foreach (var data in newDataList)
{
if (data != null)
{
newDataKeyValueList.Add(new SerializableKeyValuePair<T> { Key = data.Idx, Value = data });
}
}
var assetFileName = Path.GetFileNameWithoutExtension(_jsonFilePath) + ".asset";
var assetPath = Path.Combine(_assetFilePath, assetFileName);
@ -133,7 +141,7 @@ namespace BlueWater.Editors
so = CreateInstance<U>();
if (so is IDataContainer<T> container)
{
container.SetData(newData);
container.SetSerializedDataList(newDataKeyValueList);
}
AssetDatabase.CreateAsset(so, assetPath);
EditorUtility.DisplayDialog("알림 메세지", "새로운 ScriptableObject가 생성되었습니다.", "확인");
@ -142,10 +150,10 @@ namespace BlueWater.Editors
{
if (so is IDataContainer<T> container)
{
var existingData = container.GetData();
MergeData(existingData, newData);
existingData.Sort((x, y) => x.Idx.CompareTo(y.Idx));
container.SetData(existingData);
var existingData = container.GetSerializedDataList();
MergeData(existingData, newDataKeyValueList);
//existingData.Sort((x, y) => x.Idx.CompareTo(y.Idx));
container.SetSerializedDataList(existingData);
}
EditorUtility.DisplayDialog("알림 메세지", "기존 ScriptableObject가 업데이트되었습니다.", "확인");
}
@ -154,62 +162,83 @@ namespace BlueWater.Editors
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();
}
/// <summary>
/// Json에 있는 데이터만 덮어씌우도록 하는 함수
/// Json안에 없는 데이터는 변경하지 않습니다.
/// </summary>
/// <param name="existingData"></param>
/// <param name="newData"></param>
/// <typeparam name="T"></typeparam>
private void MergeData<T>(List<T> existingData, List<T> newData) where T : class, IIdx
private void MergeData<T>(List<SerializableKeyValuePair<T>> existingData, List<SerializableKeyValuePair<T>> newData)
where T : class, IIdx
{
existingData ??= new List<T>();
existingData ??= new List<SerializableKeyValuePair<T>>();
var newDataIdxSet = new HashSet<string>();
foreach (var newDataItem in newData)
{
if (newDataItem != null)
if (newDataItem != null && newDataItem.Value != null)
{
newDataIdxSet.Add(newDataItem.Idx);
newDataIdxSet.Add(newDataItem.Key); // Key는 Idx에 해당
}
}
existingData.RemoveAll(item => item == null || !newDataIdxSet.Contains(item.Idx));
// 기존 데이터에서 JSON에 없는 항목 제거
existingData.RemoveAll(item => item == null || !newDataIdxSet.Contains(item.Key));
var existingDataDict = new Dictionary<string, T>();
// 기존 데이터를 Dictionary로 변환
var existingDataDict = new Dictionary<string, SerializableKeyValuePair<T>>();
foreach (var data in existingData)
{
if (data != null)
if (data != null && data.Value != null)
{
existingDataDict[data.Idx] = data;
existingDataDict[data.Key] = data;
}
}
// 새로운 데이터를 기존 데이터에 덮어쓰거나 추가
foreach (var newDataItem in newData)
{
if (newDataItem == null) continue;
if (newDataItem == null || newDataItem.Value == null) continue;
if (existingDataDict.TryGetValue(newDataItem.Idx, out var existingItem))
if (existingDataDict.TryGetValue(newDataItem.Key, out var existingItem))
{
var properties = typeof(T).GetProperties();
var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var property in properties)
{
var newValue = property.GetValue(newDataItem);
if (newValue != null && property.CanWrite)
var newValue = property.GetValue(newDataItem.Value);
var existingValue = property.GetValue(existingItem.Value);
// 덮어쓰기 조건 (참조 타입이거나, 값 타입이 기본값이 아닌 경우에만 덮어씀)
if (ShouldOverwriteProperty(newValue, existingValue, property))
{
property.SetValue(existingItem, newValue);
property.SetValue(existingItem.Value, newValue);
}
}
}
else
{
existingDataDict[newDataItem.Idx] = newDataItem;
// 기존 데이터에 없으면 새로 추가
existingDataDict[newDataItem.Key] = newDataItem;
}
}
// 기존 데이터 리스트를 다시 갱신
existingData.Clear();
existingData.AddRange(existingDataDict.Values);
}
/// <summary>
/// 속성 덮어쓰기 여부를 결정하는 일반적인 로직
/// </summary>
private bool ShouldOverwriteProperty(object newValue, object existingValue, PropertyInfo property)
{
// 값이 없으면 덮어쓰지 않음
if (newValue == null) return false;
// 값 타입일 경우 기본값이 아닌지 확인
if (property.PropertyType.IsValueType)
{
var defaultValue = Activator.CreateInstance(property.PropertyType);
return !newValue.Equals(defaultValue); // 기본값이 아니면 덮어씀
}
// 참조 타입인 경우
return true; // 참조 타입은 항상 덮어씀 (null 체크는 상위에서 수행됨)
}
}
}

View File

@ -4,7 +4,7 @@ namespace BlueWater.Interfaces
{
public interface IDataContainer<T>
{
List<T> GetData();
void SetData(List<T> data);
List<SerializableKeyValuePair<T>> GetSerializedDataList();
void SetSerializedDataList(List<SerializableKeyValuePair<T>> data);
}
}

View File

@ -1,22 +1,93 @@
using System.Collections.Generic;
using BlueWater.Interfaces;
using UnityEngine;
using Random = UnityEngine.Random;
namespace BlueWater.Items
{
public class DataSo<T> : ScriptableObject, IDataContainer<T>
{
[field: SerializeField]
public List<T> Datas { get; private set; }
[SerializeField]
private List<SerializableKeyValuePair<T>> _serializedDataList = new();
public List<T> GetData()
private Dictionary<string, T> _datas;
private void OnEnable()
{
return Datas;
InitializeDictionary();
}
/// <summary>
/// 에디터에서 값이 변경되었을 때 호출되는 함수
/// </summary>
private void OnValidate()
{
InitializeDictionary();
}
public void SetData(List<T> datas)
private void InitializeDictionary()
{
Datas = datas;
_datas = new Dictionary<string, T>();
foreach (var kvp in _serializedDataList)
{
if (!_datas.ContainsKey(kvp.Key))
{
_datas.Add(kvp.Key, kvp.Value);
}
}
}
/// <summary>
/// 에디터에서 변환할 때 사용하는 함수
/// </summary>
public List<SerializableKeyValuePair<T>> GetSerializedDataList()
{
return _serializedDataList;
}
/// <summary>
/// 에디터에서 변환할 때 사용하는 함수
/// </summary>
public void SetSerializedDataList(List<SerializableKeyValuePair<T>> datas)
{
_serializedDataList = datas;
}
public Dictionary<string, T> GetData()
{
return _datas;
}
public void SetData(Dictionary<string, T> datas)
{
_datas = datas;
}
public T GetDataByIdx(string idx)
{
if (!_datas.TryGetValue(idx, out var data))
{
Debug.LogError($"{idx}에 해당하는 값을 찾을 수 없습니다.");
return default;
}
return data;
}
public int GetDataCount()
{
return _datas.Count;
}
/// <summary>
/// 데이터 전체에서 랜덤한 Key에 접근해 Value를 리턴해주는 함수
/// </summary>
public T GetRandomValue()
{
var randomIndex = Random.Range(0, GetDataCount());
var keys = new List<string>(_datas.Keys);
var randomKey = keys[randomIndex];
return _datas[randomKey];
}
}
}

View File

@ -121,7 +121,7 @@ namespace BlueWater.Items
public void Initialize(ItemSlot itemSlot)
{
ItemSlot = itemSlot;
ItemData = ItemManager.Instance.GetItemDataByIdx(ItemSlot.Idx);
ItemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(ItemSlot.Idx);
SpriteRenderer.sprite = ItemData.Sprite;
}

View File

@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.IO;
using BlueWater.Items;
using Newtonsoft.Json.Linq;
using UnityEngine;
@ -10,10 +9,9 @@ using UnityEditor;
namespace BlueWater.Items
{
public class ItemDropTableSo : ScriptableObject
[CreateAssetMenu(fileName = "ItemDropTable", menuName = "ScriptableObjects/ItemDropTable")]
public class ItemDropTableSo : DataSo<ItemDropTable> // DataSo<ItemDropTable>를 상속
{
// public 필수
public List<ItemDropTable> ItemDropTables = new();
private const string ItemDropJsonPath = "Assets/Resources/Json/ItemDropTable.json";
private const string CharacterDataJsonPath = "Assets/Resources/Json/CharacterData.json";
private const string FilePath = "Assets/02.Scripts/ScriptableObject/Item/ItemDropTable.asset";
@ -28,21 +26,33 @@ namespace BlueWater.Items
var instance = CreateFromJson(itemDropJsonContent, characterDataJsonContent);
AssetDatabase.CreateAsset(instance, FilePath);
AssetDatabase.SaveAssets();
Debug.Log("ItemDropTable ScriptableObject created successfully in ItemDropTableScriptableObject class.");
Debug.Log("ItemDropTable ScriptableObject created successfully.");
}
#endif
private static ItemDropTableSo CreateFromJson(string itemDropJsonString, string characterDataJsonString)
{
var itemDropTables = ParseJsonToCharacterDrops(itemDropJsonString, characterDataJsonString);
var instance = CreateInstance<ItemDropTableSo>();
instance.ItemDropTables = itemDropTables;
return instance;
var itemDropTableSo = CreateInstance<ItemDropTableSo>();
var newItemDropTables = ParseJsonToCharacterDrops(itemDropJsonString, characterDataJsonString);
// Dictionary<string, ItemDropTable>로 변환하여 직렬화 가능한 리스트에 추가
var serializedDataList = new List<SerializableKeyValuePair<ItemDropTable>>();
foreach (var kvp in newItemDropTables)
{
serializedDataList.Add(new SerializableKeyValuePair<ItemDropTable>
{
Key = kvp.Key,
Value = kvp.Value
});
}
itemDropTableSo.SetSerializedDataList(serializedDataList);
return itemDropTableSo;
}
private static List<ItemDropTable> ParseJsonToCharacterDrops(string itemDropJsonString, string characterDataJsonString)
private static Dictionary<string, ItemDropTable> ParseJsonToCharacterDrops(string itemDropJsonString, string characterDataJsonString)
{
var newItemDropTables = new List<ItemDropTable>();
var itemDropTables = new Dictionary<string, ItemDropTable>();
var characterDataDictionary = ParseCharacterDataJson(characterDataJsonString);
@ -67,8 +77,7 @@ namespace BlueWater.Items
itemDropTables[characterIdx].DropItems.Add(dropItem);
}
newItemDropTables.AddRange(itemDropTables.Values);
return newItemDropTables;
return itemDropTables;
}
private static Dictionary<string, string> ParseCharacterDataJson(string characterDataJsonString)

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Linq;
using Sirenix.OdinInspector;
using UnityEngine;
using UnityEngine.Serialization;
using Random = UnityEngine.Random;
namespace BlueWater.Items
@ -13,25 +12,20 @@ namespace BlueWater.Items
[SerializeField, Required]
private Item _defaultItemPrefab;
[SerializeField, Required]
private ItemDataSo _itemDataSo;
private Dictionary<string, ItemData> _itemDatas;
[field: SerializeField, Required]
public ItemDataSo ItemDataSo { get; private set; }
[SerializeField, Required]
private ItemDropTableSo _itemDropTableSo;
private Dictionary<string, ItemDropTable> _itemDropTables;
[field: SerializeField, Required]
public ItemDropTableSo ItemDropTableSo { get; private set; }
[SerializeField, Required]
private FoodDataSo _foodDataSo;
private Dictionary<string, FoodData> _foodDatas;
[field: SerializeField, Required]
public FoodDataSo FoodDataSo { get; private set; }
[SerializeField, Required]
private CocktailDataSo _cocktailDataSo;
private Dictionary<string, CocktailData> _cocktailDatas;
[field: SerializeField, Required]
public CocktailDataSo CocktailDataSo { get; private set; }
[FormerlySerializedAs("_drinkDataSo")] [SerializeField, Required]
private LiquidDataSo liquidDataSo;
private Dictionary<string, LiquidData> _liquidDatas;
[field: SerializeField, Required]
public LiquidDataSo LiquidDataSo { get; private set; }
[field: SerializeField, Required]
public ItemSlotDataSo ItemSlotDataSo { get; private set; }
@ -45,30 +39,9 @@ namespace BlueWater.Items
private const int MaxAttempts = 1000;
protected override void OnAwake()
{
base.OnAwake();
Initialize();
}
private void Initialize()
{
_itemDatas = InitializeDictionary(_itemDataSo.Datas, data => data.Idx);
_itemDropTables = InitializeDictionary(_itemDropTableSo.ItemDropTables, table => table.CharacterData.CharacterIdx);
_foodDatas = InitializeDictionary(_foodDataSo.Datas, data => data.Idx);
_cocktailDatas = InitializeDictionary(_cocktailDataSo.Datas, data => data.Idx);
_liquidDatas = InitializeDictionary(liquidDataSo.Datas, data => data.Idx);
}
private Dictionary<string, T> InitializeDictionary<T>(List<T> dataList, Func<T, string> keySelector)
{
return dataList.ToDictionary(keySelector);
}
public void ItemDropRandomPosition(string idx, Vector3 dropPosition, float randomDropRadius = float.PositiveInfinity)
{
var itemDropTable = GetItemDropTableByIdx(idx);
var itemDropTable = ItemDropTableSo.GetDataByIdx(idx);
if (itemDropTable == null) return;
var droppedItemList = itemDropTable.GetDroppedItemList();
@ -88,7 +61,7 @@ namespace BlueWater.Items
droppedPositions.Add(newDropPosition);
var itemPrefab = _itemDatas[element.Idx].ItemPrefab;
var itemPrefab = ItemDataSo.GetDataByIdx(element.Idx).ItemPrefab;
if (!itemPrefab)
{
itemPrefab = _defaultItemPrefab;
@ -106,35 +79,5 @@ namespace BlueWater.Items
{
return positions.Any(pos => Vector3.Distance(position, pos) > _minSeparationDistance);
}
public T GetDataByIdx<T>(Dictionary<string, T> dataDictionary, string idx) where T : class
{
if (dataDictionary.TryGetValue(idx, out var data))
return data;
Debug.LogError($"{idx}와 일치하는 아이템이 없습니다.");
return null;
}
public ItemData GetItemDataByIdx(string idx) => GetDataByIdx(_itemDatas, idx);
public ItemDropTable GetItemDropTableByIdx(string idx)
{
if (string.IsNullOrEmpty(idx))
{
Debug.Log("ItemDropTable이 비어있습니다.");
return null;
}
if (_itemDropTables.TryGetValue(idx, out var itemDropTable)) return itemDropTable;
Debug.LogError($"{idx}와 일치하는 아이템이 없습니다.");
return null;
}
public FoodData GetFoodDataByIdx(string idx) => GetDataByIdx(_foodDatas, idx);
public CocktailData GetCocktailDataByIdx(string idx) => GetDataByIdx(_cocktailDatas, idx);
public Dictionary<string, CocktailData> GetCocktailDatas() => _cocktailDatas;
public LiquidData GetLiquidDataByIdx(string idx) => GetDataByIdx(_liquidDatas, idx);
}
}

View File

@ -310,7 +310,7 @@ namespace BlueWater
}
// ItemManager를 통해 모든 CocktailData 가져오기
var cocktailDatas = ItemManager.Instance.GetCocktailDatas();
var cocktailDatas = ItemManager.Instance.CocktailDataSo.GetData();
CocktailData matchingCocktail = null;
// 모든 칵테일 데이터를 순회하면서 조건에 맞는 칵테일 찾기
@ -362,7 +362,7 @@ namespace BlueWater
// 조건에 만족하는 칵테일이 없음
if (matchingCocktail == null)
{
matchingCocktail = ItemManager.Instance.GetCocktailDataByIdx("Cocktail000");
matchingCocktail = ItemManager.Instance.CocktailDataSo.GetDataByIdx("Cocktail000");
_completeText.text = "실패";
}
else

View File

@ -1,3 +1,4 @@
using System;
using BlueWater.Items;
using UnityEngine;
@ -21,7 +22,11 @@ namespace BlueWater.Tycoons
base.Awake();
_liquidController = FindAnyObjectByType<LiquidController>();
_liquidData = ItemManager.Instance.GetLiquidDataByIdx(_idx);
}
private void Start()
{
_liquidData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(_idx);
_currentAmount = _liquidData.GetMaxAmount();
}

View File

@ -12,96 +12,132 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: c2b2766be55cd5143abce97e8c22303b, type: 3}
m_Name: CardDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: AddAllLiquid
<Img>k__BackingField: LiquidAllHealImg
<ScriptText>k__BackingField: "\uC804\uCCB4 \uC7AC\uB8CC 1000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 10
- <Idx>k__BackingField: AddGarnish1
<Img>k__BackingField: Garnish1Img
<ScriptText>k__BackingField: "1\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: AddGarnish2
<Img>k__BackingField: Garnish2Img
<ScriptText>k__BackingField: "2\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: AddLiquidB
<Img>k__BackingField: LiquidBImg
<ScriptText>k__BackingField: "B \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: AddLiquidC
<Img>k__BackingField: LiquidCImg
<ScriptText>k__BackingField: "C \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: AddLiquidD
<Img>k__BackingField: LiquidDImg
<ScriptText>k__BackingField: "D \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: AddLiquidE
<Img>k__BackingField: LiquidEImg
<ScriptText>k__BackingField: "E \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: ChefNpc
<Img>k__BackingField: ChefNpcImg
<ScriptText>k__BackingField: "\uBC14\uD150\uD130 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: CleanerNpc
<Img>k__BackingField: CleanerNpcImg
<ScriptText>k__BackingField: "\uCCAD\uC18C \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: CleanUp
<Img>k__BackingField: CleanUpImgImg
<ScriptText>k__BackingField: "\uB808\uC2A4\uD1A0\uB791 \uD55C\uBC88\uC5D0 \uCCAD\uC18C"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: ExpGetUp
<Img>k__BackingField: ExpGetUpImg
<ScriptText>k__BackingField: "\uACBD\uD5D8\uCE58 \uD68D\uB4DD 5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: GoldGetUp
<Img>k__BackingField: GoldGetUpImg
<ScriptText>k__BackingField: "\uACE8\uB4DC \uD68D\uB4DD 5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: GuageReset
<Img>k__BackingField: GuageResetImg
<ScriptText>k__BackingField: "\uBAA8\uB4E0 \uC190\uB2D8\uB4E4\uC758 \uAE30\uB2E4\uB9BC
\uCD08\uAE30\uD654"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: HeartAllHeal
<Img>k__BackingField: HeartAllHealImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uC804\uCCB4 \uD68C\uBCF5"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: HeartHeal
<Img>k__BackingField: HeartHealImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD558\uB098 \uD68C\uBCF5"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 10
- <Idx>k__BackingField: HeartPlus
<Img>k__BackingField: HeartPlusImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD558\uB098 \uCD94\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: ServerNpc
<Img>k__BackingField: ServerNpcImg
<ScriptText>k__BackingField: "\uC11C\uBE59 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Idx>k__BackingField: SpeedUp
<Img>k__BackingField: SpeedUpImg
<ScriptText>k__BackingField: "\uD50C\uB808\uC774\uC5B4 \uC774\uB3D9 \uC18D\uB3C4
5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
_serializedDataList:
- <Key>k__BackingField: HeartPlus
<Value>k__BackingField:
<Idx>k__BackingField: HeartPlus
<Img>k__BackingField: HeartPlusImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD558\uB098 \uCD94\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Key>k__BackingField: HeartHeal
<Value>k__BackingField:
<Idx>k__BackingField: HeartHeal
<Img>k__BackingField: HeartHealImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uD558\uB098 \uD68C\uBCF5"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 10
- <Key>k__BackingField: HeartAllHeal
<Value>k__BackingField:
<Idx>k__BackingField: HeartAllHeal
<Img>k__BackingField: HeartAllHealImg
<ScriptText>k__BackingField: "\uD558\uD2B8 \uC804\uCCB4 \uD68C\uBCF5"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddLiquidB
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidB
<Img>k__BackingField: LiquidBImg
<ScriptText>k__BackingField: "B \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddLiquidC
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidC
<Img>k__BackingField: LiquidCImg
<ScriptText>k__BackingField: "C \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddLiquidD
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidD
<Img>k__BackingField: LiquidDImg
<ScriptText>k__BackingField: "D \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddLiquidE
<Value>k__BackingField:
<Idx>k__BackingField: AddLiquidE
<Img>k__BackingField: LiquidEImg
<ScriptText>k__BackingField: "E \uC220\uC744 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddGarnish1
<Value>k__BackingField:
<Idx>k__BackingField: AddGarnish1
<Img>k__BackingField: Garnish1Img
<ScriptText>k__BackingField: "1\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddGarnish2
<Value>k__BackingField:
<Idx>k__BackingField: AddGarnish2
<Img>k__BackingField: Garnish2Img
<ScriptText>k__BackingField: "2\uBC88 \uAC00\uB2C8\uC26C\uB97C 4000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: AddAllLiquid
<Value>k__BackingField:
<Idx>k__BackingField: AddAllLiquid
<Img>k__BackingField: LiquidAllHealImg
<ScriptText>k__BackingField: "\uC804\uCCB4 \uC7AC\uB8CC 1000ml \uCD94\uAC00"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 10
- <Key>k__BackingField: ServerNpc
<Value>k__BackingField:
<Idx>k__BackingField: ServerNpc
<Img>k__BackingField: ServerNpcImg
<ScriptText>k__BackingField: "\uC11C\uBE59 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Key>k__BackingField: CleanerNpc
<Value>k__BackingField:
<Idx>k__BackingField: CleanerNpc
<Img>k__BackingField: CleanerNpcImg
<ScriptText>k__BackingField: "\uCCAD\uC18C \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Key>k__BackingField: ChefNpc
<Value>k__BackingField:
<Idx>k__BackingField: ChefNpc
<Img>k__BackingField: ChefNpcImg
<ScriptText>k__BackingField: "\uBC14\uD150\uD130 \uC885\uC5C5\uC6D0 \uCD94\uAC00"
<Max>k__BackingField: 5
<Ratio>k__BackingField: 5
- <Key>k__BackingField: SpeedUp
<Value>k__BackingField:
<Idx>k__BackingField: SpeedUp
<Img>k__BackingField: SpeedUpImg
<ScriptText>k__BackingField: "\uD50C\uB808\uC774\uC5B4 \uC774\uB3D9 \uC18D\uB3C4
5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Key>k__BackingField: ExpGetUp
<Value>k__BackingField:
<Idx>k__BackingField: ExpGetUp
<Img>k__BackingField: ExpGetUpImg
<ScriptText>k__BackingField: "\uACBD\uD5D8\uCE58 \uD68D\uB4DD 5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Key>k__BackingField: GoldGetUp
<Value>k__BackingField:
<Idx>k__BackingField: GoldGetUp
<Img>k__BackingField: GoldGetUpImg
<ScriptText>k__BackingField: "\uACE8\uB4DC \uD68D\uB4DD 5% \uC99D\uAC00"
<Max>k__BackingField: 10
<Ratio>k__BackingField: 5
- <Key>k__BackingField: CleanUp
<Value>k__BackingField:
<Idx>k__BackingField: CleanUp
<Img>k__BackingField: CleanUpImgImg
<ScriptText>k__BackingField: "\uB808\uC2A4\uD1A0\uB791 \uD55C\uBC88\uC5D0 \uCCAD\uC18C"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5
- <Key>k__BackingField: GuageReset
<Value>k__BackingField:
<Idx>k__BackingField: GuageReset
<Img>k__BackingField: GuageResetImg
<ScriptText>k__BackingField: "\uBAA8\uB4E0 \uC190\uB2D8\uB4E4\uC758 \uAE30\uB2E4\uB9BC
\uCD08\uAE30\uD654"
<Max>k__BackingField: 0
<Ratio>k__BackingField: 5

View File

@ -12,228 +12,260 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 03802f3276c69a348aaa2515377b47cc, type: 3}
m_Name: CocktailDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: Cocktail000
<Name>k__BackingField: "\uC4F0\uB808\uAE30"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField:
<IngredientAmount1>k__BackingField: 0
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail001
<Name>k__BackingField: "\uCE75\uD14C\uC77CA"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 06a07650d842ee94390ca2505955e94d, type: 3}
- <Idx>k__BackingField: Cocktail002
<Name>k__BackingField: "\uCE75\uD14C\uC77CB"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 19df9fcd0ddf5754890f7ea9c127b905, type: 3}
- <Idx>k__BackingField: Cocktail003
<Name>k__BackingField: "\uCE75\uD14C\uC77CC"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: a51b37c5e512c7e488e80f986f5f8aac, type: 3}
- <Idx>k__BackingField: Cocktail004
<Name>k__BackingField: "\uCE75\uD14C\uC77CD"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: d74e702a3e490a54e8a159128222f175, type: 3}
- <Idx>k__BackingField: Cocktail005
<Name>k__BackingField: "\uCE75\uD14C\uC77CE"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: bff0ff1345b7ae446b330a01e6ef7bd3, type: 3}
- <Idx>k__BackingField: Cocktail006
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidC
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 006a36cba2a146247a1d25b9e246faaa, type: 3}
- <Idx>k__BackingField: Cocktail007
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 31d7e535d499d5f43ab64731acc3eec3, type: 3}
- <Idx>k__BackingField: Cocktail008
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 997d0aea13894a9428bf9d9f7fb66762, type: 3}
- <Idx>k__BackingField: Cocktail009
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidB
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 3d04bfa220b9ebe40a4ae3f0a68c0911, type: 3}
- <Idx>k__BackingField: Cocktail010
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 09168d6395b3e9b41b195a2aa8ae0a82, type: 3}
- <Idx>k__BackingField: Cocktail011
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail012
<Name>k__BackingField: "\uCE75\uD14C\uC77CD1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail013
<Name>k__BackingField: "\uCE75\uD14C\uC77CA2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail014
<Name>k__BackingField: "\uCE75\uD14C\uC77CC2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Idx>k__BackingField: Cocktail015
<Name>k__BackingField: "\uCE75\uD14C\uC77CE2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
_serializedDataList:
- <Key>k__BackingField: Cocktail000
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail000
<Name>k__BackingField: "\uC4F0\uB808\uAE30"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField:
<IngredientAmount1>k__BackingField: 0
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: Cocktail001
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail001
<Name>k__BackingField: "\uCE75\uD14C\uC77CA"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 06a07650d842ee94390ca2505955e94d, type: 3}
- <Key>k__BackingField: Cocktail002
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail002
<Name>k__BackingField: "\uCE75\uD14C\uC77CB"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 19df9fcd0ddf5754890f7ea9c127b905, type: 3}
- <Key>k__BackingField: Cocktail003
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail003
<Name>k__BackingField: "\uCE75\uD14C\uC77CC"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: a51b37c5e512c7e488e80f986f5f8aac, type: 3}
- <Key>k__BackingField: Cocktail004
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail004
<Name>k__BackingField: "\uCE75\uD14C\uC77CD"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: d74e702a3e490a54e8a159128222f175, type: 3}
- <Key>k__BackingField: Cocktail005
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail005
<Name>k__BackingField: "\uCE75\uD14C\uC77CE"
<RatioRange>k__BackingField: 0
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 400
<IngredientIdx2>k__BackingField:
<IngredientAmount2>k__BackingField: 0
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: bff0ff1345b7ae446b330a01e6ef7bd3, type: 3}
- <Key>k__BackingField: Cocktail006
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail006
<Name>k__BackingField: "\uCE75\uD14C\uC77CAC"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidC
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 006a36cba2a146247a1d25b9e246faaa, type: 3}
- <Key>k__BackingField: Cocktail007
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail007
<Name>k__BackingField: "\uCE75\uD14C\uC77CBD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 31d7e535d499d5f43ab64731acc3eec3, type: 3}
- <Key>k__BackingField: Cocktail008
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail008
<Name>k__BackingField: "\uCE75\uD14C\uC77CCD"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 200
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 200
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 997d0aea13894a9428bf9d9f7fb66762, type: 3}
- <Key>k__BackingField: Cocktail009
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail009
<Name>k__BackingField: "\uCE75\uD14C\uC77CABE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidB
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 3d04bfa220b9ebe40a4ae3f0a68c0911, type: 3}
- <Key>k__BackingField: Cocktail010
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail010
<Name>k__BackingField: "\uCE75\uD14C\uC77CCDE"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 100
<IngredientIdx2>k__BackingField: LiquidD
<IngredientAmount2>k__BackingField: 100
<IngredientIdx3>k__BackingField: LiquidE
<IngredientAmount3>k__BackingField: 200
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 21300000, guid: 09168d6395b3e9b41b195a2aa8ae0a82, type: 3}
- <Key>k__BackingField: Cocktail011
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail011
<Name>k__BackingField: "\uCE75\uD14C\uC77CB1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidB
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: Cocktail012
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail012
<Name>k__BackingField: "\uCE75\uD14C\uC77CD1"
<RatioRange>k__BackingField: 10
<IngredientIdx1>k__BackingField: LiquidD
<IngredientAmount1>k__BackingField: 320
<IngredientIdx2>k__BackingField: Garnish1
<IngredientAmount2>k__BackingField: 80
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: Cocktail013
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail013
<Name>k__BackingField: "\uCE75\uD14C\uC77CA2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidA
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: Cocktail014
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail014
<Name>k__BackingField: "\uCE75\uD14C\uC77CC2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidC
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}
- <Key>k__BackingField: Cocktail015
<Value>k__BackingField:
<Idx>k__BackingField: Cocktail015
<Name>k__BackingField: "\uCE75\uD14C\uC77CE2"
<RatioRange>k__BackingField: 5
<IngredientIdx1>k__BackingField: LiquidE
<IngredientAmount1>k__BackingField: 360
<IngredientIdx2>k__BackingField: Garnish2
<IngredientAmount2>k__BackingField: 40
<IngredientIdx3>k__BackingField:
<IngredientAmount3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientAmount4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientAmount5>k__BackingField: 0
<Sprite>k__BackingField: {fileID: 0}

View File

@ -12,100 +12,112 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: e22dd2055785c2f4dadcf76fb593edf4, type: 3}
m_Name: FoodDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: 30001
<Name>k__BackingField: "\uC2AC\uB77C\uC784 \uD478\uB529"
<Type>k__BackingField: 4
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10108
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10706
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField:
<IngredientQuantity3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Idx>k__BackingField: 30002
<Name>k__BackingField: "\uC5BC\uC74C\uB3C4\uCE58 \uD325\uBE59\uC218"
<Type>k__BackingField: 4
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10109
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10706
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField:
<IngredientQuantity3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Idx>k__BackingField: 30003
<Name>k__BackingField: "\uCF54\uBFD4\uC18C \uBFD4 \uD280\uAE40"
<Type>k__BackingField: 2
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10106
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10506
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10704
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Idx>k__BackingField: 30004
<Name>k__BackingField: "\uCF54\uBFD4\uC18C \uB4B7\uB2E4\uB9AC \uACE0\uAE30"
<Type>k__BackingField: 3
<Taste>k__BackingField: 1
<CookGauge>k__BackingField: 40
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10107
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10507
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10701
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Idx>k__BackingField: 30005
<Name>k__BackingField: "\uBC31\uC0C1\uC5B4 \uD1B5\uAD6C\uC774"
<Type>k__BackingField: 1
<Taste>k__BackingField: 1
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10201
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10404
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10508
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField: 10704
<IngredientQuantity4>k__BackingField: 1
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Idx>k__BackingField: 30006
<Name>k__BackingField: "\uBC84\uD130 \uC870\uAC1C \uAD6C\uC774"
<Type>k__BackingField: 3
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 25
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10603
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10503
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10705
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
_serializedDataList:
- <Key>k__BackingField: 30001
<Value>k__BackingField:
<Idx>k__BackingField: 30001
<Name>k__BackingField: "\uC2AC\uB77C\uC784 \uD478\uB529"
<Type>k__BackingField: 4
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10108
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10706
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField:
<IngredientQuantity3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Key>k__BackingField: 30002
<Value>k__BackingField:
<Idx>k__BackingField: 30002
<Name>k__BackingField: "\uC5BC\uC74C\uB3C4\uCE58 \uD325\uBE59\uC218"
<Type>k__BackingField: 4
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10109
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10706
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField:
<IngredientQuantity3>k__BackingField: 0
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Key>k__BackingField: 30003
<Value>k__BackingField:
<Idx>k__BackingField: 30003
<Name>k__BackingField: "\uCF54\uBFD4\uC18C \uBFD4 \uD280\uAE40"
<Type>k__BackingField: 2
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10106
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10506
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10704
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Key>k__BackingField: 30004
<Value>k__BackingField:
<Idx>k__BackingField: 30004
<Name>k__BackingField: "\uCF54\uBFD4\uC18C \uB4B7\uB2E4\uB9AC \uACE0\uAE30"
<Type>k__BackingField: 3
<Taste>k__BackingField: 1
<CookGauge>k__BackingField: 40
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10107
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10507
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10701
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Key>k__BackingField: 30005
<Value>k__BackingField:
<Idx>k__BackingField: 30005
<Name>k__BackingField: "\uBC31\uC0C1\uC5B4 \uD1B5\uAD6C\uC774"
<Type>k__BackingField: 1
<Taste>k__BackingField: 1
<CookGauge>k__BackingField: 20
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10201
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10404
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10508
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField: 10704
<IngredientQuantity4>k__BackingField: 1
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0
- <Key>k__BackingField: 30006
<Value>k__BackingField:
<Idx>k__BackingField: 30006
<Name>k__BackingField: "\uBC84\uD130 \uC870\uAC1C \uAD6C\uC774"
<Type>k__BackingField: 3
<Taste>k__BackingField: 4
<CookGauge>k__BackingField: 25
<Plate>k__BackingField: 10
<IngredientIdx1>k__BackingField: 10603
<IngredientQuantity1>k__BackingField: 1
<IngredientIdx2>k__BackingField: 10503
<IngredientQuantity2>k__BackingField: 1
<IngredientIdx3>k__BackingField: 10705
<IngredientQuantity3>k__BackingField: 1
<IngredientIdx4>k__BackingField:
<IngredientQuantity4>k__BackingField: 0
<IngredientIdx5>k__BackingField:
<IngredientQuantity5>k__BackingField: 0

File diff suppressed because it is too large Load Diff

View File

@ -12,80 +12,90 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9b4027f974cd5234690df1b35ca492ac, type: 3}
m_Name: ItemDropTable
m_EditorClassIdentifier:
ItemDropTables:
- <CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 1
<Name>k__BackingField: "\uD0C0\uC774\uD0C4 \uC2AC\uB77C\uC784"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 60001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 2
<Name>k__BackingField: "\uCF54\uBFD4\uC18C"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 3
<Name>k__BackingField: "\uBAA8\uB798 \uB450\uB354\uC9C0"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 4
<Name>k__BackingField: "\uC220\uD1B5 \uC720\uB839"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 101
<Name>k__BackingField: "\uD480"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 60002
<DropRate>k__BackingField: 40
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 5
_serializedDataList:
- <Key>k__BackingField: 1
<Value>k__BackingField:
<CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 1
<Name>k__BackingField: "\uD0C0\uC774\uD0C4 \uC2AC\uB77C\uC784"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 60001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <Key>k__BackingField: 2
<Value>k__BackingField:
<CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 2
<Name>k__BackingField: "\uCF54\uBFD4\uC18C"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <Key>k__BackingField: 3
<Value>k__BackingField:
<CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 3
<Name>k__BackingField: "\uBAA8\uB798 \uB450\uB354\uC9C0"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <Key>k__BackingField: 4
<Value>k__BackingField:
<CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 4
<Name>k__BackingField: "\uC220\uD1B5 \uC720\uB839"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50002
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <ItemIdx>k__BackingField: 50001
<DropRate>k__BackingField: 100
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 1
- <Key>k__BackingField: 101
<Value>k__BackingField:
<CharacterData>k__BackingField:
<CharacterIdx>k__BackingField: 101
<Name>k__BackingField: "\uD480"
<DropItems>k__BackingField:
- <ItemIdx>k__BackingField: 60002
<DropRate>k__BackingField: 40
<QuantityMin>k__BackingField: 1
<QuantityMax>k__BackingField: 5

View File

@ -12,39 +12,53 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1f91e197a0d142b40ae1ec8bd1300fb3, type: 3}
m_Name: LiquidDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: Garnish1
<Name>k__BackingField: "\uAC00\uB098\uC26C1"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: Garnish2
<Name>k__BackingField: "\uAC00\uB098\uC26C2"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: LiquidA
<Name>k__BackingField: "\uC220 \uC6D0\uC561A"
<Amount>k__BackingField: 99999
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 0, b: 0, a: 1}
- <Idx>k__BackingField: LiquidB
<Name>k__BackingField: "\uC220 \uC6D0\uC561B"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 0.5019608, b: 0, a: 1}
- <Idx>k__BackingField: LiquidC
<Name>k__BackingField: "\uC220 \uC6D0\uC561C"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 1, b: 0, a: 1}
- <Idx>k__BackingField: LiquidD
<Name>k__BackingField: "\uC220 \uC6D0\uC561D"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 1, b: 0, a: 1}
- <Idx>k__BackingField: LiquidE
<Name>k__BackingField: "\uC220 \uC6D0\uC561E"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 1, a: 1}
_serializedDataList:
- <Key>k__BackingField: LiquidA
<Value>k__BackingField:
<Idx>k__BackingField: LiquidA
<Name>k__BackingField: "\uC220 \uC6D0\uC561A"
<Amount>k__BackingField: 99999
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 0, b: 0, a: 1}
- <Key>k__BackingField: LiquidB
<Value>k__BackingField:
<Idx>k__BackingField: LiquidB
<Name>k__BackingField: "\uC220 \uC6D0\uC561B"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 0.5019608, b: 0, a: 1}
- <Key>k__BackingField: LiquidC
<Value>k__BackingField:
<Idx>k__BackingField: LiquidC
<Name>k__BackingField: "\uC220 \uC6D0\uC561C"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 1, g: 1, b: 0, a: 1}
- <Key>k__BackingField: LiquidD
<Value>k__BackingField:
<Idx>k__BackingField: LiquidD
<Name>k__BackingField: "\uC220 \uC6D0\uC561D"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 1, b: 0, a: 1}
- <Key>k__BackingField: LiquidE
<Value>k__BackingField:
<Idx>k__BackingField: LiquidE
<Name>k__BackingField: "\uC220 \uC6D0\uC561E"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 1, a: 1}
- <Key>k__BackingField: Garnish1
<Value>k__BackingField:
<Idx>k__BackingField: Garnish1
<Name>k__BackingField: "\uAC00\uB098\uC26C1"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}
- <Key>k__BackingField: Garnish2
<Value>k__BackingField:
<Idx>k__BackingField: Garnish2
<Name>k__BackingField: "\uAC00\uB098\uC26C2"
<Amount>k__BackingField: 2000
<Sprite>k__BackingField: {fileID: 0}
<Color>k__BackingField: {r: 0, g: 0, b: 0, a: 0}

View File

@ -12,364 +12,444 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 4291963c8b013de498435ab3a9250323, type: 3}
m_Name: LevelDataTable
m_EditorClassIdentifier:
<Datas>k__BackingField:
- <Idx>k__BackingField: 1
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 10
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1100
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade2
- <Idx>k__BackingField: 11
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1200
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 12
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1300
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 13
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 13
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 14
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1500
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 11
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 15
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1600
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade3
- <Idx>k__BackingField: 16
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1700
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 17
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1800
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 18
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1900
<WaitTime>k__BackingField: 13
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 19
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2000
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 2
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 19
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 20
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2100
<WaitTime>k__BackingField: 11
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade4
- <Idx>k__BackingField: 21
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2200
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 22
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2300
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 9
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 23
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2400
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 8
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 24
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2500
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 7
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 25
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 6
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade5
- <Idx>k__BackingField: 26
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 27
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 28
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 29
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3000
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 3
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 30
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3100
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade6
- <Idx>k__BackingField: 31
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3200
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 32
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3300
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 33
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3400
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 34
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3500
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 35
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 36
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 37
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 38
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 39
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 4000
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 4
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 17
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 40
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 4100
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 5
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade1
- <Idx>k__BackingField: 6
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 7
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 19
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 8
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Idx>k__BackingField: 9
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1000
<WaitTime>k__BackingField: 17
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
_serializedDataList:
- <Key>k__BackingField: 1
<Value>k__BackingField:
<Idx>k__BackingField: 1
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 200
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 20
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 2
<Value>k__BackingField:
<Idx>k__BackingField: 2
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 300
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 19
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 3
<Value>k__BackingField:
<Idx>k__BackingField: 3
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 400
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 18
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 4
<Value>k__BackingField:
<Idx>k__BackingField: 4
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 500
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 17
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 5
<Value>k__BackingField:
<Idx>k__BackingField: 5
<CustomerRespawn>k__BackingField: 15
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 600
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 16
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade1
- <Key>k__BackingField: 6
<Value>k__BackingField:
<Idx>k__BackingField: 6
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 700
<WaitTime>k__BackingField: 20
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 7
<Value>k__BackingField:
<Idx>k__BackingField: 7
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 800
<WaitTime>k__BackingField: 19
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 8
<Value>k__BackingField:
<Idx>k__BackingField: 8
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 900
<WaitTime>k__BackingField: 18
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 9
<Value>k__BackingField:
<Idx>k__BackingField: 9
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1000
<WaitTime>k__BackingField: 17
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 10
<Value>k__BackingField:
<Idx>k__BackingField: 10
<CustomerRespawn>k__BackingField: 13
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1100
<WaitTime>k__BackingField: 16
<HurryTime>k__BackingField: 15
<EatingTime>k__BackingField: 10
<OpenUpgrade>k__BackingField: Upgrade2
- <Key>k__BackingField: 11
<Value>k__BackingField:
<Idx>k__BackingField: 11
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1200
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 14
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 12
<Value>k__BackingField:
<Idx>k__BackingField: 12
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1300
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 13
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 13
<Value>k__BackingField:
<Idx>k__BackingField: 13
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1400
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 12
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 14
<Value>k__BackingField:
<Idx>k__BackingField: 14
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1500
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 11
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 15
<Value>k__BackingField:
<Idx>k__BackingField: 15
<CustomerRespawn>k__BackingField: 11
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1600
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade3
- <Key>k__BackingField: 16
<Value>k__BackingField:
<Idx>k__BackingField: 16
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1700
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 17
<Value>k__BackingField:
<Idx>k__BackingField: 17
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1800
<WaitTime>k__BackingField: 14
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 18
<Value>k__BackingField:
<Idx>k__BackingField: 18
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 1900
<WaitTime>k__BackingField: 13
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 19
<Value>k__BackingField:
<Idx>k__BackingField: 19
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2000
<WaitTime>k__BackingField: 12
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 20
<Value>k__BackingField:
<Idx>k__BackingField: 20
<CustomerRespawn>k__BackingField: 9
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2100
<WaitTime>k__BackingField: 11
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 8
<OpenUpgrade>k__BackingField: Upgrade4
- <Key>k__BackingField: 21
<Value>k__BackingField:
<Idx>k__BackingField: 21
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2200
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 22
<Value>k__BackingField:
<Idx>k__BackingField: 22
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2300
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 9
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 23
<Value>k__BackingField:
<Idx>k__BackingField: 23
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2400
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 8
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 24
<Value>k__BackingField:
<Idx>k__BackingField: 24
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2500
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 7
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 25
<Value>k__BackingField:
<Idx>k__BackingField: 25
<CustomerRespawn>k__BackingField: 7
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 6
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade5
- <Key>k__BackingField: 26
<Value>k__BackingField:
<Idx>k__BackingField: 26
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 27
<Value>k__BackingField:
<Idx>k__BackingField: 27
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 28
<Value>k__BackingField:
<Idx>k__BackingField: 28
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 2900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 29
<Value>k__BackingField:
<Idx>k__BackingField: 29
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3000
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 30
<Value>k__BackingField:
<Idx>k__BackingField: 30
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3100
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField: Upgrade6
- <Key>k__BackingField: 31
<Value>k__BackingField:
<Idx>k__BackingField: 31
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3200
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 32
<Value>k__BackingField:
<Idx>k__BackingField: 32
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3300
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 33
<Value>k__BackingField:
<Idx>k__BackingField: 33
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3400
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 34
<Value>k__BackingField:
<Idx>k__BackingField: 34
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3500
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 35
<Value>k__BackingField:
<Idx>k__BackingField: 35
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3600
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 36
<Value>k__BackingField:
<Idx>k__BackingField: 36
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3700
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 37
<Value>k__BackingField:
<Idx>k__BackingField: 37
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3800
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 38
<Value>k__BackingField:
<Idx>k__BackingField: 38
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 3900
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 39
<Value>k__BackingField:
<Idx>k__BackingField: 39
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 4000
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:
- <Key>k__BackingField: 40
<Value>k__BackingField:
<Idx>k__BackingField: 40
<CustomerRespawn>k__BackingField: 5
<Gold>k__BackingField: 100
<Exp>k__BackingField: 100
<RequiredExp>k__BackingField: 4100
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 5
<EatingTime>k__BackingField: 6
<OpenUpgrade>k__BackingField:

View File

@ -12,88 +12,102 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 7da6888bb8af7de45985429156f60ee0, type: 3}
m_Name: CustomerDataTable
m_EditorClassIdentifier:
<CustomerDatas>k__BackingField:
- <Idx>k__BackingField: 10001
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uD3C9\uBC94\uD558\uACE0
\uAE09\uD55C Ai1"
<MoveSpeed>k__BackingField: 3
<EatingTime>k__BackingField: 5
<WaitTime>k__BackingField: 5
<HurryTime>k__BackingField: 5
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10002
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uD3C9\uBC94\uD558\uACE0
\uAE09\uD55C Ai2"
<MoveSpeed>k__BackingField: 3
<EatingTime>k__BackingField: 5
<WaitTime>k__BackingField: 5
<HurryTime>k__BackingField: 5
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10003
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uB290\uB9AC\uACE0 \uB290\uAE0B\uD55C
Ai1"
<MoveSpeed>k__BackingField: 1
<EatingTime>k__BackingField: 15
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10004
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uD3C9\uBC94\uD55C
Ai1"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10005
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uD3C9\uBC94\uD55C
Ai2"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10006
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uB290\uAE0B\uD55C
Ai1"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Idx>k__BackingField: 10007
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uB290\uAE0B\uD55C
Ai2"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
_serializedDataList:
- <Key>k__BackingField: 10001
<Value>k__BackingField:
<Idx>k__BackingField: 10001
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uD3C9\uBC94\uD558\uACE0
\uAE09\uD55C Ai1"
<MoveSpeed>k__BackingField: 3
<EatingTime>k__BackingField: 5
<WaitTime>k__BackingField: 5
<HurryTime>k__BackingField: 5
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10002
<Value>k__BackingField:
<Idx>k__BackingField: 10002
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uD3C9\uBC94\uD558\uACE0
\uAE09\uD55C Ai2"
<MoveSpeed>k__BackingField: 3
<EatingTime>k__BackingField: 5
<WaitTime>k__BackingField: 5
<HurryTime>k__BackingField: 5
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10003
<Value>k__BackingField:
<Idx>k__BackingField: 10003
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uB290\uB9AC\uACE0 \uB290\uAE0B\uD55C
Ai1"
<MoveSpeed>k__BackingField: 1
<EatingTime>k__BackingField: 15
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10004
<Value>k__BackingField:
<Idx>k__BackingField: 10004
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uD3C9\uBC94\uD55C
Ai1"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10005
<Value>k__BackingField:
<Idx>k__BackingField: 10005
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uD3C9\uBC94\uD55C
Ai2"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 10
<HurryTime>k__BackingField: 10
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10006
<Value>k__BackingField:
<Idx>k__BackingField: 10006
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uB290\uAE0B\uD55C
Ai1"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 1
<PreferredFood2>k__BackingField: 2
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50
- <Key>k__BackingField: 10007
<Value>k__BackingField:
<Idx>k__BackingField: 10007
<Name>k__BackingField: "\uC774\uB3D9\uC18D\uB3C4\uAC00 \uBE60\uB974\uACE0 \uB290\uAE0B\uD55C
Ai2"
<MoveSpeed>k__BackingField: 4
<EatingTime>k__BackingField: 10
<WaitTime>k__BackingField: 15
<HurryTime>k__BackingField: 15
<BaseHappyPoint>k__BackingField: 3
<PreferredFood1>k__BackingField: 2
<PreferredFood2>k__BackingField: 1
<PreferredFood3>k__BackingField: 0
<OrderBeverageRate>k__BackingField: 50

View File

@ -0,0 +1,15 @@
using System;
using UnityEngine;
namespace BlueWater
{
[Serializable]
public class SerializableKeyValuePair<T>
{
[field: SerializeField]
public string Key { get; set; }
[field: SerializeField]
public T Value { get; set; }
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: f1adfc341b1acb244853b09f1935b1a9

View File

@ -13,9 +13,8 @@ namespace BlueWater.Tycoons
public class CustomerManager : Singleton<CustomerManager>
{
[Title("손님 데이터")]
[SerializeField, Required]
private CustomerDataSo _customerDataSo;
private Dictionary<string, CustomerData> _customerDatas;
[field: SerializeField, Required]
public CustomerDataSo CustomerDataSo { get; private set; }
[SerializeField, Required]
private Customer _customerPrefab;
@ -38,15 +37,6 @@ namespace BlueWater.Tycoons
public Action<Customer> OnInstantiateCustomer;
protected override void OnAwake()
{
_customerDatas = new Dictionary<string, CustomerData>(_customerDataSo.Datas.Count);
foreach (var element in _customerDataSo.Datas)
{
_customerDatas.TryAdd(element.Idx, element);
}
}
private void Start()
{
_customerTableController = TycoonManager.Instance.CustomerTableController;
@ -118,15 +108,14 @@ namespace BlueWater.Tycoons
public CustomerData GetRandomCustomerData()
{
var customerDataCount = _customerDatas.Count;
var customerDataCount = CustomerDataSo.GetDataCount();
if (customerDataCount == 0)
{
Debug.LogError($"{_customerDatas}의 값이 비어있습니다.");
Debug.LogError($"{CustomerDataSo}의 값이 비어있습니다.");
return null;
}
var randomIndex = Random.Range(0, customerDataCount);
return _customerDatas.ElementAt(randomIndex).Value;
return CustomerDataSo.GetRandomValue();
}
public List<Customer> GetCurrentCustomers() => InstanceCustomers;

View File

@ -23,7 +23,7 @@ namespace BlueWater.Tycoons
{
if (FoodRecipes.Contains(idx)) return;
var foodData = ItemManager.Instance.GetFoodDataByIdx(idx);
var foodData = ItemManager.Instance.FoodDataSo.GetDataByIdx(idx);
if (foodData == null) return;
FoodRecipes.Add(idx);
@ -34,7 +34,7 @@ namespace BlueWater.Tycoons
{
if (DrinkRecipes.Contains(idx)) return;
var drinkData = ItemManager.Instance.GetLiquidDataByIdx(idx);
var drinkData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(idx);
if (drinkData == null) return;
DrinkRecipes.Add(idx);

View File

@ -50,13 +50,11 @@ namespace BlueWater.Tycoons
[SerializeField]
private string _dailyBgm;
[SerializeField, Required]
private LevelDataSo _levelDataSo;
private Dictionary<string, LevelData> _levelDatas;
[field: SerializeField, Required]
public LevelDataSo LevelDataSo { get; private set; }
[SerializeField, Required]
private CardDataSo _cardDataSo;
private Dictionary<string, CardData> _cardDatas;
[field: SerializeField, Required]
public CardDataSo CardDataSo { get; private set; }
public Action OnTycoonOpenedEvent;
public Action OnTycoonClosedEvent;
@ -66,8 +64,6 @@ namespace BlueWater.Tycoons
protected override void OnAwake()
{
InitializeComponents();
_levelDatas = InitializeDictionary(_levelDataSo.Datas, data => data.Idx);
_cardDatas = InitializeDictionary(_cardDataSo.Datas, data => data.Idx);
}
private void Start()
@ -104,9 +100,5 @@ namespace BlueWater.Tycoons
{
return dataDictionary.Count;
}
public LevelData GetLevelDataByIdx(string idx) => GetDataByIdx(_levelDatas, idx);
public CardData GetCardDataByIdx(string idx) => GetDataByIdx(_cardDatas, idx);
}
}

View File

@ -229,12 +229,12 @@ namespace BlueWater.Uis
break;
case CombatInventorySortingType.Name:
_itemSlotUiList.Sort((x, y) =>
string.Compare(ItemManager.Instance.GetItemDataByIdx(x.ItemSlot.Idx).Name,
ItemManager.Instance.GetItemDataByIdx(y.ItemSlot.Idx).Name, StringComparison.Ordinal));
string.Compare(ItemManager.Instance.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Name,
ItemManager.Instance.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Name, StringComparison.Ordinal));
break;
case CombatInventorySortingType.Category:
_itemSlotUiList.Sort((x, y) =>
ItemManager.Instance.GetItemDataByIdx(x.ItemSlot.Idx).Type.CompareTo(ItemManager.Instance.GetItemDataByIdx(y.ItemSlot.Idx).Type));
ItemManager.Instance.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Type.CompareTo(ItemManager.Instance.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Type));
break;
case CombatInventorySortingType.Count:
_itemSlotUiList.Sort((x, y) => y.ItemSlot.Quantity.CompareTo(x.ItemSlot.Quantity));

View File

@ -50,7 +50,7 @@ namespace BlueWater.Uis
_removeType = RemoveType.Single;
_selectedList.Clear();
_selectedList.Add(selectedSlot);
_contentText.text = ItemManager.Instance.GetItemDataByIdx(selectedSlot.ItemSlot.Idx).Name + "을(를) 버리시겠습니까?";
_contentText.text = ItemManager.Instance.ItemDataSo.GetDataByIdx(selectedSlot.ItemSlot.Idx).Name + "을(를) 버리시겠습니까?";
_currentCount = 1;
_countText.text = _currentCount.ToString();

View File

@ -47,7 +47,7 @@ namespace BlueWater.Uis
public void UpdateData(ItemSlot itemSlot)
{
var item = ItemManager.Instance.GetItemDataByIdx(itemSlot.Idx);
var item = ItemManager.Instance.ItemDataSo.GetDataByIdx(itemSlot.Idx);
_image.sprite = item.Sprite;
_nameText.text = item.Name;
_weightText.text = item.Weight * ItemSlot.Quantity + "kg";

View File

@ -100,7 +100,7 @@ namespace BlueWater.Uis
public void OrderItem(string itemIdx, int waitTime, int hurryTime)
{
_orderItemData = ItemManager.Instance.GetItemDataByIdx(itemIdx);
_orderItemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(itemIdx);
_isOrdered = true;
_isWaitTimeOver = false;
_isItemReceived = false;

View File

@ -35,7 +35,7 @@ namespace BlueWater.Uis
{
_ingredientIdx = ingredientIdx;
_needQuantity = quantity;
var ingredientItemData = ItemManager.Instance.GetItemDataByIdx(_ingredientIdx);
var ingredientItemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(_ingredientIdx);
_image.sprite = ingredientItemData.Sprite;
_inventoryQuantity = DataManager.Instance.Inventory.GetItemByIdx(_ingredientIdx).Quantity;
SetQuantity();

View File

@ -115,7 +115,7 @@ namespace BlueWater.Uis
foreach (var element in _dataManager.TycoonData.FoodRecipes)
{
var newItemSlot = Instantiate(_finishedFoodSlotUi, _finishedFoodSlotLocation).GetComponent<TycoonItemSlotUi>();
var foodData = _itemManager.GetFoodDataByIdx(element);
var foodData = _itemManager.FoodDataSo.GetDataByIdx(element);
newItemSlot.SetFoodData(foodData);
_finishedFoodSlotUis.Add(newItemSlot);
newItemSlot.AddButtonClickListener(() => SelectFinishedFood(foodData));
@ -124,7 +124,7 @@ namespace BlueWater.Uis
private void AddFoodRecipe(string idx)
{
var foodData = _itemManager.GetFoodDataByIdx(idx);
var foodData = _itemManager.FoodDataSo.GetDataByIdx(idx);
var newItemSlot = Instantiate(_finishedFoodSlotUi, _finishedFoodSlotLocation).GetComponent<TycoonItemSlotUi>();
newItemSlot.SetFoodData(foodData);
_finishedFoodSlotUis.Add(newItemSlot);
@ -156,7 +156,7 @@ namespace BlueWater.Uis
else
{
_selectedFoodData = foodData;
_selectedFoodImage.sprite = _itemManager.GetItemDataByIdx(_selectedFoodData.Idx).Sprite;
_selectedFoodImage.sprite = _itemManager.ItemDataSo.GetDataByIdx(_selectedFoodData.Idx).Sprite;
_selectedFoodName.text = _selectedFoodData.Name;
_selectedFoodTasteText.text = _selectedFoodData.TasteToString();
_selectedFoodImage.enabled = true;
@ -252,13 +252,13 @@ namespace BlueWater.Uis
return;
case FoodSortingType.PriceUp:
_finishedFoodSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(x.FoodData.Idx).Price.
CompareTo(_itemManager.GetItemDataByIdx(y.FoodData.Idx).Price));
_itemManager.ItemDataSo.GetDataByIdx(x.FoodData.Idx).Price.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(y.FoodData.Idx).Price));
break;
case FoodSortingType.PriceDown:
_finishedFoodSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(y.FoodData.Idx).Price.
CompareTo(_itemManager.GetItemDataByIdx(x.FoodData.Idx).Price));
_itemManager.ItemDataSo.GetDataByIdx(y.FoodData.Idx).Price.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(x.FoodData.Idx).Price));
break;
case FoodSortingType.CookwareTypeUp:
_finishedFoodSlotUis.Sort((x, y) =>

View File

@ -27,7 +27,7 @@ namespace BlueWater.Uis
}
else
{
SetItemImage(ItemManager.GetItemDataByIdx(ItemSlot.Idx).Sprite);
SetItemImage(ItemManager.ItemDataSo.GetDataByIdx(ItemSlot.Idx).Sprite);
var myIngredientQuantity = DataManager.Instance.Inventory.GetItemByIdx(itemSlot.Idx)?.Quantity ?? 0;
var needQuantity = ItemSlot.Quantity;
QuantityText.text = $"{myIngredientQuantity}/{needQuantity}";

View File

@ -134,7 +134,7 @@ namespace BlueWater.Uis
case InventoryFilterSortingType.Ingredient:
foreach (var element in _tycoonItemSlotUis)
{
if (_itemManager.GetItemDataByIdx(element.ItemSlot.Idx).Type == ItemType.FoodIngredient)
if (_itemManager.ItemDataSo.GetDataByIdx(element.ItemSlot.Idx).Type == ItemType.FoodIngredient)
{
element.ShowUi();
}
@ -166,43 +166,43 @@ namespace BlueWater.Uis
break;
case InventorySortingType.PriceUp:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Price.
CompareTo(_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Price));
_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Price.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Price));
break;
case InventorySortingType.PriceDown:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Price.
CompareTo(_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Price));
_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Price.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Price));
break;
case InventorySortingType.TypeUp:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Type.
CompareTo(_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Type));
_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Type.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Type));
break;
case InventorySortingType.TypeDown:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Type.
CompareTo(_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Type));
_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Type.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Type));
break;
case InventorySortingType.IngredientTypeUp:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).IngredientType.
CompareTo(_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).IngredientType));
_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).IngredientType.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).IngredientType));
break;
case InventorySortingType.IngredientTypeDown:
_tycoonItemSlotUis.Sort((x, y) =>
_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).IngredientType.
CompareTo(_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).IngredientType));
_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).IngredientType.
CompareTo(_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).IngredientType));
break;
case InventorySortingType.NameUp:
_tycoonItemSlotUis.Sort((x, y) =>
string.Compare(_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Name,
_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Name, StringComparison.Ordinal));
string.Compare(_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Name,
_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Name, StringComparison.Ordinal));
break;
case InventorySortingType.NameDown:
_tycoonItemSlotUis.Sort((x, y) =>
string.Compare(_itemManager.GetItemDataByIdx(y.ItemSlot.Idx).Name,
_itemManager.GetItemDataByIdx(x.ItemSlot.Idx).Name, StringComparison.Ordinal));
string.Compare(_itemManager.ItemDataSo.GetDataByIdx(y.ItemSlot.Idx).Name,
_itemManager.ItemDataSo.GetDataByIdx(x.ItemSlot.Idx).Name, StringComparison.Ordinal));
break;
case InventorySortingType.AcquisitionTimeUp:
_tycoonItemSlotUis.Sort((x, y) =>

View File

@ -25,7 +25,7 @@ namespace BlueWater.Uis
public void Initialize(string idx)
{
liquidData = ItemManager.Instance.GetLiquidDataByIdx(idx);
liquidData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(idx);
_image.sprite = liquidData.Sprite;
}

View File

@ -64,7 +64,7 @@ public class TycoonCard : MonoBehaviour, IPointerEnterHandler, IPointerExitHandl
currentRotationCoroutine = StartCoroutine(RotateOverTime());
var a = TycoonManager.Instance.GetCardDataByIdx(_cardData);
var cardData = TycoonManager.Instance.CardDataSo.GetDataByIdx(_cardData);
// Resources.Load()
}
@ -72,7 +72,7 @@ public class TycoonCard : MonoBehaviour, IPointerEnterHandler, IPointerExitHandl
void Start()
{
_cardData_IDX = TycoonManager.Instance.GetCardDataByIdx(_cardData);
_cardData_IDX = TycoonManager.Instance.CardDataSo.GetDataByIdx(_cardData);
Transform nameTransform = transform.Find("Name");
Transform infoTransform = transform.Find("Infomation");

View File

@ -189,7 +189,7 @@ namespace BlueWater.Uis
}
else
{
SetItemImage(ItemManager.GetItemDataByIdx(ItemSlot.Idx).Sprite);
SetItemImage(ItemManager.ItemDataSo.GetDataByIdx(ItemSlot.Idx).Sprite);
QuantityText.text = ItemSlot.Quantity.ToString();
}
}
@ -219,7 +219,7 @@ namespace BlueWater.Uis
}
else
{
SetItemImage(ItemManager.GetItemDataByIdx(FoodData.Idx).Sprite);
SetItemImage(ItemManager.ItemDataSo.GetDataByIdx(FoodData.Idx).Sprite);
if (IsUsingBackgroundColor)
{
UseBackgroundColor();

View File

@ -46,11 +46,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_persistent: 1
_defaultItemPrefab: {fileID: 1370112280380943697, guid: 28a379482be867746aad889c0f1c3c79, type: 3}
_itemDataSo: {fileID: 11400000, guid: d7011c71193e95743aa868ca1bea6010, type: 2}
_itemDropTableSo: {fileID: 11400000, guid: 9e1384a77106eb845ad86d6834ba9a52, type: 2}
_foodDataSo: {fileID: 11400000, guid: 7b282dfe68d23cd48a8f437ae2cd7dde, type: 2}
_cocktailDataSo: {fileID: 11400000, guid: b28d3497d1f428046bc82469f2056bac, type: 2}
liquidDataSo: {fileID: 11400000, guid: d912288eee347ea4b98718ff38ef5d78, type: 2}
<ItemDataSo>k__BackingField: {fileID: 11400000, guid: d7011c71193e95743aa868ca1bea6010, type: 2}
<ItemDropTableSo>k__BackingField: {fileID: 11400000, guid: 9e1384a77106eb845ad86d6834ba9a52, type: 2}
<FoodDataSo>k__BackingField: {fileID: 11400000, guid: 7b282dfe68d23cd48a8f437ae2cd7dde, type: 2}
<CocktailDataSo>k__BackingField: {fileID: 11400000, guid: b28d3497d1f428046bc82469f2056bac, type: 2}
<LiquidDataSo>k__BackingField: {fileID: 11400000, guid: d912288eee347ea4b98718ff38ef5d78, type: 2}
<ItemSlotDataSo>k__BackingField: {fileID: 11400000, guid: 1e74e5d3760c6a74c820233d292733c1, type: 2}
_randomDropRadius: 3
_minSeparationDistance: 1.5