Merge branch 'feature/Exit_Subtree' into develop
This commit is contained in:
commit
bef345610e
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/CustomerDefault.asset
(Stored with Git LFS)
Binary file not shown.
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/ExitSubtree.asset
(Stored with Git LFS)
Binary file not shown.
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset
(Stored with Git LFS)
BIN
Assets/_DDD/_Addressables/AI/Customer/Subtree/OrderSubtree.asset
(Stored with Git LFS)
Binary file not shown.
@ -94,7 +94,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
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_RaycastTarget: 0
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 0
|
m_Maskable: 0
|
||||||
@ -245,7 +245,7 @@ MonoBehaviour:
|
|||||||
m_SelectOnRight: {fileID: 0}
|
m_SelectOnRight: {fileID: 0}
|
||||||
m_Transition: 1
|
m_Transition: 1
|
||||||
m_Colors:
|
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_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_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}
|
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||||
@ -2372,13 +2372,16 @@ MonoBehaviour:
|
|||||||
Assembly-CSharp]], System.Core
|
Assembly-CSharp]], System.Core
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 12
|
Entry: 12
|
||||||
|
Data: 3
|
||||||
|
- Name:
|
||||||
|
Entry: 3
|
||||||
Data: 2
|
Data: 2
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 3
|
Entry: 3
|
||||||
Data: 4
|
Data: 4
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 3
|
Entry: 3
|
||||||
Data: 2
|
Data: 16
|
||||||
- Name:
|
- Name:
|
||||||
Entry: 13
|
Entry: 13
|
||||||
Data:
|
Data:
|
||||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
|||||||
nPOTScale: 0
|
nPOTScale: 0
|
||||||
lightmap: 0
|
lightmap: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
spriteMode: 2
|
spriteMode: 1
|
||||||
spriteExtrude: 2
|
spriteExtrude: 2
|
||||||
spriteMeshType: 0
|
spriteMeshType: 0
|
||||||
alignment: 0
|
alignment: 0
|
||||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
|||||||
nPOTScale: 0
|
nPOTScale: 0
|
||||||
lightmap: 0
|
lightmap: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
spriteMode: 2
|
spriteMode: 1
|
||||||
spriteExtrude: 2
|
spriteExtrude: 2
|
||||||
spriteMeshType: 0
|
spriteMeshType: 0
|
||||||
alignment: 0
|
alignment: 0
|
||||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
|||||||
nPOTScale: 0
|
nPOTScale: 0
|
||||||
lightmap: 0
|
lightmap: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
spriteMode: 2
|
spriteMode: 1
|
||||||
spriteExtrude: 2
|
spriteExtrude: 2
|
||||||
spriteMeshType: 0
|
spriteMeshType: 0
|
||||||
alignment: 0
|
alignment: 0
|
||||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
|||||||
nPOTScale: 0
|
nPOTScale: 0
|
||||||
lightmap: 0
|
lightmap: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
spriteMode: 2
|
spriteMode: 1
|
||||||
spriteExtrude: 2
|
spriteExtrude: 2
|
||||||
spriteMeshType: 0
|
spriteMeshType: 0
|
||||||
alignment: 0
|
alignment: 0
|
||||||
|
@ -1,8 +1,17 @@
|
|||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
|
|
||||||
|
using System.Linq;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace DDD
|
namespace DDD
|
||||||
{
|
{
|
||||||
[CreateAssetMenu(fileName = "LevelDataAsset", menuName = "GoogleSheet/LevelDataAsset")]
|
[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();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -23,7 +23,6 @@ public interface IEmotionVisual
|
|||||||
|
|
||||||
//이를 파생해서 기본값을 주거나, 바로 사용하면 될 듯
|
//이를 파생해서 기본값을 주거나, 바로 사용하면 될 듯
|
||||||
[SerializeField] protected T _emotionBlackboardKey;
|
[SerializeField] protected T _emotionBlackboardKey;
|
||||||
|
|
||||||
private IEmotionVisual _emotionVisual;
|
private IEmotionVisual _emotionVisual;
|
||||||
|
|
||||||
public override void OnStart()
|
public override void OnStart()
|
||||||
@ -46,6 +45,11 @@ public override void OnStart()
|
|||||||
|
|
||||||
_emotionVisual.ShowEmotion(currentEmotion);
|
_emotionVisual.ShowEmotion(currentEmotion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override TaskStatus OnUpdate()
|
||||||
|
{
|
||||||
|
return TaskStatus.Success;
|
||||||
|
}
|
||||||
|
|
||||||
public override void OnEnd()
|
public override void OnEnd()
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a74d335850254c098cac2ab9a275a32b
|
||||||
|
timeCreated: 1756721079
|
@ -16,6 +16,7 @@ public class SatisfactionEvaluator : Action
|
|||||||
{
|
{
|
||||||
[SerializeField] private RestaurantCustomerBlackboardKey _satisfactionBlackboardKey;
|
[SerializeField] private RestaurantCustomerBlackboardKey _satisfactionBlackboardKey;
|
||||||
[SerializeField] private EvaluationStep _evaluationStep;
|
[SerializeField] private EvaluationStep _evaluationStep;
|
||||||
|
[SerializeField] private EmotionType _satisfactionType;
|
||||||
public override void OnStart()
|
public override void OnStart()
|
||||||
{
|
{
|
||||||
var currentSatisfaction = CalculateSatisfaction();
|
var currentSatisfaction = CalculateSatisfaction();
|
||||||
@ -26,7 +27,7 @@ public override void OnStart()
|
|||||||
//TODO 만족도 계산?
|
//TODO 만족도 계산?
|
||||||
private EmotionType CalculateSatisfaction()
|
private EmotionType CalculateSatisfaction()
|
||||||
{
|
{
|
||||||
return EmotionType.Satisfied;
|
return _satisfactionType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -10,8 +10,9 @@ public enum RestaurantOrderType : uint
|
|||||||
Reserved = 1u,
|
Reserved = 1u,
|
||||||
Order = 1u << 1,
|
Order = 1u << 1,
|
||||||
Serve = 1u << 2,
|
Serve = 1u << 2,
|
||||||
Busy = 1u << 3,
|
Reaction = 1u << 3,
|
||||||
Dirty = 1u << 4,
|
Busy = 1u << 4,
|
||||||
|
Dirty = 1u << 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
public class RestaurantOrderObjectState
|
public class RestaurantOrderObjectState
|
||||||
@ -113,7 +114,8 @@ private RestaurantOrderType GetNextState(RestaurantOrderType state)
|
|||||||
case RestaurantOrderType.Wait: return RestaurantOrderType.Reserved;
|
case RestaurantOrderType.Wait: return RestaurantOrderType.Reserved;
|
||||||
case RestaurantOrderType.Reserved: return RestaurantOrderType.Order;
|
case RestaurantOrderType.Reserved: return RestaurantOrderType.Order;
|
||||||
case RestaurantOrderType.Order: return RestaurantOrderType.Serve;
|
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.Busy: return RestaurantOrderType.Dirty;
|
||||||
case RestaurantOrderType.Dirty: return RestaurantOrderType.Wait;
|
case RestaurantOrderType.Dirty: return RestaurantOrderType.Wait;
|
||||||
default: return RestaurantOrderType.Wait;
|
default: return RestaurantOrderType.Wait;
|
||||||
|
@ -10,6 +10,7 @@ public class RestaurantOrderSolver : RestaurantSubsystemSolver<RestaurantOrderTy
|
|||||||
{
|
{
|
||||||
{ RestaurantOrderType.Wait, typeof(RestaurantOrderSolver_Wait) },
|
{ RestaurantOrderType.Wait, typeof(RestaurantOrderSolver_Wait) },
|
||||||
{ RestaurantOrderType.Reserved, typeof(RestaurantOrderSolver_Reserved) },
|
{ RestaurantOrderType.Reserved, typeof(RestaurantOrderSolver_Reserved) },
|
||||||
|
{ RestaurantOrderType.Reaction, typeof(RestaurantOrderSolver_Reaction) },
|
||||||
{ RestaurantOrderType.Busy, typeof(RestaurantOrderSolver_Busy) },
|
{ RestaurantOrderType.Busy, typeof(RestaurantOrderSolver_Busy) },
|
||||||
};
|
};
|
||||||
protected override Dictionary<RestaurantOrderType, Type> GetSubsystemSolverTypeMappings()
|
protected override Dictionary<RestaurantOrderType, Type> GetSubsystemSolverTypeMappings()
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0b6c08c28584491d8f6895542d4a9327
|
||||||
|
timeCreated: 1756723014
|
@ -88,6 +88,9 @@ private void SetPatience()
|
|||||||
_prevOrderType = _currentOrderType;
|
_prevOrderType = _currentOrderType;
|
||||||
_patienceSlider.maxValue = _blackboard.GetBlackboardValue<float>(RestaurantCustomerBlackboardKey.MaxPatienceTime);
|
_patienceSlider.maxValue = _blackboard.GetBlackboardValue<float>(RestaurantCustomerBlackboardKey.MaxPatienceTime);
|
||||||
_patienceSlider.value = _patienceSlider.maxValue;
|
_patienceSlider.value = _patienceSlider.maxValue;
|
||||||
|
ColorBlock colors = _patienceSlider.colors;
|
||||||
|
colors.normalColor = _currentOrderType == RestaurantOrderType.Busy ? Color.green : Color.red;
|
||||||
|
_patienceSlider.colors = colors;
|
||||||
_patienceSlider.gameObject.SetActive(true);
|
_patienceSlider.gameObject.SetActive(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user