From b601a284ff422bf315cd0744c6efca57fa45f825 Mon Sep 17 00:00:00 2001 From: NTG_Lenovo Date: Mon, 30 Sep 2024 21:05:19 +0900 Subject: [PATCH] =?UTF-8?q?ai=20=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/01.Scenes/01.Tycoon.unity | 4 +- .../Npc/Customer/Action/EatCocktail.cs | 38 +++++++++ .../Npc/Customer/Action/EatCocktail.cs.meta | 2 + .../Npc/Customer/Action/OrderFail.cs | 28 +++++++ .../Npc/Customer/Action/OrderFail.cs.meta | 2 + .../Npc/Customer/Conditional/OrderCocktail.cs | 84 +++++++++++++++++++ .../Conditional/OrderCocktail.cs.meta | 2 + Assets/02.Scripts/Character/Npc/Customer.cs | 29 ++++--- .../Player/Tycoon/TycoonPickupHandler.cs | 4 +- .../Character/Player/Tycoon/TycoonPlayer.cs | 31 ------- Assets/02.Scripts/EventManager.cs | 3 + Assets/02.Scripts/Prop/Tycoon/Barrel.cs | 22 +++-- Assets/02.Scripts/Prop/Tycoon/Cookware.cs | 4 +- Assets/02.Scripts/Prop/Tycoon/ServingTable.cs | 3 +- .../Tycoon/TycoonIngredientController.cs | 56 +++++++++++++ Assets/02.Scripts/Tycoon/TycoonStatus.cs | 13 +++ Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs | 9 +- .../Characters/Npcs/Customer.prefab | 9 +- Assets/11.BehaviorTree/Customer.asset | 41 +++------ Assets/11.BehaviorTree/Customer.asset.meta | 2 +- Assets/11.BehaviorTree/Old.meta | 8 ++ Assets/11.BehaviorTree/Old/Customer.asset | 65 ++++++++++++++ .../11.BehaviorTree/Old/Customer.asset.meta | 8 ++ 23 files changed, 370 insertions(+), 97 deletions(-) create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs.meta create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs.meta create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs create mode 100644 Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs.meta create mode 100644 Assets/11.BehaviorTree/Old.meta create mode 100644 Assets/11.BehaviorTree/Old/Customer.asset create mode 100644 Assets/11.BehaviorTree/Old/Customer.asset.meta diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index 946ac1a5f..469b1ad27 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -9340,8 +9340,8 @@ MonoBehaviour: _objectPoolCount: 1000 _centerBalloonImage: {fileID: 21300000, guid: 140fdbe02cd90bf47994129e6be6bafe, type: 3} _playerBalloonImage: {fileID: 21300000, guid: e7b746bc5bff9d64fb1129b9aa8ccf3e, type: 3} - _moveToPlayerDuration: 0.5 - _moveToCenterDuration: 0.2 + _moveToPlayerDuration: 0.2 + _moveToCenterDuration: 0.15 _centerPosition: {x: -300, y: 0, z: 0} _endPositionOffset: {x: 0, y: 20, z: 0} _endScale: {x: 0.3, y: 0.3, z: 0.3} diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs new file mode 100644 index 000000000..8ad986fcc --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs @@ -0,0 +1,38 @@ +using System; +using BehaviorDesigner.Runtime.Tasks; +using BlueWater.Npcs.Customers; +using UnityEngine; +using Action = BehaviorDesigner.Runtime.Tasks.Action; + +namespace BlueWater.BehaviorTrees.Actions +{ + [TaskCategory("Custom/Npc/Customer")] + [Serializable] + public class EatCocktail : Action + { + private Customer _customer; + private float _elapsedTime; + + public override void OnAwake() + { + _customer = GetComponent(); + } + + public override void OnStart() + { + _elapsedTime = 0; + } + + public override TaskStatus OnUpdate() + { + if (_elapsedTime <= _customer.LevelData.EatingTime) + { + _elapsedTime += Time.deltaTime; + return TaskStatus.Running; + } + + _customer.PayMoney(); + return TaskStatus.Success; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs.meta new file mode 100644 index 000000000..b3bec8b2d --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/EatCocktail.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9a88631a92623614d90e41973b44bf6c diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs new file mode 100644 index 000000000..400cb6a47 --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs @@ -0,0 +1,28 @@ +using System; +using BehaviorDesigner.Runtime.Tasks; +using BlueWater.Interfaces; +using BlueWater.Players.Tycoons; +using Action = BehaviorDesigner.Runtime.Tasks.Action; + +namespace BlueWater.BehaviorTrees.Actions +{ + [TaskCategory("Custom/Npc/Customer")] + [Serializable] + public class OrderFail : Action + { + private TycoonPlayer _tycoonPlayer; + + public override void OnAwake() + { + _tycoonPlayer = GameManager.Instance.CurrentTycoonPlayer; + } + + public override TaskStatus OnUpdate() + { + var damageable = _tycoonPlayer.GetComponent(); + damageable?.TakeDamage(1); + + return TaskStatus.Success; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs.meta new file mode 100644 index 000000000..1c78ef85f --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Action/OrderFail.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 00438120fb6d44c40851be30bd0b685d diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs new file mode 100644 index 000000000..e94d65293 --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs @@ -0,0 +1,84 @@ +using System; +using BehaviorDesigner.Runtime.Tasks; +using BlueWater.Items; +using BlueWater.Npcs.Customers; +using BlueWater.Players.Tycoons; +using BlueWater.Tycoons; +using BlueWater.Uis; +using PixelCrushers.DialogueSystem; +using UnityEngine; + +namespace BlueWater.BehaviorTrees.Actions +{ + [TaskCategory("Custom/Npc/Customer")] + [Serializable] + public class OrderCocktail : Conditional + { + private Customer _customer; + private LevelData _levelData; + private BalloonUi _customerBalloonUi; + private CocktailData _orderedCocktail; + + private bool _isReceived; + private bool _isSucceed; + + public override void OnAwake() + { + _customer = GetComponent(); + } + + public override void OnStart() + { + _levelData = _customer.LevelData; + _customerBalloonUi = _customer.BalloonUi; + + _orderedCocktail = TycoonManager.Instance.TycoonIngredientController.GetRandomCocktailData(); + Debug.Log($"_orderedCocktail : {_orderedCocktail.Idx}"); + _customerBalloonUi.OrderItem(_orderedCocktail.Idx, _levelData.WaitTime, _levelData.HurryTime); + _customer.OnInteraction += HandleCocktailInteraction; + _customer.RegisterPlayerInteraction(); + // _customer.Bark("OrderBeverage", BarkOrder.FirstValid); + } + + public override TaskStatus OnUpdate() + { + if (_customerBalloonUi.IsWaitTimeOver()) + { + _customer.OnInteraction -= HandleCocktailInteraction; + _customer.UnregisterPlayerInteraction(); + return TaskStatus.Failure; + } + + if (!_isReceived) return TaskStatus.Running; + + _customer.OnInteraction -= HandleCocktailInteraction; + if (_isSucceed) + { + _customer.UnregisterPlayerInteraction(); + return TaskStatus.Success; + } + else + { + return TaskStatus.Failure; + } + } + + private void HandleCocktailInteraction() + { + var currentPickupItem = GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); + if (currentPickupItem == null) + { + Debug.Log("플레이어가 가지고 있는 음식의 데이터가 없습니다."); + return; + } + + var servedCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(currentPickupItem.Idx); + EventManager.OnCocktailServedToCustomer?.Invoke(servedCocktailData); + _customer.ServedItem(servedCocktailData); + _customerBalloonUi.ReceiveFood(servedCocktailData); + _isSucceed = currentPickupItem.Idx == _orderedCocktail.Idx; + + _isReceived = true; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs.meta new file mode 100644 index 000000000..694defdb0 --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Customer/Conditional/OrderCocktail.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: af74932f6e472b8408b690c232082a90 diff --git a/Assets/02.Scripts/Character/Npc/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer.cs index 2ec8d1315..d1ed08e92 100644 --- a/Assets/02.Scripts/Character/Npc/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer.cs @@ -78,7 +78,7 @@ namespace BlueWater.Npcs.Customers public LevelData LevelData { get; private set; } public TableSeat TableSeat { get; private set; } - public ItemData ItemData { get; private set; } + public CocktailData CocktailData { get; private set; } // private int _happyPoint; // public int HappyPoint @@ -235,10 +235,10 @@ namespace BlueWater.Npcs.Customers SetCurrentDirection(TableSeat.TableDirection); } - public void SetFood(ItemData foodData) + public void ServedItem(CocktailData cocktailData) { - ItemData = foodData; - TableSeat.SetFood(foodData.Sprite); + CocktailData = cocktailData; + TableSeat.SetFood(CocktailData.Sprite); } public void Interaction() @@ -288,18 +288,25 @@ namespace BlueWater.Npcs.Customers BarkTrigger.conversation = conversation; BarkTrigger.OnUse(); } - - public void PayMoney(int foodPrice, int tipAmount) + + public void PayMoney() { - _foodPrice = foodPrice; - _tipAmount = tipAmount; - _paidAmount = _foodPrice + _tipAmount; - PayMoneyParticle.gameObject.SetActive(true); PayMoneyParticle.Play(); - PayMoneyUi.PayMoney(_paidAmount); + PayMoneyUi.PayMoney(LevelData.Gold); } + // public void PayMoney(int foodPrice, int tipAmount) + // { + // _foodPrice = foodPrice; + // _tipAmount = tipAmount; + // _paidAmount = _foodPrice + _tipAmount; + // + // PayMoneyParticle.gameObject.SetActive(true); + // PayMoneyParticle.Play(); + // PayMoneyUi.PayMoney(_paidAmount); + // } + public void CheckOut() { //var customerVisitInfo = new CustomerVisitInfo(HappyPoint, _foodPrice, _tipAmount, _paidAmount); diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs index a3ec321ee..19f9405bb 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPickupHandler.cs @@ -27,6 +27,7 @@ namespace BlueWater.Players.Tycoons EventManager.OnCocktailStarted += PickupUnfinishedCocktail; EventManager.OnCocktailCompleted += PickupItem; EventManager.OnCocktailDiscarded += DiscardItem; + EventManager.OnCocktailServedToCustomer += GiveItem; } private void OnDestroy() @@ -34,6 +35,7 @@ namespace BlueWater.Players.Tycoons EventManager.OnCocktailStarted -= PickupUnfinishedCocktail; EventManager.OnCocktailCompleted -= PickupItem; EventManager.OnCocktailDiscarded -= DiscardItem; + EventManager.OnCocktailServedToCustomer -= GiveItem; } [Button("컴포넌트 초기화")] @@ -62,7 +64,7 @@ namespace BlueWater.Players.Tycoons _isPickedUpItem = true; } - public void GiveItem() + public void GiveItem(IPickup item) { if (!_isPickedUpItem || _currentPickupItem == null) { diff --git a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs index deaf6c8bb..fc9e9d143 100644 --- a/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs +++ b/Assets/02.Scripts/Character/Player/Tycoon/TycoonPlayer.cs @@ -139,37 +139,6 @@ namespace BlueWater.Players.Tycoons EventManager.OnCocktailCompleted -= balloonUi.SetItemImage; EventManager.OnCocktailDiscarded -= balloonUi.DiscardItem; } - - // Wrapping - public void GetMoney(int money) => DataManager.Instance.GetMoney(money); - // public bool IsPickedUpItem() => TycoonPickupHandler.IsPickedUpItem(); - - // public void CarryItem(IPickup item) - // { - // TycoonCarryHandler.CarryItem(item); - // // if (!isUsingSprite) - // // { - // // FoodBalloonUi.SetFoodImage(GetCurrentItemData().Idx); - // // FoodBalloonUi.ShowUi(); - // // } - // } - - public void GiveItem() - { - TycoonPickupHandler.GiveItem(); - - var balloonUi = InteractionCanvas.BalloonUi; - balloonUi.HideUi(); - balloonUi.SetItemImage(null); - } - - // public void DiscardItem() - // { - // TycoonCarryHandler.DiscardItem(); - // BalloonUi.HideUi(); - // BalloonUi.SetItemImage(null); - // } - public IPickup GetCurrentItemData() => TycoonPickupHandler.GetCurrentPickupItem(); #endregion } diff --git a/Assets/02.Scripts/EventManager.cs b/Assets/02.Scripts/EventManager.cs index c930a617e..6f98899ea 100644 --- a/Assets/02.Scripts/EventManager.cs +++ b/Assets/02.Scripts/EventManager.cs @@ -1,4 +1,5 @@ using System; +using BlueWater.Interfaces; using BlueWater.Items; using UnityEngine; @@ -49,6 +50,8 @@ namespace BlueWater public static Action OnPlaceOnServingTable; public static Action OnTakeFromServingTable; + public static Action OnCocktailServedToCustomer; + // 요리 //public static Action OnFoodRecipeAcquired; diff --git a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs index 9b62a854f..c4c4c7bc6 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs @@ -25,7 +25,9 @@ namespace BlueWater.Tycoons [field: SerializeField] public int CurrentAmount { get; private set; } - private LiquidController _liquidController; + [field: SerializeField] + public bool IsActivated { get; private set; } + private Material _instanceMaterial; public event Action OnAmountChanged; @@ -39,20 +41,18 @@ namespace BlueWater.Tycoons protected override void Awake() { base.Awake(); - - _liquidController = FindAnyObjectByType(); + _instanceMaterial = Instantiate(_fill.material); _fill.material = _instanceMaterial; + _liquidData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(_idx); + SetCurrentAmount(0); } private void Start() { - _liquidData = ItemManager.Instance.LiquidDataSo.GetDataByIdx(_idx); - InteractionMessage = $"{_liquidData.Name} 따르기"; _liquidImage.sprite = _liquidData.Sprite; _instanceMaterial.SetColor(LiquidColorHash, _liquidData.Color * _colorIntensity); - SetCurrentAmount(_liquidData.GetMaxAmount()); } public override void Interaction() @@ -72,7 +72,7 @@ namespace BlueWater.Tycoons /// public override bool CanInteraction() { - return !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem() && CanConsume(1); + return IsActivated && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem() && CanConsume(1); } public bool CanConsume(int amount) @@ -103,7 +103,7 @@ namespace BlueWater.Tycoons public void SetCurrentAmount(int amount, bool isFromAction = false) { - if (CurrentAmount == amount || CurrentAmount == int.MaxValue) + if (CurrentAmount == int.MaxValue) { return; } @@ -117,5 +117,11 @@ namespace BlueWater.Tycoons OnAmountChanged?.Invoke(CurrentAmount); } } + + public void Activate() + { + IsActivated = true; + SetCurrentAmount(_liquidData.GetMaxAmount()); + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs index ea1075722..0433d9d60 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Cookware.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Cookware.cs @@ -118,10 +118,10 @@ namespace BlueWater.Tycoons { if (CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpItem()) { - var carriedItemData = CurrentTycoonPlayer.GetCurrentItemData(); + var carriedItemData = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); if (carriedItemData.Idx == FireWoodIdx) { - CurrentTycoonPlayer.GiveItem(); + CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(carriedItemData); _currentFireWoodCount++; } } diff --git a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs index 0053fde70..18426c983 100644 --- a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs @@ -1,5 +1,4 @@ using BlueWater.Interfaces; -using BlueWater.Uis; using UnityEngine; namespace BlueWater.Tycoons @@ -37,7 +36,7 @@ namespace BlueWater.Tycoons { EventManager.OnPlaceOnServingTable?.Invoke(); _currentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); - CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(); + CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(_currentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem(); InteractionCanvas.BalloonUi.SetItemImage(_currentPickupItem); _cocktailGlassImage.enabled = true; diff --git a/Assets/02.Scripts/Tycoon/TycoonIngredientController.cs b/Assets/02.Scripts/Tycoon/TycoonIngredientController.cs index d0729b7a3..cc25057d5 100644 --- a/Assets/02.Scripts/Tycoon/TycoonIngredientController.cs +++ b/Assets/02.Scripts/Tycoon/TycoonIngredientController.cs @@ -1,3 +1,6 @@ +using System.Collections.Generic; +using System.Linq; +using BlueWater.Items; using UnityEngine; namespace BlueWater.Tycoons @@ -24,5 +27,58 @@ namespace BlueWater.Tycoons [field: SerializeField] public Barrel GarnishBarrel2 { get; private set; } + + private List _barrels; + + private void Awake() + { + _barrels = new List + { + LiquidBarrelA, LiquidBarrelB, LiquidBarrelC, LiquidBarrelD, LiquidBarrelE, GarnishBarrel1, GarnishBarrel2 + }; + } + + /// + /// 주문 가능한 칵테일데이터 반환 + /// + public CocktailData GetRandomCocktailData() + { + var activeBarrels = _barrels.Where(barrel => barrel.IsActivated).ToList(); + var activeIngredientsIdx = activeBarrels.Select(barrel => barrel.GetLiquidData().Idx).ToList(); + var validCocktails = GetValidCocktails(activeIngredientsIdx); + + if (validCocktails == null || validCocktails.Count == 0) + { + Debug.LogWarning("유효한 칵테일 조합이 없습니다."); + return null; + } + + // 유효한 칵테일 중 랜덤으로 하나 선택 + var randomCocktail = validCocktails[Random.Range(0, validCocktails.Count)]; + + return randomCocktail; + } + + private List GetValidCocktails(List activeIngredientsIdx) + { + var allCocktails = ItemManager.Instance.CocktailDataSo.GetData(); + var validCocktails = new List(); + + foreach (var element in allCocktails.Values) + { + var requiredIngredients = element.GetValidIngredients().Select(ingredient => ingredient.Idx).ToList(); + + // 필요한 재료들이 모두 활성화된 재료 목록에 포함되어 있는지 확인 + if (requiredIngredients.All(activeIngredientsIdx.Contains)) + { + if (element.Idx != "Cocktail000") + { + validCocktails.Add(element); + } + } + } + + return validCocktails; + } } } diff --git a/Assets/02.Scripts/Tycoon/TycoonStatus.cs b/Assets/02.Scripts/Tycoon/TycoonStatus.cs index 6dc26eb77..98bb0026a 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStatus.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStatus.cs @@ -224,6 +224,8 @@ namespace BlueWater.Tycoons ingredientController.LiquidBarrelC.OnAmountChanged += UpdateLiquidC; ingredientController.LiquidBarrelD.OnAmountChanged += UpdateLiquidD; ingredientController.LiquidBarrelE.OnAmountChanged += UpdateLiquidE; + ingredientController.GarnishBarrel1.OnAmountChanged += UpdateGarnish1; + ingredientController.GarnishBarrel2.OnAmountChanged += UpdateGarnish2; } private void OnDestroy() @@ -237,6 +239,8 @@ namespace BlueWater.Tycoons ingredientController.LiquidBarrelC.OnAmountChanged -= UpdateLiquidC; ingredientController.LiquidBarrelD.OnAmountChanged -= UpdateLiquidD; ingredientController.LiquidBarrelE.OnAmountChanged -= UpdateLiquidE; + ingredientController.GarnishBarrel1.OnAmountChanged -= UpdateGarnish1; + ingredientController.GarnishBarrel2.OnAmountChanged -= UpdateGarnish2; } } @@ -245,6 +249,8 @@ namespace BlueWater.Tycoons private void UpdateLiquidC(int amount) => CurrentLiquidAmountC = amount; private void UpdateLiquidD(int amount) => CurrentLiquidAmountD = amount; private void UpdateLiquidE(int amount) => CurrentLiquidAmountE = amount; + private void UpdateGarnish1(int amount) => CurrentGarnishAmount1 = amount; + private void UpdateGarnish2(int amount) => CurrentGarnishAmount2 = amount; private void LevelUp() { @@ -255,24 +261,31 @@ namespace BlueWater.Tycoons { case "Upgrade0": tycoonManager.CustomerTableController.ShowCustomerTable(0); + tycoonManager.TycoonIngredientController.LiquidBarrelA.Activate(); break; case "Upgrade1": tycoonManager.CustomerTableController.ShowCustomerTable(1); + tycoonManager.TycoonIngredientController.LiquidBarrelB.Activate(); break; case "Upgrade2": tycoonManager.CustomerTableController.ShowCustomerTable(2); + tycoonManager.TycoonIngredientController.LiquidBarrelC.Activate(); break; case "Upgrade3": tycoonManager.CustomerTableController.ShowCustomerTable(3); + tycoonManager.TycoonIngredientController.LiquidBarrelD.Activate(); break; case "Upgrade4": tycoonManager.CustomerTableController.ShowCustomerTable(4); + tycoonManager.TycoonIngredientController.LiquidBarrelE.Activate(); break; case "Upgrade5": tycoonManager.CustomerTableController.ShowCustomerTable(5); + tycoonManager.TycoonIngredientController.GarnishBarrel1.Activate(); break; case "Upgrade6": tycoonManager.CustomerTableController.ShowCustomerTable(6); + tycoonManager.TycoonIngredientController.GarnishBarrel2.Activate(); break; } diff --git a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs index 0a8df6a66..ca2abd1d1 100644 --- a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs @@ -32,7 +32,7 @@ namespace BlueWater.Uis private Tween _tween; private TableSeat _tableSeat; - private ItemData _orderItemData; + private CocktailData _orderCocktailData; private bool _isUnfinishedCocktailPickedUp; private void Awake() @@ -123,11 +123,11 @@ namespace BlueWater.Uis public void OrderItem(string itemIdx, int waitTime, int hurryTime) { - _orderItemData = ItemManager.Instance.ItemDataSo.GetDataByIdx(itemIdx); + _orderCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(itemIdx); _isOrdered = true; _isWaitTimeOver = false; _isItemReceived = false; - SetItemImage(_orderItemData); + SetItemImage(_orderCocktailData); ShowUi(); _tween = _fillImage.DOFillAmount(1f, hurryTime) @@ -170,9 +170,8 @@ namespace BlueWater.Uis _tableSeat.VacateSeat(); } - public void ReceiveFood() + public void ReceiveFood(IPickup pickupItem) { - _tableSeat.DirtyTable(); _tween.Kill(); HideUi(); _isItemReceived = true; diff --git a/Assets/05.Prefabs/Characters/Npcs/Customer.prefab b/Assets/05.Prefabs/Characters/Npcs/Customer.prefab index cc132292f..a7145e0fa 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Customer.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Customer.prefab @@ -967,7 +967,7 @@ MonoBehaviour: radius: 0.25 height: 1 canMove: 1 - maxSpeed: 4 + maxSpeed: 2 gravity: {x: NaN, y: NaN, z: NaN} groundMask: serializedVersion: 2 @@ -1035,7 +1035,7 @@ MonoBehaviour: logTaskChanges: 0 group: 0 resetValuesOnRestart: 0 - externalBehavior: {fileID: 11400000, guid: c50cf2007f7d1f94387bc84bc9f7489a, type: 2} + externalBehavior: {fileID: 11400000, guid: b0bc839e3f6d6c543a7d5fe737a03747, type: 2} mBehaviorSource: behaviorName: Customer behaviorDescription: @@ -1044,7 +1044,7 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,30)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-301.5,250)"},"ID":1,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None"},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"PropertyMapping":"BlueWater.Npcs.Customers.Customer/HappyPoint","PropertyMappingOwner":1,"Int32mValue":0}]}' + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,30)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-301.5,250)"},"ID":1,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None"},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0}]}' fieldSerializationData: typeName: [] fieldNameHash: @@ -1052,7 +1052,6 @@ MonoBehaviour: dataPosition: unityObjects: - {fileID: 7260635347182713621} - - {fileID: 7260635347182713621} byteData: byteDataArray: Version: 1.7.9 @@ -1075,7 +1074,7 @@ MonoBehaviour: _replacementMaterial: {fileID: 2100000, guid: 288a49bf884b6fc4bbb57fe5d2f4da06, type: 2} _initialSkinName: 02 _isRandomSkin: 1 - _randomRange: {x: 1, y: 6} + _randomRange: {x: 0, y: 1} --- !u!114 &17978457728262906 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/11.BehaviorTree/Customer.asset b/Assets/11.BehaviorTree/Customer.asset index 1f8d43f00..d39b0f4df 100644 --- a/Assets/11.BehaviorTree/Customer.asset +++ b/Assets/11.BehaviorTree/Customer.asset @@ -20,40 +20,23 @@ MonoBehaviour: parentIndex: startIndex: variableStartIndex: - JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,0)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-2.878418,152.4463)","Comment":"\uc190\ub2d8\uc758 - \ud55c \uc2f8\uc774\ud074"},"ID":1,"Name":"Customer Cycle","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1400.06555,150)","Comment":"\uc790\ub9ac\ub97c + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,11.3636351)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-2.878418,152.4463)","Comment":"\uc190\ub2d8\uc758 + \ud55c \uc2f8\uc774\ud074"},"ID":1,"Name":"Customer Cycle","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-834.3037,150)","Comment":"\uc790\ub9ac\ub97c \ucc3e\ub294\ub2e4"},"ID":2,"Name":"Find Empty Table Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.FindTable","NodeData":{"Offset":"(-237.57135,147)","Comment":"\ube48\uc790\ub9ac\ub97c \ucc3e\uc744 \ub54c\uae4c\uc9c0 \ub300\uae30"},"ID":3,"Name":"Find Table","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.HasReachedDestination","NodeData":{"Offset":"(4.428632,152)","Comment":"\ub3c4\ucc29\ud560 \ub54c\uae4c\uc9c0 \ub300\uae30"},"ID":4,"Name":"Has Reached Destination","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.SetTableSeatPositionAndDirection","NodeData":{"Offset":"(250,150)","Comment":"\ud14c\uc774\ube14 \uc88c\uc11d\uc5d0 \uc704\uce58\ud558\uace0, \ud14c\uc774\ube14\uc744 \ubc14\ub77c\ubd04"},"ID":5,"Name":"Set - Table Seat Position And Direction","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-692.631531,150)","Comment":"\uc74c\ub8cc\ub97c - \uc8fc\ubb38\ud55c\ub2e4"},"ID":6,"Name":"Check Order Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(0,150)"},"ID":7,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-190,150)","Comment":"\uc74c\ub8cc - \uc8fc\ubb38 \uc5ec\ubd80 \ud655\uc778"},"ID":8,"Name":"Check Order Beverage - Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.CheckOrderBeverage","NodeData":{"Offset":"(-104.279724,147.200073)"},"ID":9,"Name":"Check - Order Beverage","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(120,150)"},"ID":10,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215.454575,152.272583)"},"ID":11,"Name":"Order - Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderBeverage","NodeData":{"Offset":"(-129.999969,154.545654)","Comment":"\uc74c\ub8cc\ub97c - \uc8fc\ubb38\ud55c\ub2e4"},"ID":12,"Name":"Order Beverage","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(3.122795,154.9408)"},"ID":13,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5}},{"Type":"BlueWater.BehaviorTrees.Actions.PlaySpineAnimation","NodeData":{"Offset":"(151.759155,154.9408)","Comment":"Idle - Loop"},"ID":14,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(286.363831,152.272583)"},"ID":15,"Name":"Order - Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150.783,148.581665)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 - == 0"},"ID":16,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-0.441589355,149.5423)","Comment":"\uc785\uad6c\ub85c + Table Seat Position And Direction","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(2.295784,154.433472)","Comment":"\uc74c\ub8cc\ub97c + \uc8fc\ubb38\ud55c\ub2e4"},"ID":6,"Name":"Check Order Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-3.85614014,149.803772)"},"ID":7,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215.454575,152.272583)"},"ID":8,"Name":"Order + Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderCocktail","NodeData":{"Offset":"(-56.47064,150)"},"ID":9,"Name":"Order + Cocktail","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.EatCocktail","NodeData":{"Offset":"(73.52937,150)"},"ID":10,"Name":"Eat + Cocktail","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(286.363831,152.272583)"},"ID":11,"Name":"Order + Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderFail","NodeData":{"Offset":"(-143.288757,151.373474)"},"ID":12,"Name":"Order + Fail","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-0.441589355,149.5423)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":13,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":14,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(742.794,147.214279)","Comment":"\ud1f4\uc7a5\ud55c\ub2e4"},"ID":15,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-145.702881,148.345764)"},"ID":16,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(2.761672,146.545288)","Comment":"\uc785\uad6c\ub85c \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":17,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":18,"Name":"Check - Out","Instant":true}]}]}]},{"Type":"BlueWater.BehaviorTrees.Actions.ReturnSuccess","NodeData":{"Offset":"(197.777771,150)","Comment":"\uc74c\ub8cc - \uc8fc\ubb38 \uc2a4\ud0b5"},"ID":19,"Name":"Return Success","Instant":true}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(10.1457214,150)","Comment":"\uc74c\uc2dd\uc744 - \uc8fc\ubb38\ud55c\ub2e4"},"ID":20,"Name":"Order Food Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(1.9050293,150.475769)"},"ID":21,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-219.999985,150)"},"ID":22,"Name":"Order - Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderFood","NodeData":{"Offset":"(-130,150)","Comment":"\uc74c\uc2dd\uc744 - \uc8fc\ubb38\ud55c\ub2e4"},"ID":23,"Name":"Order Food","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(1.52587891E-05,150)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":7},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":10}},{"Type":"BlueWater.BehaviorTrees.Actions.PlaySpineAnimation","NodeData":{"Offset":"(150,150)","Comment":"Idle - Loop"},"ID":25,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(290,150)"},"ID":26,"Name":"Order - Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150,150)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 - == 0"},"ID":27,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(0,150)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":28,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":29,"Name":"Check - Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(997.6648,150)","Comment":"\uacc4\uc0b0\ud55c\ub2e4"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(3.58458138,150.277832)"},"ID":31,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215,150.277832)"},"ID":32,"Name":"Pay - Money Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.PayMoney","NodeData":{"Offset":"(-5.000045,150)","Comment":"\ub3c8\uc744 - \uc9c0\ubd88\ud55c\ub2e4"},"ID":33,"Name":"Pay Money","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(295,150.277832)"},"ID":34,"Name":"Pay - Money Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-95.90906,150.277771)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":35,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(70,150)"},"ID":36,"Name":"Check - Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1599.93726,154.760559)","Comment":"\ud1f4\uc7a5\ud55c\ub2e4"},"ID":37,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-145.702881,148.345764)"},"ID":38,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(2.761672,146.545288)","Comment":"\uc785\uad6c\ub85c - \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":39,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":40,"Name":"Check - Out","Instant":true}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0}]}' + Out","Instant":true}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true}]}' fieldSerializationData: typeName: [] fieldNameHash: diff --git a/Assets/11.BehaviorTree/Customer.asset.meta b/Assets/11.BehaviorTree/Customer.asset.meta index 59bf5eaf5..f73a9eeb9 100644 --- a/Assets/11.BehaviorTree/Customer.asset.meta +++ b/Assets/11.BehaviorTree/Customer.asset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c50cf2007f7d1f94387bc84bc9f7489a +guid: b0bc839e3f6d6c543a7d5fe737a03747 NativeFormatImporter: externalObjects: {} mainObjectFileID: 11400000 diff --git a/Assets/11.BehaviorTree/Old.meta b/Assets/11.BehaviorTree/Old.meta new file mode 100644 index 000000000..b59694351 --- /dev/null +++ b/Assets/11.BehaviorTree/Old.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 956680f06b99c38478a9fdb8c99437eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/11.BehaviorTree/Old/Customer.asset b/Assets/11.BehaviorTree/Old/Customer.asset new file mode 100644 index 000000000..1f8d43f00 --- /dev/null +++ b/Assets/11.BehaviorTree/Old/Customer.asset @@ -0,0 +1,65 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b23f08d2ae4cba14087c1ed36193d82b, type: 3} + m_Name: Customer + m_EditorClassIdentifier: + mBehaviorSource: + behaviorName: Customer + behaviorDescription: + mTaskData: + types: [] + parentIndex: + startIndex: + variableStartIndex: + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,0)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-2.878418,152.4463)","Comment":"\uc190\ub2d8\uc758 + \ud55c \uc2f8\uc774\ud074"},"ID":1,"Name":"Customer Cycle","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-1400.06555,150)","Comment":"\uc790\ub9ac\ub97c + \ucc3e\ub294\ub2e4"},"ID":2,"Name":"Find Empty Table Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.FindTable","NodeData":{"Offset":"(-237.57135,147)","Comment":"\ube48\uc790\ub9ac\ub97c + \ucc3e\uc744 \ub54c\uae4c\uc9c0 \ub300\uae30"},"ID":3,"Name":"Find Table","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.HasReachedDestination","NodeData":{"Offset":"(4.428632,152)","Comment":"\ub3c4\ucc29\ud560 + \ub54c\uae4c\uc9c0 \ub300\uae30"},"ID":4,"Name":"Has Reached Destination","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.SetTableSeatPositionAndDirection","NodeData":{"Offset":"(250,150)","Comment":"\ud14c\uc774\ube14 + \uc88c\uc11d\uc5d0 \uc704\uce58\ud558\uace0, \ud14c\uc774\ube14\uc744 \ubc14\ub77c\ubd04"},"ID":5,"Name":"Set + Table Seat Position And Direction","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-692.631531,150)","Comment":"\uc74c\ub8cc\ub97c + \uc8fc\ubb38\ud55c\ub2e4"},"ID":6,"Name":"Check Order Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(0,150)"},"ID":7,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-190,150)","Comment":"\uc74c\ub8cc + \uc8fc\ubb38 \uc5ec\ubd80 \ud655\uc778"},"ID":8,"Name":"Check Order Beverage + Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.CheckOrderBeverage","NodeData":{"Offset":"(-104.279724,147.200073)"},"ID":9,"Name":"Check + Order Beverage","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(120,150)"},"ID":10,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215.454575,152.272583)"},"ID":11,"Name":"Order + Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderBeverage","NodeData":{"Offset":"(-129.999969,154.545654)","Comment":"\uc74c\ub8cc\ub97c + \uc8fc\ubb38\ud55c\ub2e4"},"ID":12,"Name":"Order Beverage","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(3.122795,154.9408)"},"ID":13,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":3},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5}},{"Type":"BlueWater.BehaviorTrees.Actions.PlaySpineAnimation","NodeData":{"Offset":"(151.759155,154.9408)","Comment":"Idle + Loop"},"ID":14,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(286.363831,152.272583)"},"ID":15,"Name":"Order + Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150.783,148.581665)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 + == 0"},"ID":16,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-0.441589355,149.5423)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":17,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":18,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BlueWater.BehaviorTrees.Actions.ReturnSuccess","NodeData":{"Offset":"(197.777771,150)","Comment":"\uc74c\ub8cc + \uc8fc\ubb38 \uc2a4\ud0b5"},"ID":19,"Name":"Return Success","Instant":true}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(10.1457214,150)","Comment":"\uc74c\uc2dd\uc744 + \uc8fc\ubb38\ud55c\ub2e4"},"ID":20,"Name":"Order Food Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(1.9050293,150.475769)"},"ID":21,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-219.999985,150)"},"ID":22,"Name":"Order + Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OrderFood","NodeData":{"Offset":"(-130,150)","Comment":"\uc74c\uc2dd\uc744 + \uc8fc\ubb38\ud55c\ub2e4"},"ID":23,"Name":"Order Food","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(1.52587891E-05,150)"},"ID":24,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":5},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":7},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":10}},{"Type":"BlueWater.BehaviorTrees.Actions.PlaySpineAnimation","NodeData":{"Offset":"(150,150)","Comment":"Idle + Loop"},"ID":25,"Name":"Play Spine Animation","Instant":true,"String_animationName":"Idle","Boolean_loop":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(290,150)"},"ID":26,"Name":"Order + Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Unity.SharedVariables.CompareSharedInt","NodeData":{"Offset":"(-150,150)","Comment":"\ud574\ud53c\ud3ec\uc778\ud2b8 + == 0"},"ID":27,"Name":"Compare Shared Int","Instant":true,"SharedIntvariable":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0},"SharedIntcompareTo":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(0,150)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":28,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":29,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(997.6648,150)","Comment":"\uacc4\uc0b0\ud55c\ub2e4"},"ID":30,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(3.58458138,150.277832)"},"ID":31,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-215,150.277832)"},"ID":32,"Name":"Pay + Money Success Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.PayMoney","NodeData":{"Offset":"(-5.000045,150)","Comment":"\ub3c8\uc744 + \uc9c0\ubd88\ud55c\ub2e4"},"ID":33,"Name":"Pay Money","Instant":true}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(295,150.277832)"},"ID":34,"Name":"Pay + Money Failure Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(-95.90906,150.277771)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":35,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(70,150)"},"ID":36,"Name":"Check + Out","Instant":true}]}]}]},{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(1599.93726,154.760559)","Comment":"\ud1f4\uc7a5\ud55c\ub2e4"},"ID":37,"Name":"Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(-145.702881,148.345764)"},"ID":38,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedBoolrandomWait":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"SharedFloatrandomWaitMin":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1},"SharedFloatrandomWaitMax":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":1}},{"Type":"BlueWater.BehaviorTrees.Actions.Move","NodeData":{"Offset":"(2.761672,146.545288)","Comment":"\uc785\uad6c\ub85c + \ub418\ub3cc\uc544\uac04\ub2e4"},"ID":39,"Name":"Move","Instant":true,"Booleank__BackingField":true,"SharedVector3k__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedVector3","Name":null,"Vector3mValue":"(3.5,0,-16.5)"},"SharedColliderk__BackingField":{"Type":"BehaviorDesigner.Runtime.SharedCollider","Name":null}},{"Type":"BlueWater.BehaviorTrees.Actions.CheckOut","NodeData":{"Offset":"(170,150)"},"ID":40,"Name":"Check + Out","Instant":true}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true},{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":"HappyPoint","IsShared":true,"Int32mValue":0}]}' + fieldSerializationData: + typeName: [] + fieldNameHash: + startIndex: + dataPosition: + unityObjects: [] + byteData: + byteDataArray: + Version: 1.7.9 diff --git a/Assets/11.BehaviorTree/Old/Customer.asset.meta b/Assets/11.BehaviorTree/Old/Customer.asset.meta new file mode 100644 index 000000000..59bf5eaf5 --- /dev/null +++ b/Assets/11.BehaviorTree/Old/Customer.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c50cf2007f7d1f94387bc84bc9f7489a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: