Add auto-generated backup file for Google Sheet data serialization

This commit is contained in:
Jeonghyeon Ha 2025-09-02 15:04:18 +09:00
parent 86b6c22285
commit 190fa64f45
15 changed files with 5592 additions and 40 deletions

Binary file not shown.

View File

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

View File

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

View File

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

View File

@ -22,7 +22,7 @@ public bool TryGetValueByTypeName(string interactionTypeName, string subsystemTy
targetString = $"{interactionTypeName}.{subsystemTypeName}";
}
interactionDataEntry = _datas.FirstOrDefault(entry =>
string.Equals(entry.UnparsedInteractionType, targetString, StringComparison.Ordinal));
string.Equals(entry.Id, targetString, StringComparison.Ordinal));
return interactionDataEntry != null;
}

View File

@ -12,11 +12,6 @@ public class InteractionDataEntry : IId
[field: SerializeField]
public string Id { get; set; }
/// <summary>파싱 전 타입</summary>
[Tooltip("파싱 전 타입")]
[field: SerializeField]
public string UnparsedInteractionType;
/// <summary>상호작용 기본 현지화 키 값</summary>
[Tooltip("상호작용 기본 현지화 키 값")]
[field: SerializeField]
@ -26,5 +21,9 @@ public class InteractionDataEntry : IId
[Tooltip("상호작용 예외처리 현지화 키 값")]
[field: SerializeField]
public string ConditionalMessageKey;
[Tooltip("상호작용 실행 홀드 타임")]
[field: SerializeField]
public float HoldTime;
}
}

View File

@ -1760,72 +1760,72 @@
{
"Id": "식별ID",
"#설명": "설명",
"UnparsedInteractionType:string": "파싱 전 타입",
"DefaultMessageKey:string": "상호작용 기본 현지화 키 값",
"ConditionalMessageKey:string": "상호작용 예외처리 현지화 키 값"
"ConditionalMessageKey:string": "상호작용 예외처리 현지화 키 값",
"HoldTime:float": ""
},
{
"Id": "interaction_001",
"Id": "RestaurantManagement.OpenManagementUi",
"#설명": "준비단계 - 메뉴 ui 오픈",
"UnparsedInteractionType:string": "RestaurantManagement.OpenManagementUi",
"DefaultMessageKey:string": "interaction_001_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_002",
"Id": "RestaurantManagement.RunRestaurant",
"#설명": "준비단계 - 레스토랑 오픈",
"UnparsedInteractionType:string": "RestaurantManagement.RunRestaurant",
"DefaultMessageKey:string": "interaction_002_default",
"ConditionalMessageKey:string": "interaction_002_failure"
"ConditionalMessageKey:string": "interaction_002_failure",
"HoldTime:float": 1
},
{
"Id": "interaction_003",
"Id": "RestaurantOrder.Order",
"#설명": "운영중 - 손님 주문 받기",
"UnparsedInteractionType:string": "RestaurantOrder.Order",
"DefaultMessageKey:string": "interaction_003_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0.5
},
{
"Id": "interaction_004",
"Id": "RestaurantOrder.Serve",
"#설명": "운영중 - 요리 서빙하기",
"UnparsedInteractionType:string": "RestaurantOrder.Serve",
"DefaultMessageKey:string": "interaction_004_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0.5
},
{
"Id": "interaction_005",
"Id": "RestaurantOrder.Dirty",
"#설명": "운영중 - 테이블 치우기",
"UnparsedInteractionType:string": "RestaurantOrder.TableDirty",
"DefaultMessageKey:string": "interaction_005_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
},
{
"Id": "interaction_006",
"Id": "RestaurantCook.StartCooking",
"#설명": "운영중 - 요리도구를 통해 요리 ui 오픈",
"UnparsedInteractionType:string": "RestaurantCook.StartCooking",
"DefaultMessageKey:string": "interaction_006_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_007",
"Id": "RestaurantWork.CleaningFloor_TODO",
"#설명": "운영중 - 청소하기",
"UnparsedInteractionType:string": "RestaurantOrder.FloorDirty",
"DefaultMessageKey:string": "interaction_007_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
},
{
"Id": "interaction_008",
"Id": "RestaurantServe",
"#설명": "운영중 - 음식을 서빙 테이블에 놓기",
"UnparsedInteractionType:string": "RestaurantOrder.ServingTable",
"DefaultMessageKey:string": "interaction_008_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 0
},
{
"Id": "interaction_009",
"Id": "RestaurantTrash",
"#설명": "운영중 - 음식과 빈그릇 버리기",
"UnparsedInteractionType:string": "RestaurantOrder.Throw",
"DefaultMessageKey:string": "interaction_009_default",
"ConditionalMessageKey:string": ""
"ConditionalMessageKey:string": "",
"HoldTime:float": 1
}
]
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3d48481b0d4746e581513865e89c72e3
timeCreated: 1756788895

View File

@ -0,0 +1,33 @@
using UnityEngine;
namespace DDD.Restaurant
{
public class RestaurantTrashSolver : MonoBehaviour, IInteractionSolver
{
public bool ExecuteInteraction(IInteractor interactor, IInteractable interactable, ScriptableObject payload = null)
{
var carrier = interactor?.GetInteractorGameObject()?.GetComponent<ICarrier>();
if (carrier == null)
return false;
carrier.Use();
return true;
}
public bool CanExecuteInteraction(IInteractor interactor = null, IInteractable interactable = null,
ScriptableObject payload = null)
{
// Check carrying state
var carrier = interactor?.GetInteractorGameObject()?.GetComponent<ICarrier>();
if (carrier != null)
return carrier.IsCarrying();
return false;
}
public bool CanSolveInteraction(IInteractor interactor, IInteractable interactable)
{
return true;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 36efefef94e6497889f41757921d8963
timeCreated: 1756788905