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_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:
|
||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteMode: 1
|
||||
spriteExtrude: 2
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteMode: 1
|
||||
spriteExtrude: 2
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteMode: 1
|
||||
spriteExtrude: 2
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
|
@ -43,7 +43,7 @@ TextureImporter:
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 2
|
||||
spriteMode: 1
|
||||
spriteExtrude: 2
|
||||
spriteMeshType: 0
|
||||
alignment: 0
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
@ -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()
|
||||
{
|
||||
|
@ -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 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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
@ -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()
|
||||
|
@ -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;
|
||||
_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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user