Merge branch 'develop' of http://gitea.capers.co.kr:3000/iwnc2020/ProjectDDD into feature/cook_ui

# Conflicts:
#	Assets/_DDD/_Scripts/Restaurant/Event/RestaurantInteractionComponent.cs
This commit is contained in:
NTG 2025-08-28 14:06:22 +09:00
commit 3720adfd78
149 changed files with 2383 additions and 560 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1210,9 +1210,6 @@ PrefabInstance:
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} - targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1 insertIndex: -1
addedObject: {fileID: 3825874317044733320} addedObject: {fileID: 3825874317044733320}
- targetCorrespondingSourceObject: {fileID: 7462519206451630147, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
insertIndex: -1
addedObject: {fileID: 1122074513716966771}
m_SourcePrefab: {fileID: 100100000, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3} m_SourcePrefab: {fileID: 100100000, guid: ceeea618d8ee23642a0e56b3f963448c, type: 3}
--- !u!1 &4266090516809920735 stripped --- !u!1 &4266090516809920735 stripped
GameObject: GameObject:
@ -1255,23 +1252,3 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: af69e82818254bfa9cabb2dbf9430850, type: 3} m_Script: {fileID: 11500000, guid: af69e82818254bfa9cabb2dbf9430850, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
--- !u!114 &1122074513716966771
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4266090516809920735}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 201f9e6d7ca7404baa9945950292a392, type: 3}
m_Name:
m_EditorClassIdentifier:
_interactionType: 4
_executionParameters:
_holdTime: 0
_displayParameters:
_messageKey:
_interactionAvailableFlows: 2
_aiInteractionPoints: []
autoInitialize: 1

View File

@ -427,6 +427,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
_availableInteractions: 13 _availableInteractions: 13
_availableInteractions: 7
_nearColliders: _nearColliders:
- {fileID: 0} - {fileID: 0}
- {fileID: 0} - {fileID: 0}

View File

@ -9,7 +9,7 @@ namespace DDD
/// </summary> /// </summary>
public interface IAISharedBlackboard public interface IAISharedBlackboard
{ {
void SetCurrentInteractionTarget(GameObject targetGameObject); void SetBlackboardGameObject(string key, GameObject inGameObject);
GameObject GetCurrentInteractionTarget(); GameObject GetBlackboardGameObject(string key);
} }
} }

View File

@ -6,7 +6,7 @@
namespace DDD namespace DDD
{ {
public class DataSo<T> : ScriptableObject where T : IId public class DataAsset<T> : ScriptableObject where T : IId
{ {
[FormerlySerializedAs("Datas")] [SerializeField] protected List<T> _datas = new(); [FormerlySerializedAs("Datas")] [SerializeField] protected List<T> _datas = new();

View File

@ -10,7 +10,6 @@ public enum InteractionType : uint
None = 0u, None = 0u,
RestaurantManagement = 1u << 0, RestaurantManagement = 1u << 0,
RestaurantOrder = 1u << 1, RestaurantOrder = 1u << 1,
RestaurantMeal = 1u << 2,
RestaurantCook = 1u << 3, RestaurantCook = 1u << 3,
All = 0xFFFFFFFFu All = 0xFFFFFFFFu
} }

View File

@ -18,6 +18,6 @@ public InventoryItemData(string id, int quantity)
Quantity = quantity; Quantity = quantity;
} }
public ItemData ItemData => InventoryManager.Instance.GetItemDataByIdOrNull(Id); public ItemDataEntry ItemDataEntry => InventoryManager.Instance.GetItemDataByIdOrNull(Id);
} }
} }

View File

@ -19,7 +19,7 @@ public class InventoryManager : Singleton<InventoryManager>, IManager
{ {
[Title("아이템 전체 목록")] [Title("아이템 전체 목록")]
[ShowInInspector, ReadOnly] [ShowInInspector, ReadOnly]
private Dictionary<string, ItemData> _allItemDataLookup; private Dictionary<string, ItemDataEntry> _allItemDataLookup;
[Title("아이템 보유 목록")] [Title("아이템 보유 목록")]
[ShowInInspector, ReadOnly] [ShowInInspector, ReadOnly]
@ -48,7 +48,7 @@ public void PostInit()
private void InitializeItemData() private void InitializeItemData()
{ {
var itemDataSo = DataManager.Instance.GetDataSo<ItemDataSo>(); var itemDataSo = DataManager.Instance.GetDataSo<ItemDataAsset>();
Debug.Assert(itemDataSo != null, "itemDataSo != null"); Debug.Assert(itemDataSo != null, "itemDataSo != null");
_allItemDataLookup = itemDataSo.GetDataList() _allItemDataLookup = itemDataSo.GetDataList()
@ -129,12 +129,12 @@ public bool RemoveItem(string id, int quantity = 1)
return true; return true;
} }
public IReadOnlyDictionary<string, ItemData> AllItemDataLookup => _allItemDataLookup; public IReadOnlyDictionary<string, ItemDataEntry> AllItemDataLookup => _allItemDataLookup;
public IReadOnlyDictionary<string, InventoryItemData> InventoryItems => _inventoryItemDatas; public IReadOnlyDictionary<string, InventoryItemData> InventoryItems => _inventoryItemDatas;
public bool ContainInventoryItem(string id) => _inventoryItemDatas.ContainsKey(id); public bool ContainInventoryItem(string id) => _inventoryItemDatas.ContainsKey(id);
public bool TryGetInventoryItemData(string id, out InventoryItemData inventoryItemData) => _inventoryItemDatas.TryGetValue(id, out inventoryItemData); public bool TryGetInventoryItemData(string id, out InventoryItemData inventoryItemData) => _inventoryItemDatas.TryGetValue(id, out inventoryItemData);
public int GetItemCount(string id) => _inventoryItemDatas.TryGetValue(id, out var itemData) ? itemData.Quantity : 0; public int GetItemCount(string id) => _inventoryItemDatas.TryGetValue(id, out var itemData) ? itemData.Quantity : 0;
public ItemData GetItemDataByIdOrNull(string id) public ItemDataEntry GetItemDataByIdOrNull(string id)
{ {
_allItemDataLookup.TryGetValue(id, out var itemData); _allItemDataLookup.TryGetValue(id, out var itemData);
return itemData; return itemData;

View File

@ -28,14 +28,14 @@ private IEnumerable<string> GetAllItemIds()
.Select(d => d.Id); .Select(d => d.Id);
} }
private ItemDataSo LoadItemDataSo() private ItemDataAsset LoadItemDataSo()
{ {
// 경로는 프로젝트에 맞게 조정 필요 // 경로는 프로젝트에 맞게 조정 필요
string[] guids = AssetDatabase.FindAssets("t:ItemDataSo"); string[] guids = AssetDatabase.FindAssets("t:ItemDataAsset");
if (guids.Length == 0) return null; if (guids.Length == 0) return null;
string path = AssetDatabase.GUIDToAssetPath(guids[0]); string path = AssetDatabase.GUIDToAssetPath(guids[0]);
return AssetDatabase.LoadAssetAtPath<ItemDataSo>(path); return AssetDatabase.LoadAssetAtPath<ItemDataAsset>(path);
} }
} }

View File

@ -47,10 +47,10 @@ private void RemoveItem()
private IEnumerable<string> GetItemIds() private IEnumerable<string> GetItemIds()
{ {
if (!Application.isPlaying || DataManager.Instance?.GetDataSo<ItemDataSo>() == null) if (!Application.isPlaying || DataManager.Instance?.GetDataSo<ItemDataAsset>() == null)
return Enumerable.Empty<string>(); return Enumerable.Empty<string>();
return DataManager.Instance.GetDataSo<ItemDataSo>().GetDataList() return DataManager.Instance.GetDataSo<ItemDataAsset>().GetDataList()
.Select(data => data.Id) .Select(data => data.Id)
.Where(id => !string.IsNullOrEmpty(id)); .Where(id => !string.IsNullOrEmpty(id));
} }

View File

@ -104,7 +104,7 @@ private object GetPropertyValue(string propertyPath)
{ {
if (_dataContext == null) return null; if (_dataContext == null) return null;
// 중첩 속성 지원 (예: "ItemData.Name") // 중첩 속성 지원 (예: "ItemDataEntry.Name")
var properties = propertyPath.Split('.'); var properties = propertyPath.Split('.');
object current = _dataContext; object current = _dataContext;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 90984e9ede7c85d45b0883295d7cff8a
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
// <auto-generated> File: CookwareDataAsset.cs
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "CookwareDataAsset", menuName = "GoogleSheet/CookwareDataAsset")]
public class CookwareDataAsset : DataAsset<CookwareDataEntry>
{
public bool TryGetValueByCookwareType(CookwareType cookwareType, out CookwareDataEntry cookwareDataEntry)
{
if (_datas == null)
{
cookwareDataEntry = null;
return false;
}
cookwareDataEntry = _datas.FirstOrDefault(data => data != null && data.CookwareType == cookwareType);
return cookwareDataEntry != null;
}
}
}

View File

@ -18,7 +18,7 @@ public enum CookwareType
} }
[Serializable] [Serializable]
public class CookwareData : IId public class CookwareDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,23 +0,0 @@
// <auto-generated> File: CookwareDataSo.cs
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "CookwareDataSo", menuName = "GoogleSheet/CookwareDataSo")]
public class CookwareDataSo : DataSo<CookwareData>
{
public bool TryGetValueByCookwareType(CookwareType cookwareType, out CookwareData cookwareData)
{
if (_datas == null)
{
cookwareData = null;
return false;
}
cookwareData = _datas.FirstOrDefault(data => data != null && data.CookwareType == cookwareType);
return cookwareData != null;
}
}
}

View File

@ -3,8 +3,8 @@
namespace DDD namespace DDD
{ {
[CreateAssetMenu(fileName = "CustomerDataSo", menuName = "GoogleSheet/CustomerDataSo")] [CreateAssetMenu(fileName = "CustomerDataAsset", menuName = "GoogleSheet/CustomerDataAsset")]
public class CustomerDataSo : DataSo<CustomerData> public class CustomerDataAsset : DataAsset<CustomerDataEntry>
{ {
protected override void Initialize() protected override void Initialize()
{ {

View File

@ -15,7 +15,7 @@ public enum CustomerType
} }
[Serializable] [Serializable]
public class CustomerData : IId public class CustomerDataEntry : IId
{ {
/// <summary>식별번호</summary> /// <summary>식별번호</summary>
[Tooltip("식별번호")] [Tooltip("식별번호")]

View File

@ -3,8 +3,8 @@
namespace DDD namespace DDD
{ {
[CreateAssetMenu(fileName = "CustomerPoolDataSo", menuName = "GoogleSheet/CustomerPoolDataSo")] [CreateAssetMenu(fileName = "CustomerPoolDataAsset", menuName = "GoogleSheet/CustomerPoolDataAsset")]
public class CustomerPoolDataSo : DataSo<CustomerPoolData> public class CustomerPoolDataAsset : DataAsset<CustomerPoolDataEntry>
{ {
protected override void Initialize() protected override void Initialize()
{ {

View File

@ -7,7 +7,7 @@
namespace DDD namespace DDD
{ {
[Serializable] [Serializable]
public class CustomerPoolData : IId public class CustomerPoolDataEntry : IId
{ {
/// <summary>식별번호</summary> /// <summary>식별번호</summary>
[Tooltip("식별번호")] [Tooltip("식별번호")]

View File

@ -0,0 +1,9 @@
// <auto-generated> File: DrinkDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "DrinkDataAsset", menuName = "GoogleSheet/DrinkDataAsset")]
public class DrinkDataAsset : DataAsset<DrinkDataEntry> { }
}

View File

@ -5,7 +5,7 @@
namespace DDD namespace DDD
{ {
[Serializable] [Serializable]
public class FoodData : IId public class DrinkDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: DrinkDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "DrinkDataSo", menuName = "GoogleSheet/DrinkDataSo")]
public class DrinkDataSo : DataSo<DrinkData> { }
}

View File

@ -0,0 +1,9 @@
// <auto-generated> File: EnvironmentDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "EnvironmentDataAsset", menuName = "GoogleSheet/EnvironmentDataAsset")]
public class EnvironmentDataAsset : DataAsset<EnvironmentDataEntry> { }
}

View File

@ -12,7 +12,7 @@ public enum RendererType
} }
[Serializable] [Serializable]
public class EnvironmentData : IId public class EnvironmentDataEntry : IId
{ {
/// <summary>식별번호</summary> /// <summary>식별번호</summary>
[Tooltip("식별번호")] [Tooltip("식별번호")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: EnvironmentDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "EnvironmentDataSo", menuName = "GoogleSheet/EnvironmentDataSo")]
public class EnvironmentDataSo : DataSo<EnvironmentData> { }
}

View File

@ -0,0 +1,9 @@
// <auto-generated> File: FoodDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "FoodDataAsset", menuName = "GoogleSheet/FoodDataAsset")]
public class FoodDataAsset : DataAsset<FoodDataEntry> { }
}

View File

@ -5,7 +5,7 @@
namespace DDD namespace DDD
{ {
[Serializable] [Serializable]
public class DrinkData : IId public class FoodDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: FoodDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "FoodDataSo", menuName = "GoogleSheet/FoodDataSo")]
public class FoodDataSo : DataSo<FoodData> { }
}

View File

@ -0,0 +1,8 @@
// <auto-generated>
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "IngredientDataAsset", menuName = "GoogleSheet/IngredientDataAsset")]
public class IngredientDataAsset : DataAsset<IngredientDataEntry> { }
}

View File

@ -5,7 +5,7 @@
namespace DDD namespace DDD
{ {
[Serializable] [Serializable]
public class IngredientData : IId public class IngredientDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,8 +0,0 @@
// <auto-generated>
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "IngredientDataSo", menuName = "GoogleSheet/IngredientDataSo")]
public class IngredientDataSo : DataSo<IngredientData> { }
}

View File

@ -0,0 +1,9 @@
// <auto-generated> File: ItemDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "ItemDataAsset", menuName = "GoogleSheet/ItemDataAsset")]
public class ItemDataAsset : DataAsset<ItemDataEntry> { }
}

View File

@ -15,7 +15,7 @@ public enum ItemType
} }
[Serializable] [Serializable]
public class ItemData : IId public class ItemDataEntry : IId
{ {
/// <summary>식별번호</summary> /// <summary>식별번호</summary>
[Tooltip("식별번호")] [Tooltip("식별번호")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: ItemDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "ItemDataSo", menuName = "GoogleSheet/ItemDataSo")]
public class ItemDataSo : DataSo<ItemData> { }
}

View File

@ -0,0 +1,8 @@
// <auto-generated>
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "LevelDataAsset", menuName = "GoogleSheet/LevelDataAsset")]
public class LevelDataAsset : DataAsset<LevelDataEntry> { }
}

View File

@ -12,7 +12,7 @@ public enum SpawnType
} }
[Serializable] [Serializable]
public class LevelData : IId public class LevelDataEntry : IId
{ {
/// <summary>식별번호</summary> /// <summary>식별번호</summary>
[Tooltip("식별번호")] [Tooltip("식별번호")]

View File

@ -1,8 +0,0 @@
// <auto-generated>
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "LevelDataSo", menuName = "GoogleSheet/LevelDataSo")]
public class LevelDataSo : DataSo<LevelData> { }
}

View File

@ -0,0 +1,9 @@
// <auto-generated> File: RecipeDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "RecipeDataAsset", menuName = "GoogleSheet/RecipeDataAsset")]
public class RecipeDataAsset : DataAsset<RecipeDataEntry> { }
}

View File

@ -12,7 +12,7 @@ public enum RecipeType
} }
[Serializable] [Serializable]
public class RecipeData : IId public class RecipeDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: RecipeDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "RecipeDataSo", menuName = "GoogleSheet/RecipeDataSo")]
public class RecipeDataSo : DataSo<RecipeData> { }
}

View File

@ -0,0 +1,9 @@
// <auto-generated> File: TasteDataAsset.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "TasteDataAsset", menuName = "GoogleSheet/TasteDataAsset")]
public class TasteDataAsset : DataAsset<TasteDataEntry> { }
}

View File

@ -28,7 +28,7 @@ public enum TasteType
} }
[Serializable] [Serializable]
public class TasteData : IId public class TasteDataEntry : IId
{ {
/// <summary>식별ID</summary> /// <summary>식별ID</summary>
[Tooltip("식별ID")] [Tooltip("식별ID")]

View File

@ -1,9 +0,0 @@
// <auto-generated> File: TasteDataSo.cs
using System.Collections.Generic;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "TasteDataSo", menuName = "GoogleSheet/TasteDataSo")]
public class TasteDataSo : DataSo<TasteData> { }
}

Some files were not shown because too many files have changed in this diff Show More