Merge branch 'feature/Exit_Subtree' into develop

This commit is contained in:
김산 2025-09-02 09:59:19 +09:00
commit bef345610e
18 changed files with 74 additions and 19 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -94,7 +94,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0, b: 0, a: 1}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 0
@ -245,7 +245,7 @@ MonoBehaviour:
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_NormalColor: {r: 1, g: 0, b: 0, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
@ -2372,13 +2372,16 @@ MonoBehaviour:
Assembly-CSharp]], System.Core
- Name:
Entry: 12
Data: 3
- Name:
Entry: 3
Data: 2
- Name:
Entry: 3
Data: 4
- Name:
Entry: 3
Data: 2
Data: 16
- Name:
Entry: 13
Data:

View File

@ -43,7 +43,7 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0

View File

@ -43,7 +43,7 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0

View File

@ -43,7 +43,7 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0

View File

@ -43,7 +43,7 @@ TextureImporter:
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 2
spriteMode: 1
spriteExtrude: 2
spriteMeshType: 0
alignment: 0

View File

@ -1,8 +1,17 @@
// <auto-generated>
using System.Linq;
using UnityEngine;
namespace DDD
{
[CreateAssetMenu(fileName = "LevelDataAsset", menuName = "GoogleSheet/LevelDataAsset")]
public class LevelDataAsset : DataAsset<LevelDataEntry> { }
public class LevelDataAsset : DataAsset<LevelDataEntry>
{
public LevelDataEntry GetLevelDataEntryByLevel()
{
var currentLevel = GameState.Instance.LevelState.Level;
return _datas.Where(x => x.Level == currentLevel).FirstOrDefault();
}
}
}

View File

@ -23,7 +23,6 @@ public interface IEmotionVisual
//이를 파생해서 기본값을 주거나, 바로 사용하면 될 듯
[SerializeField] protected T _emotionBlackboardKey;
private IEmotionVisual _emotionVisual;
public override void OnStart()
@ -46,6 +45,11 @@ public override void OnStart()
_emotionVisual.ShowEmotion(currentEmotion);
}
public override TaskStatus OnUpdate()
{
return TaskStatus.Success;
}
public override void OnEnd()
{

View File

@ -0,0 +1,13 @@
using Opsive.BehaviorDesigner.Runtime.Tasks;
using Opsive.BehaviorDesigner.Runtime.Tasks.Actions;
namespace DDD.Restaurant
{
public class ReturnRunning : Action
{
public override TaskStatus OnUpdate()
{
return TaskStatus.Running;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a74d335850254c098cac2ab9a275a32b
timeCreated: 1756721079

View File

@ -16,6 +16,7 @@ public class SatisfactionEvaluator : Action
{
[SerializeField] private RestaurantCustomerBlackboardKey _satisfactionBlackboardKey;
[SerializeField] private EvaluationStep _evaluationStep;
[SerializeField] private EmotionType _satisfactionType;
public override void OnStart()
{
var currentSatisfaction = CalculateSatisfaction();
@ -26,7 +27,7 @@ public override void OnStart()
//TODO 만족도 계산?
private EmotionType CalculateSatisfaction()
{
return EmotionType.Satisfied;
return _satisfactionType;
}
}
}

View File

@ -10,8 +10,9 @@ public enum RestaurantOrderType : uint
Reserved = 1u,
Order = 1u << 1,
Serve = 1u << 2,
Busy = 1u << 3,
Dirty = 1u << 4,
Reaction = 1u << 3,
Busy = 1u << 4,
Dirty = 1u << 5,
}
public class RestaurantOrderObjectState
@ -113,7 +114,8 @@ private RestaurantOrderType GetNextState(RestaurantOrderType state)
case RestaurantOrderType.Wait: return RestaurantOrderType.Reserved;
case RestaurantOrderType.Reserved: return RestaurantOrderType.Order;
case RestaurantOrderType.Order: return RestaurantOrderType.Serve;
case RestaurantOrderType.Serve: return RestaurantOrderType.Busy;
case RestaurantOrderType.Serve: return RestaurantOrderType.Reaction;
case RestaurantOrderType.Reaction: return RestaurantOrderType.Busy;
case RestaurantOrderType.Busy: return RestaurantOrderType.Dirty;
case RestaurantOrderType.Dirty: return RestaurantOrderType.Wait;
default: return RestaurantOrderType.Wait;

View File

@ -10,6 +10,7 @@ public class RestaurantOrderSolver : RestaurantSubsystemSolver<RestaurantOrderTy
{
{ RestaurantOrderType.Wait, typeof(RestaurantOrderSolver_Wait) },
{ RestaurantOrderType.Reserved, typeof(RestaurantOrderSolver_Reserved) },
{ RestaurantOrderType.Reaction, typeof(RestaurantOrderSolver_Reaction) },
{ RestaurantOrderType.Busy, typeof(RestaurantOrderSolver_Busy) },
};
protected override Dictionary<RestaurantOrderType, Type> GetSubsystemSolverTypeMappings()

View File

@ -0,0 +1,13 @@
using UnityEngine;
namespace DDD.Restaurant
{
public class RestaurantOrderSolver_Reaction : RestaurantOrderSolverBase
{
public override bool CanExecuteInteractionSubsystem(IInteractor interactor = null, IInteractable interactable = null,
ScriptableObject payload = null)
{
return true;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0b6c08c28584491d8f6895542d4a9327
timeCreated: 1756723014

View File

@ -88,6 +88,9 @@ private void SetPatience()
_prevOrderType = _currentOrderType;
_patienceSlider.maxValue = _blackboard.GetBlackboardValue<float>(RestaurantCustomerBlackboardKey.MaxPatienceTime);
_patienceSlider.value = _patienceSlider.maxValue;
ColorBlock colors = _patienceSlider.colors;
colors.normalColor = _currentOrderType == RestaurantOrderType.Busy ? Color.green : Color.red;
_patienceSlider.colors = colors;
_patienceSlider.gameObject.SetActive(true);
}
}