diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index d9c40dff6..0e84eab9a 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -2419,6 +2419,37 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &181975869 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 181975870} + m_Layer: 0 + m_Name: BartenderSpawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &181975870 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 181975869} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1360757596} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &186139407 GameObject: m_ObjectHideFlags: 0 @@ -4327,8 +4358,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7ab08469541b2aa45818fa36bbcb9cf7, type: 3} m_Name: m_EditorClassIdentifier: - _persistent: 0 - k__BackingField: {fileID: 11400000, guid: e6ce9d58057b580479880585947969d8, type: 2} _customerPrefab: {fileID: -2302002259734456648, guid: 23195e611c71ad44b8a1ccb2b6e0efe5, type: 3} _customerSpawnTransform: {fileID: 1038321203} _checkEmptySeatInterval: 0.5 @@ -5272,6 +5301,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 444009244} m_CullTransparentMesh: 1 +--- !u!1 &473619455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 473619456} + m_Layer: 0 + m_Name: ServerSpawn + m_TagString: Untagged + m_Icon: {fileID: -964228994112308473, guid: 0000000000000000d000000000000000, type: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &473619456 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 473619455} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -7} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1360757596} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &510358306 GameObject: m_ObjectHideFlags: 0 @@ -9288,12 +9348,12 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 887608711} serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -7} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1665075868} + m_Father: {fileID: 1360757596} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &891021167 GameObject: @@ -14334,6 +14394,40 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: bbb4e96b2ebafc246b85623c547a7d01, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1360757595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1360757596} + m_Layer: 0 + m_Name: Crews + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1360757596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1360757595} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 887608712} + - {fileID: 473619456} + - {fileID: 181975870} + m_Father: {fileID: 1665075868} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1370164786 GameObject: m_ObjectHideFlags: 0 @@ -18444,7 +18538,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 887608712} + - {fileID: 1360757596} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1665075869 @@ -18545,14 +18639,14 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _cleanerCrewPrefab: {fileID: 3226241112093390236, guid: fb1e288d64b813b4a9929ba9ece44956, type: 3} - _servingCrewPrefab: {fileID: 0} + _servingCrewPrefab: {fileID: 1745629821853633206, guid: b692f61d994a0b94cb92cf0f2d47cfb2, type: 3} _bartenderCrewPrefab: {fileID: 0} _cleanerCrewSpawnTransform: {fileID: 887608712} - _servingCrewSpawnTransform: {fileID: 0} - _bartenderCrewSpawnTransform: {fileID: 0} + _servingCrewSpawnTransform: {fileID: 473619456} + _bartenderCrewSpawnTransform: {fileID: 181975870} k__BackingField: [] k__BackingField: [] - k__BackingField: [] + k__BackingField: [] k__BackingField: [] --- !u!1 &1670140492 GameObject: diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/CompleteCleaning.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/CompleteCleaning.cs index ab569abb3..d5e1e70e7 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/CompleteCleaning.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/CompleteCleaning.cs @@ -3,19 +3,19 @@ using BlueWater.Npcs.Crews; namespace BlueWater.BehaviorTrees.Actions { - [TaskCategory("Custom/Npc/Crew/Cleaner")] - public class CompleteCleaning : Action + [TaskCategory("Custom/Npc/Crew")] + public class CompleteMission : Action { - private CleanerCrew _cleanerCrew; + private Crew _crew; public override void OnAwake() { - _cleanerCrew = GetComponent(); + _crew = GetComponent(); } public override TaskStatus OnUpdate() { - if (_cleanerCrew.CrewInteraction == null && _cleanerCrew.IsCleaningFloor == false && _cleanerCrew.IsCleaningTable == false) + if (_crew.CrewInteraction == null) { return TaskStatus.Success; } diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/MoveToRandomPositionInRange.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/MoveToRandomPositionInRange.cs index b9c451c57..df3b57b74 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/MoveToRandomPositionInRange.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Action/MoveToRandomPositionInRange.cs @@ -3,26 +3,26 @@ using BlueWater.Npcs.Crews; namespace BlueWater.BehaviorTrees.Actions { - [TaskCategory("Custom/Npc/Crew/Cleaner")] + [TaskCategory("Custom/Npc/Crew")] public class MoveToRandomPositionInRange : Action { - private CleanerCrew _cleanerCrew; + private Crew _crew; public override void OnAwake() { - _cleanerCrew = GetComponent(); + _crew = GetComponent(); } public override void OnStart() { - _cleanerCrew.AIMovement.MoveToRandomPositionInRange(10f); + _crew.AIMovement.MoveToRandomPositionInRange(10f); } public override TaskStatus OnUpdate() { - if (_cleanerCrew.AIMovement.HasReachedDestination()) + if (_crew.AIMovement.HasReachedDestination()) { - _cleanerCrew.AIMovement.StopMove(); + _crew.AIMovement.StopMove(); return TaskStatus.Success; } diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckCleaning.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckCleaning.cs deleted file mode 100644 index f68f27db9..000000000 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckCleaning.cs +++ /dev/null @@ -1,21 +0,0 @@ -using BehaviorDesigner.Runtime.Tasks; -using BlueWater.Npcs.Crews; - -namespace BlueWater.BehaviorTrees.Actions -{ - [TaskCategory("Custom/Npc/Crew/Cleaner")] - public class CheckCleaning : Conditional - { - private CleanerCrew _cleanerCrew; - - public override void OnAwake() - { - _cleanerCrew = GetComponent(); - } - - public override TaskStatus OnUpdate() - { - return _cleanerCrew.IsOnMission ? TaskStatus.Success : TaskStatus.Failure; - } - } -} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckOnMission.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckOnMission.cs new file mode 100644 index 000000000..aabda39cd --- /dev/null +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckOnMission.cs @@ -0,0 +1,21 @@ +using BehaviorDesigner.Runtime.Tasks; +using BlueWater.Npcs.Crews; + +namespace BlueWater.BehaviorTrees.Actions +{ + [TaskCategory("Custom/Npc/Crew")] + public class CheckOnMission : Conditional + { + private Crew _crew; + + public override void OnAwake() + { + _crew = GetComponent(); + } + + public override TaskStatus OnUpdate() + { + return _crew.IsOnMission ? TaskStatus.Success : TaskStatus.Failure; + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckCleaning.cs.meta b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckOnMission.cs.meta similarity index 100% rename from Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckCleaning.cs.meta rename to Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/CheckOnMission.cs.meta diff --git a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Cleaning.cs b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Cleaning.cs index aeea2cedf..27b2f8e9f 100644 --- a/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Cleaning.cs +++ b/Assets/02.Scripts/BehaviorTree/Npc/Crew/Conditional/Cleaning.cs @@ -3,43 +3,43 @@ using BlueWater.Npcs.Crews; namespace BlueWater.BehaviorTrees.Actions { - [TaskCategory("Custom/Npc/Crew/Cleaner")] - public class Cleaning : Conditional + [TaskCategory("Custom/Npc/Crew")] + public class OnMission : Conditional { - private CleanerCrew _cleanerCrew; + private Crew _crew; public override void OnAwake() { - _cleanerCrew = GetComponent(); + _crew = GetComponent(); } public override void OnStart() { - if (_cleanerCrew.CrewInteraction != null) + if (_crew.CrewInteraction != null) { - _cleanerCrew.AIMovement.Move(_cleanerCrew.CrewInteraction.CenterTransform.position); + _crew.AIMovement.Move(_crew.CrewInteraction.CenterTransform.position); } } public override TaskStatus OnUpdate() { - if (_cleanerCrew.CrewInteraction == null) + if (_crew.CrewInteraction == null) { - _cleanerCrew.AIMovement.StopMove(); - _cleanerCrew.ResetMission(); + _crew.AIMovement.StopMove(); + _crew.ResetMission(); return TaskStatus.Failure; } - if (!_cleanerCrew.CrewInteraction.CanInteractionCrew()) + if (!_crew.CrewInteraction.CanInteractionCrew()) { - _cleanerCrew.AIMovement.StopMove(); + _crew.AIMovement.StopMove(); return TaskStatus.Failure; } - if (!_cleanerCrew.CanInteractionPosition()) return TaskStatus.Running; + if (!_crew.CanInteractionPosition()) return TaskStatus.Running; - _cleanerCrew.AIMovement.StopMove(); - _cleanerCrew.CrewInteraction.InteractionCrew(_cleanerCrew); + _crew.AIMovement.StopMove(); + _crew.CrewInteraction.InteractionCrew(_crew); return TaskStatus.Success; } diff --git a/Assets/02.Scripts/Character/Npc/Crew/CleanerCrew.cs b/Assets/02.Scripts/Character/Npc/Crew/CleanerCrew.cs index 605345f00..d4a7afa48 100644 --- a/Assets/02.Scripts/Character/Npc/Crew/CleanerCrew.cs +++ b/Assets/02.Scripts/Character/Npc/Crew/CleanerCrew.cs @@ -5,35 +5,6 @@ namespace BlueWater.Npcs.Crews { public class CleanerCrew: Crew { - public void OnMission(ICrewInteraction crewInteraction) - { - CrewInteraction = crewInteraction; - CrewInteraction.OnInteractionCompleted += InteractionCompleted; - IsOnMission = true; - } - - public void ResetMission() - { - CrewInteraction = null; - IsOnMission = false; - IsCleaningFloor = false; - IsCleaningTable = false; - } - - public bool CanInteractionPosition() - { - if (CrewInteraction.CenterTransform == null) return false; - - return AIMovement.HasReachedDestination() || - Vector3.Distance(CrewInteraction.CenterTransform.position, transform.position) <= - CrewInteraction.InteractionRadius; - } - - private void InteractionCompleted() - { - CrewInteraction.OnInteractionCompleted -= InteractionCompleted; - - ResetMission(); - } + } } \ No newline at end of file diff --git a/Assets/02.Scripts/Character/Npc/Crew/Crew.cs b/Assets/02.Scripts/Character/Npc/Crew/Crew.cs index e19cc08c0..b53207e0e 100644 --- a/Assets/02.Scripts/Character/Npc/Crew/Crew.cs +++ b/Assets/02.Scripts/Character/Npc/Crew/Crew.cs @@ -197,6 +197,39 @@ namespace BlueWater.Npcs.Crews CurrentState = newState; CurrentState.EnterState(this); } + + public virtual void OnMission(ICrewInteraction crewInteraction) + { + CrewInteraction = crewInteraction; + CrewInteraction.OnInteractionCompleted += InteractionCompleted; + IsOnMission = true; + } + + public virtual void ResetMission() + { + CrewInteraction = null; + IsOnMission = false; + IsCleaningFloor = false; + IsCleaningTable = false; + IsServing = false; + IsMakingCocktail = false; + } + + public virtual bool CanInteractionPosition() + { + if (CrewInteraction.CenterTransform == null) return false; + + return AIMovement.HasReachedDestination() || + Vector3.Distance(CrewInteraction.CenterTransform.position, transform.position) <= + CrewInteraction.InteractionRadius; + } + + protected virtual void InteractionCompleted() + { + CrewInteraction.OnInteractionCompleted -= InteractionCompleted; + + ResetMission(); + } #endregion } diff --git a/Assets/02.Scripts/Character/Npc/Crew/ServingCrew.cs b/Assets/02.Scripts/Character/Npc/Crew/ServerCrew.cs similarity index 54% rename from Assets/02.Scripts/Character/Npc/Crew/ServingCrew.cs rename to Assets/02.Scripts/Character/Npc/Crew/ServerCrew.cs index 6d411e52f..0d37ecb5e 100644 --- a/Assets/02.Scripts/Character/Npc/Crew/ServingCrew.cs +++ b/Assets/02.Scripts/Character/Npc/Crew/ServerCrew.cs @@ -1,8 +1,9 @@ +using BlueWater.Interfaces; using UnityEngine; namespace BlueWater.Npcs.Crews { - public class ServingCrew: Crew + public class ServerCrew: Crew { } diff --git a/Assets/02.Scripts/Character/Npc/Crew/ServingCrew.cs.meta b/Assets/02.Scripts/Character/Npc/Crew/ServerCrew.cs.meta similarity index 100% rename from Assets/02.Scripts/Character/Npc/Crew/ServingCrew.cs.meta rename to Assets/02.Scripts/Character/Npc/Crew/ServerCrew.cs.meta diff --git a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs index 760c3507f..3ff5342ef 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs @@ -99,6 +99,9 @@ namespace BlueWater.Npcs.Customers [field: SerializeField] public CocktailData OrderedCocktailData { get; private set; } + [field: SerializeField] + public Bill CurrentBill { get; set; } + [field: SerializeField] public bool IsReceivedItem { get; set; } @@ -179,9 +182,7 @@ namespace BlueWater.Npcs.Customers private void OnDestroy() { - if (_isQuitting) return; - - CustomerManager.Instance.UnregisterCustomer(this); + EventManager.InvokeDestroyCustomer(this); } #endregion diff --git a/Assets/02.Scripts/EventManager.cs b/Assets/02.Scripts/EventManager.cs index 14b555ed9..b37aa2f8a 100644 --- a/Assets/02.Scripts/EventManager.cs +++ b/Assets/02.Scripts/EventManager.cs @@ -142,6 +142,12 @@ namespace BlueWater OnCreateCustomer?.Invoke(); } + public static Action OnDestroyCustomer; + public static void InvokeDestroyCustomer(Customer customer) + { + OnDestroyCustomer?.Invoke(customer); + } + // 손님이 칵테일 주문 이벤트 public static Action OnOrderedCocktail; public static void InvokeOrderedCocktail(Customer orderedCustomer) @@ -170,10 +176,10 @@ namespace BlueWater OnCreateCleanerCrew?.Invoke(); } - public static Func OnCreateServingCrew; - public static void InvokeCreateServingCrew() + public static Func OnCreateServerCrew; + public static void InvokeCreateServerCrew() { - OnCreateServingCrew?.Invoke(); + OnCreateServerCrew?.Invoke(); } public static Func OnCreateBartenderCrew; diff --git a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs index 862dd7314..634265a24 100644 --- a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs @@ -1,16 +1,36 @@ +using System; using BlueWater.Interfaces; +using BlueWater.Npcs.Crews; +using BlueWater.Utility; using UnityEngine; namespace BlueWater.Tycoons { - public class ServingTable : InteractionFurniture + public class ServingTable : InteractionFurniture, ICrewInteraction { [SerializeField] private SpriteRenderer _cocktailGlassImage; // 서빙 테이블 기준 아이템이 있는지 없는지 private IPickup _currentPickupItem; + public IPickup CurrentPickupItem + { + get => _currentPickupItem; + set + { + _currentPickupItem = value; + + if (_currentPickupItem != null) + { + var crewController = TycoonManager.Instance.CrewController; + Utils.StartUniqueCoroutine(this, ref _findServerCrewInstance, + crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.ServerCrews, crew => crew.OnMission(this))); + } + } + } + private Material _originalCocktailGlassMaterial; + private Coroutine _findServerCrewInstance; protected override void Awake() { @@ -22,23 +42,23 @@ namespace BlueWater.Tycoons public override void Interaction() { // 테이블의 칵테일을 가져가는 경우 - if (_currentPickupItem != null) + if (CurrentPickupItem != null) { EventManager.InvokeTakeFromServingTable(); - CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(_currentPickupItem); - CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(_currentPickupItem); + CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(CurrentPickupItem); + CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem); _cocktailGlassImage.enabled = false; InteractionCanvas.BalloonUi.DiscardItem(); - _currentPickupItem = null; + CurrentPickupItem = null; } // 테이블에 칵테일을 놓는 경우 else { EventManager.InvokePlaceOnServingTable(); - _currentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); - CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(_currentPickupItem); + CurrentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); + CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(CurrentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem(); - InteractionCanvas.BalloonUi.SetItemImage(_currentPickupItem); + InteractionCanvas.BalloonUi.SetItemImage(CurrentPickupItem); _cocktailGlassImage.enabled = true; } } @@ -47,13 +67,13 @@ namespace BlueWater.Tycoons { // 1. 테이블에 칵테일이 있고, 플레이어가 칵테일을 들고 있지 않은 경우 // 2. 테이블에 칵테일이 없고, 플레이어가 칵테일을 들고 있는 경우 (정상적인 칵테일만) - return (_currentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail())|| - (_currentPickupItem == null && CurrentTycoonPlayer.TycoonPickupHandler.IsServablePickupItem()); + return (CurrentPickupItem != null && !CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpCocktail())|| + (CurrentPickupItem == null && CurrentTycoonPlayer.TycoonPickupHandler.IsServablePickupItem()); } public override void ShowInteractionUi() { - InteractionMessage = _currentPickupItem != null ? "음료 들기" : "음료 내려놓기"; + InteractionMessage = CurrentPickupItem != null ? "음료 들기" : "음료 내려놓기"; base.ShowInteractionUi(); _cocktailGlassImage.material = OutlineMaterial; @@ -65,5 +85,22 @@ namespace BlueWater.Tycoons _cocktailGlassImage.material = _originalCocktailGlassMaterial; } + + public void InteractionCrew(Crew crew) + { + throw new NotImplementedException(); + } + + public void CancelInteractionCrew() + { + throw new NotImplementedException(); + } + + public bool CanInteractionCrew() + { + throw new NotImplementedException(); + } + + public event Action OnInteractionCompleted; } } \ No newline at end of file diff --git a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs index c98ba2c5b..a71af3324 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs @@ -97,38 +97,6 @@ namespace BlueWater.Tycoons Food.enabled = false; InteractionMessage = "치우기"; } - - private IEnumerator FindCleanerCrewCoroutine() - { - var waitTime = new WaitForSeconds(2f); - while (true) - { - var cleaners = TycoonManager.Instance.CrewController.CleanerCrews; - if (cleaners == null || cleaners.Count == 0) - { - yield return waitTime; - continue; - } - - var closestCleaners = cleaners.OrderBy(element => - Vector3.Distance(element.transform.position, transform.position)).ToList(); - var isFound = false; - - foreach (var element in closestCleaners.Where(element => !element.IsOnMission)) - { - element.OnMission(this); - isFound = true; - break; - } - - if (isFound) - { - break; - } - - yield return waitTime; - } - } public void SetTableNumber(int number) => TableNumber = number; @@ -179,7 +147,9 @@ namespace BlueWater.Tycoons InteractionCanvas.BalloonUi.OrderItem(_dirtyImage, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.DirtyTableWaitTime); IsCleaned = false; - Utils.StartUniqueCoroutine(this, ref _findCleanerCrewInstance, FindCleanerCrewCoroutine()); + var crewController = TycoonManager.Instance.CrewController; + Utils.StartUniqueCoroutine(this, ref _findCleanerCrewInstance, + crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.CleanerCrews, crew => crew.OnMission(this))); } public void InteractionCrew(Crew crew) diff --git a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs index a4df03eba..9a174e8b4 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs @@ -68,40 +68,9 @@ namespace BlueWater.Tycoons InteractionMessage = "치우기"; vomitingImage = VisualLook.GetComponent().sprite; InteractionCanvas.BalloonUi.OrderItem(vomitingImage, 0, TycoonManager.Instance.TycoonStageController.StageDataSo.VomitingWaitTime); - - Utils.StartUniqueCoroutine(this, ref _findCleanerCrewInstance, FindCleanerCrewCoroutine()); - } - - private IEnumerator FindCleanerCrewCoroutine() - { - var waitTime = new WaitForSeconds(2f); - while (true) - { - var cleaners = TycoonManager.Instance.CrewController.CleanerCrews; - if (cleaners == null || cleaners.Count == 0) - { - yield return waitTime; - continue; - } - - var closestCleaners = cleaners.OrderBy(element => - Vector3.Distance(element.transform.position, transform.position)).ToList(); - var isFound = false; - - foreach (var element in closestCleaners.Where(element => !element.IsOnMission)) - { - element.OnMission(this); - isFound = true; - break; - } - - if (isFound) - { - break; - } - - yield return waitTime; - } + var crewController = TycoonManager.Instance.CrewController; + Utils.StartUniqueCoroutine(this, ref _findCleanerCrewInstance, + crewController.FindClosestCrewCoroutine(CenterTransform.position, crewController.CleanerCrews, crew => crew.OnMission(this))); } public override void Interaction() diff --git a/Assets/02.Scripts/Tycoon/CrewController.cs b/Assets/02.Scripts/Tycoon/CrewController.cs index d0cd56318..ad769bcc7 100644 --- a/Assets/02.Scripts/Tycoon/CrewController.cs +++ b/Assets/02.Scripts/Tycoon/CrewController.cs @@ -1,4 +1,6 @@ +using System.Collections; using System.Collections.Generic; +using System.Linq; using BlueWater.Npcs.Crews; using BlueWater.Utility; using Sirenix.OdinInspector; @@ -13,7 +15,7 @@ namespace BlueWater.Tycoons private CleanerCrew _cleanerCrewPrefab; [SerializeField] - private ServingCrew _servingCrewPrefab; + private ServerCrew _servingCrewPrefab; [SerializeField] private BartenderCrew _bartenderCrewPrefab; @@ -36,7 +38,7 @@ namespace BlueWater.Tycoons public List CleanerCrews { get; private set; } [field: SerializeField] - public List ServingCrews { get; private set; } + public List ServerCrews { get; private set; } [field: SerializeField] public List BartenderCrews { get; private set; } @@ -44,14 +46,14 @@ namespace BlueWater.Tycoons private void Start() { EventManager.OnCreateCleanerCrew += CreateCleanerCrew; - EventManager.OnCreateServingCrew += CreateServingCrew; + EventManager.OnCreateServerCrew += CreateServerCrew; EventManager.OnCreateBartenderCrew += CreateBartenderCrew; } private void OnDestroy() { EventManager.OnCreateCleanerCrew -= CreateCleanerCrew; - EventManager.OnCreateServingCrew -= CreateServingCrew; + EventManager.OnCreateServerCrew -= CreateServerCrew; EventManager.OnCreateBartenderCrew -= CreateBartenderCrew; } @@ -65,10 +67,10 @@ namespace BlueWater.Tycoons return newCrew; } - public ServingCrew CreateServingCrew() + public ServerCrew CreateServerCrew() { var newCrew = Instantiate(_servingCrewPrefab, _servingCrewSpawnTransform.position, _servingCrewPrefab.transform.rotation); - Utils.RegisterList(ServingCrews, newCrew); + Utils.RegisterList(ServerCrews, newCrew); Utils.RegisterList(Crews, newCrew); newCrew.Initialize(); @@ -84,5 +86,33 @@ namespace BlueWater.Tycoons return newCrew; } + + public T FindClosestAvailableCrew(Vector3 position, List crews) where T : Crew + { + if (crews == null || crews.Count == 0) return null; + + var availableCrews = crews.Where(crew => !crew.IsOnMission).ToList(); + if (availableCrews.Count == 0) return null; + + return availableCrews + .OrderBy(crew => Vector3.Distance(crew.transform.position, position)) + .FirstOrDefault(); + } + + public IEnumerator FindClosestCrewCoroutine(Vector3 position, List crews, System.Action onCrewFoundEvent) where T : Crew + { + var waitTime = new WaitForSeconds(2f); + while (true) + { + var closestCrew = FindClosestAvailableCrew(position, crews); + if (closestCrew != null) + { + onCrewFoundEvent?.Invoke(closestCrew); + yield break; + } + + yield return waitTime; + } + } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/CustomerManager.cs b/Assets/02.Scripts/Tycoon/CustomerController.cs similarity index 87% rename from Assets/02.Scripts/Tycoon/CustomerManager.cs rename to Assets/02.Scripts/Tycoon/CustomerController.cs index 894301344..de1555901 100644 --- a/Assets/02.Scripts/Tycoon/CustomerManager.cs +++ b/Assets/02.Scripts/Tycoon/CustomerController.cs @@ -7,12 +7,9 @@ using UnityEngine; namespace BlueWater.Tycoons { - public class CustomerManager : Singleton + public class CustomerController : MonoBehaviour { [Title("손님 데이터")] - [field: SerializeField, Required] - public CustomerDataSo CustomerDataSo { get; private set; } - [SerializeField, Required] private Customer _customerPrefab; @@ -37,11 +34,13 @@ namespace BlueWater.Tycoons _customerTableController = TycoonManager.Instance.CustomerTableController; EventManager.OnCreateCustomer += TryFindEmptySeat; + EventManager.OnDestroyCustomer += UnregisterCustomer; } private void OnDestroy() { EventManager.OnCreateCustomer -= TryFindEmptySeat; + EventManager.OnDestroyCustomer -= UnregisterCustomer; } public Customer CreateCustomer() @@ -116,18 +115,12 @@ namespace BlueWater.Tycoons Utils.UnregisterList(InstanceCustomers, customer); } - public CustomerData GetRandomCustomerData() + public void CheckInstanceCustomerBills() { - var customerDataCount = CustomerDataSo.GetDataCount(); - if (customerDataCount == 0) + foreach (var element in InstanceCustomers) { - Debug.LogError($"{CustomerDataSo}의 값이 비어있습니다."); - return null; + } - - return CustomerDataSo.GetRandomValue(); } - - public List GetCurrentCustomers() => InstanceCustomers; } } \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/CustomerManager.cs.meta b/Assets/02.Scripts/Tycoon/CustomerController.cs.meta similarity index 100% rename from Assets/02.Scripts/Tycoon/CustomerManager.cs.meta rename to Assets/02.Scripts/Tycoon/CustomerController.cs.meta diff --git a/Assets/02.Scripts/Tycoon/ServingTableController.cs b/Assets/02.Scripts/Tycoon/ServingTableController.cs new file mode 100644 index 000000000..bc613b138 --- /dev/null +++ b/Assets/02.Scripts/Tycoon/ServingTableController.cs @@ -0,0 +1,20 @@ +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace BlueWater.Tycoons +{ + public class ServingTableController : MonoBehaviour + { + [SerializeField] + private Transform _servingTableRoot; + + [SerializeField] + private List _servingTables; + + private void Awake() + { + _servingTables = _servingTableRoot.GetComponentsInChildren().ToList(); + } + } +} \ No newline at end of file diff --git a/Assets/02.Scripts/Tycoon/ServingTableController.cs.meta b/Assets/02.Scripts/Tycoon/ServingTableController.cs.meta new file mode 100644 index 000000000..9eb345de5 --- /dev/null +++ b/Assets/02.Scripts/Tycoon/ServingTableController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 03e84488b3da65549a78d481636713a3 diff --git a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs index 8d25b9811..e174a4403 100644 --- a/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/BalloonUi.cs @@ -125,12 +125,7 @@ namespace BlueWater.Uis _isItemReceived = false; SetItemImage(_orderCocktailData); - _tween = _fillImage.DOFillAmount(1f, hurryTime) - .From(0f) - .SetEase(Ease.Linear) - .SetDelay(waitTime) - .OnComplete(OnTweenComplete) - .SetAutoKill(false); + SetTween(waitTime, hurryTime); } public void OrderItem(Sprite sprite, int waitTime, int hurryTime) @@ -140,7 +135,13 @@ namespace BlueWater.Uis _isItemReceived = false; SetItemSprite(sprite); ShowUi(); + + SetTween(waitTime, hurryTime); + } + public void SetTween(int waitTime, int hurryTime) + { + _tween?.Kill(); _tween = _fillImage.DOFillAmount(1f, hurryTime) .From(0f) .SetEase(Ease.Linear) diff --git a/Assets/02.Scripts/Ui/Tycoon/Bill.cs b/Assets/02.Scripts/Ui/Tycoon/Bill.cs index 29fcf892f..4053b2414 100644 --- a/Assets/02.Scripts/Ui/Tycoon/Bill.cs +++ b/Assets/02.Scripts/Ui/Tycoon/Bill.cs @@ -64,11 +64,17 @@ namespace BlueWater _stampImageObject.SetActive(false); _tableNumberText.text = customer.CurrentTableSeat.TableNumber.ToString(); _tableNumberImageObject.SetActive(true); - - _sliderTween = _slider.DOValue(0f, customer.CurrentLevelData.HurryTime) + + SetTween(customer.CurrentLevelData.WaitTime, customer.CurrentLevelData.HurryTime); + } + + public void SetTween(int waitTime, int hurryTime) + { + _sliderTween?.Kill(); + _sliderTween = _slider.DOValue(0f, hurryTime) .From(1f) .SetEase(Ease.Linear) - .SetDelay(customer.CurrentLevelData.WaitTime) + .SetDelay(waitTime) .SetAutoKill(true); } diff --git a/Assets/02.Scripts/Ui/Tycoon/BillUi.cs b/Assets/02.Scripts/Ui/Tycoon/BillUi.cs index 5aa8ef052..ac8b61a3b 100644 --- a/Assets/02.Scripts/Ui/Tycoon/BillUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/BillUi.cs @@ -1,11 +1,13 @@ using System.Collections; using System.Collections.Generic; +using System.Linq; using BlueWater.Npcs.Customers; using Sirenix.OdinInspector; using Spine.Unity; using UnityEngine; +using UnityEngine.Rendering; -namespace BlueWater +namespace BlueWater.Uis { public class BillUi : MonoBehaviour { @@ -24,8 +26,9 @@ namespace BlueWater [SerializeField] private List _billInfos = new(5); - - private Dictionary _customerBillDictionary = new(); + + private ObservableList> _customerBills = new(); + private bool _isMovedChain; private bool _isActivating; @@ -33,12 +36,16 @@ namespace BlueWater private void Start() { + _customerBills.ItemAdded += UpdateBillInfo; + _customerBills.ItemRemoved += UpdateBillInfo; EventManager.OnOrderedCocktail += OrderedCocktail; EventManager.OnOrderResult += OrderResult; } private void OnDestroy() { + _customerBills.ItemAdded -= UpdateBillInfo; + _customerBills.ItemRemoved -= UpdateBillInfo; EventManager.OnOrderedCocktail -= OrderedCocktail; EventManager.OnOrderResult -= OrderResult; } @@ -47,33 +54,29 @@ namespace BlueWater { var instance = Instantiate(_billPrefab, _spawnLocation); instance.Initialize(customer, _spawnPosition, _billInfos[0].Position); - _customerBillDictionary.Add(customer, instance); - UpdateBillInfo(); + customer.CurrentBill = instance; + var newKeyValuePair = new KeyValuePair(customer, instance); + _customerBills.Add(newKeyValuePair); } private void OrderResult(Customer customer, bool isSucceed) { - if (_customerBillDictionary.TryGetValue(customer, out var bill)) - { - bill.OrderResult(isSucceed, UpdateBillInfo); - _customerBillDictionary.Remove(customer); - - UpdateBillInfo(); // Bill이 제거된 후 빈 자리를 업데이트 - } + var keyValue = _customerBills.FirstOrDefault((element) => element.Key == customer); + keyValue.Value.OrderResult(isSucceed, () => _customerBills.Remove(keyValue)); } - private void UpdateBillInfo() + private void UpdateBillInfo(ObservableList> sender, ListChangedEventArgs> e) { - foreach (var element in _customerBillDictionary.Values) + foreach (var element in sender) { for (var i = 0; i < _billInfos.Count; i++) { - if (element.CurrentBillInfo == _billInfos[i]) break; + if (element.Value.CurrentBillInfo == _billInfos[i]) break; if (_billInfos[i].IsEmpty) { PlayChainAnimation(); - element.Move(_billInfos[i]); + element.Value.Move(_billInfos[i]); break; } } diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonSelectCard.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonSelectCard.cs index b1415267d..08e6a7f08 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonSelectCard.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonSelectCard.cs @@ -175,7 +175,7 @@ namespace BlueWater.Uis TycoonManager.Instance.TycoonStatus.CurrentGarnishAmount2 += 4000;break; case "AddAllLiquid": TycoonManager.Instance.TycoonIngredientController.AllAddBarrels(1000); break; - case "ServerNpc": EventManager.InvokeCreateServingCrew(); break; + case "ServerNpc": EventManager.InvokeCreateServerCrew(); break; case "CleanerNpc": EventManager.InvokeCreateCleanerCrew(); break; case "ChefNpc": EventManager.InvokeCreateBartenderCrew(); break; case "SpeedUp": diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab index 0a8129ecd..5c2b0b27c 100644 --- a/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/CleanerCrew.prefab @@ -728,7 +728,7 @@ MonoBehaviour: resetValuesOnRestart: 0 externalBehavior: {fileID: 11400000, guid: b46524e0380db8a4caaa3000e32b5e04, type: 2} mBehaviorSource: - behaviorName: Cleaner + behaviorName: CleanerCrew behaviorDescription: mTaskData: types: [] diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab new file mode 100644 index 000000000..05c8acb1d --- /dev/null +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab @@ -0,0 +1,1140 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &126151493473085455 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126151493484984327} + - component: {fileID: 126151493484747657} + - component: {fileID: 126151493483491779} + m_Layer: 5 + m_Name: Main Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &126151493484984327 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473085455} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 126151493484884023} + m_Father: {fileID: 7293985954889289183} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 2.2, y: 12.9} + m_SizeDelta: {x: 120, y: 140} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &126151493484747657 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473085455} + m_CullTransparentMesh: 0 +--- !u!114 &126151493483491779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473085455} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &126151493473201319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126151493484884023} + - component: {fileID: 126151493484754027} + - component: {fileID: 126151493483402833} + - component: {fileID: 126151493485040859} + - component: {fileID: 126151493480433323} + m_Layer: 5 + m_Name: Bubble Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &126151493484884023 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473201319} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3571829164687521184} + m_Father: {fileID: 126151493484984327} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0} +--- !u!222 &126151493484754027 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473201319} + m_CullTransparentMesh: 0 +--- !u!114 &126151493483402833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473201319} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: b7f09c3867e11ae4cb69aeb93463acd6, type: 3} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!225 &126151493485040859 +CanvasGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473201319} + m_Enabled: 1 + m_Alpha: 0 + m_Interactable: 1 + m_BlocksRaycasts: 1 + m_IgnoreParentGroups: 0 +--- !u!95 &126151493480433323 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126151493473201319} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 62b8011547f389344ba48f87b2ada51c, type: 2} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &813964778509222274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3748026497419659573} + - component: {fileID: 479823629690914954} + - component: {fileID: 2588384133887034894} + - component: {fileID: 2961986041977982893} + m_Layer: 14 + m_Name: VisualLook + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3748026497419659573 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + serializedVersion: 2 + m_LocalRotation: {x: 0.3420201, y: 0, z: 0, w: 0.9396927} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2397117528733804567} + m_LocalEulerAnglesHint: {x: 40, y: 0, z: 0} +--- !u!33 &479823629690914954 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Mesh: {fileID: 0} +--- !u!23 &2588384133887034894 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: cc610b9acc31ccb41befa5093f0db428, type: 2} + - {fileID: 2100000, guid: 4b69878329f04c541838d4c090ad9978, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 5 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &2961986041977982893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813964778509222274} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d247ba06193faa74d9335f5481b2b56c, type: 3} + m_Name: + m_EditorClassIdentifier: + skeletonDataAsset: {fileID: 11400000, guid: d96ab46e9aca1d142b153e02ea521a2a, type: 2} + initialSkinName: 01Maid + fixPrefabOverrideViaMeshFilter: 2 + initialFlipX: 0 + initialFlipY: 0 + updateWhenInvisible: 3 + separatorSlotNames: [] + zSpacing: 0 + useClipping: 1 + immutableTriangles: 0 + pmaVertexColors: 1 + clearStateOnDisable: 0 + tintBlack: 0 + singleSubmesh: 0 + fixDrawOrder: 0 + addNormals: 0 + calculateTangents: 0 + maskInteraction: 0 + maskMaterials: + materialsMaskDisabled: [] + materialsInsideMask: [] + materialsOutsideMask: [] + disableRenderingOnOverride: 1 + physicsPositionInheritanceFactor: {x: 1, y: 1} + physicsRotationInheritanceFactor: 1 + physicsMovementRelativeTo: {fileID: 0} + updateTiming: 1 + unscaledTime: 0 + _animationName: Idle + loop: 1 + timeScale: 1 +--- !u!1 &2781393898199067900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7164452667333806733} + - component: {fileID: 2294203980036400646} + - component: {fileID: 3455991743305696554} + - component: {fileID: 8501950329115254991} + - component: {fileID: 8922295334492411225} + m_Layer: 14 + m_Name: DialogueSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7164452667333806733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2781393898199067900} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2397117528733804567} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2294203980036400646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2781393898199067900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 274b80ab5b659c646ba9338870d14625, type: 3} + m_Name: + m_EditorClassIdentifier: + m_overrideName: + m_overrideUseMessage: + maxUseDistance: 5 + events: + onSelect: + m_PersistentCalls: + m_Calls: [] + onDeselect: + m_PersistentCalls: + m_Calls: [] + onUse: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &3455991743305696554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2781393898199067900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c593457cd8105e148906690e1707c592, type: 3} + m_Name: + m_EditorClassIdentifier: + trigger: 8192 + condition: + luaConditions: [] + questConditions: [] + acceptedTags: [] + acceptedGameObjects: [] + luaWizardIndex: -1 + lastEvaluationValue: 0 + setQuestState: 1 + questName: + questState: 0 + setQuestEntryState: 0 + questEntryNumber: 1 + questEntryState: 0 + setAnotherQuestEntryState: 0 + anotherQuestEntryNumber: 1 + anotherQuestEntryState: 0 + luaCode: + sequence: + sequenceSpeaker: {fileID: 0} + sequenceListener: {fileID: 0} + waitOneFrameOnStartOrEnable: 1 + alertMessage: + textTable: {fileID: 0} + alertDuration: 0 + sendMessages: [] + barkSource: 0 + barkConversation: + barkEntryID: -1 + barkEntryTitle: + barkText: + barkTextSequence: + barker: {fileID: 0} + barkTarget: {fileID: 0} + barkOrder: 0 + allowBarksDuringConversations: 0 + skipBarkIfNoValidEntries: 0 + cacheBarkLines: 0 + conversation: + conversationConversant: {fileID: 0} + conversationActor: {fileID: 0} + startConversationEntryID: -1 + startConversationEntryTitle: + overrideDialogueUI: {fileID: 0} + exclusive: 0 + replace: 0 + queue: 0 + skipIfNoValidEntries: 0 + preventRestartOnSameFrameEnded: 0 + stopConversationOnTriggerExit: 0 + marginToAllowTriggerExit: 0.2 + stopConversationIfTooFar: 0 + maxConversationDistance: 5 + monitorConversationDistanceFrequency: 1 + showCursorDuringConversation: 0 + pauseGameDuringConversation: 0 + setActiveActions: [] + setEnabledActions: [] + setAnimatorStateActions: [] + onExecute: + m_PersistentCalls: + m_Calls: [] + useConversationTitlePicker: 1 + useBarkTitlePicker: 1 + useQuestNamePicker: 1 + selectedDatabase: {fileID: 11400000, guid: bde86f268240d1041a808e449d9cac43, type: 2} +--- !u!114 &8501950329115254991 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2781393898199067900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a64578247383140469c45370654a984a, type: 3} + m_Name: + m_EditorClassIdentifier: + actor: Customer + persistentDataName: + portrait: {fileID: 0} + spritePortrait: {fileID: 0} + barkUISettings: + barkUI: {fileID: 9027939020919762395} + barkUIOffset: {x: 0, y: 0, z: 0} + standardDialogueUISettings: + subtitlePanelNumber: 0 + customSubtitlePanel: {fileID: 0} + customSubtitlePanelOffset: {x: 0, y: 0, z: 0} + menuPanelNumber: 0 + customMenuPanel: {fileID: 0} + customMenuPanelOffset: {x: 0, y: 0, z: 0} + useMenuPanelFor: 0 + portraitAnimatorController: {fileID: 0} + setSubtitleColor: 0 + applyColorToPrependedName: 0 + prependActorNameSeparator: ': ' + prependActorNameFormat: '{0}{1}' + subtitleColor: {r: 1, g: 1, b: 1, a: 1} +--- !u!114 &8922295334492411225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2781393898199067900} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66fdf8d5019aaec4bab62570407b9cd1, type: 3} + m_Name: + m_EditorClassIdentifier: + once: 0 + conversation: OrderFood + condition: + luaConditions: [] + questConditions: [] + acceptedTags: [] + acceptedGameObjects: [] + luaWizardIndex: -1 + lastEvaluationValue: 0 + skipIfNoValidEntries: 0 + exclusive: 0 + conversant: {fileID: 0} + useConversationTitlePicker: 1 + selectedDatabase: {fileID: 0} + barkOrder: 0 + allowDuringConversations: 0 + cacheBarkLines: 0 + target: {fileID: 0} + trigger: 32 +--- !u!1 &7260635347182713621 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2397117528733804567} + - component: {fileID: 5913499722605887790} + - component: {fileID: 3035760932289101816} + - component: {fileID: 944025264553094021} + - component: {fileID: 6606567362296327409} + - component: {fileID: 957405049979454141} + - component: {fileID: 2615952973387112450} + - component: {fileID: 5279376384905517670} + - component: {fileID: 17978457728262906} + - component: {fileID: 1745629821853633206} + m_Layer: 14 + m_Name: ServerCrew + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2397117528733804567 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 + m_Children: + - {fileID: 3748026497419659573} + - {fileID: 7164452667333806733} + - {fileID: 7293985954889289183} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!54 &5913499722605887790 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!136 &3035760932289101816 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.1 + m_Height: 0.5 + m_Direction: 1 + m_Center: {x: 0, y: 0.25, z: 0} +--- !u!114 &944025264553094021 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 373b52eb9bf8c40f785bb6947a1aee66, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + drawGizmos: 1 + detailedGizmos: 0 + startEndModifier: + addPoints: 0 + exactStartPoint: 3 + exactEndPoint: 3 + useRaycasting: 0 + mask: + serializedVersion: 2 + m_Bits: 4294967295 + useGraphRaycasting: 0 + traversableTags: -1 + tagPenalties: 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + graphMask: + value: 1 +--- !u!114 &6606567362296327409 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f6eb1402c17e84a9282a7f0f62eb584f, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + radius: 0.1 + height: 0.5 + canMove: 1 + maxSpeed: 2 + gravity: {x: NaN, y: NaN, z: NaN} + groundMask: + serializedVersion: 2 + m_Bits: 4294967295 + endReachedDistance: 0.5 + whenCloseToDestination: 0 + rvoDensityBehavior: + enabled: 1 + densityThreshold: 0.5 + returnAfterBeingPushedAway: 0 + progressAverage: 0 + lastJobDensityResult: 0 + centerOffsetCompatibility: NaN + repathRateCompatibility: NaN + canSearchCompability: 0 + orientation: 0 + enableRotation: 0 + autoRepath: + mode: 2 + period: 0.5 + sensitivity: 10 + maximumPeriod: 2 + visualizeSensitivity: 0 + targetCompatibility: {fileID: 0} + maxAcceleration: -2.5 + rotationSpeed: 360 + slowdownDistance: 1 + pickNextWaypointDist: 0.2 + alwaysDrawGizmos: 0 + slowWhenNotFacingTarget: 1 + preventMovingBackwards: 0 + constrainInsideGraph: 0 +--- !u!114 &957405049979454141 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 77f586f285b3847808d79083bd19ef1f, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 1073741824 + quality: 0 + splitAtEveryPortal: 0 + accountForGridPenalties: 0 +--- !u!114 &2615952973387112450 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8d7b55c7ecdb49a4a89fa5e6f9022861, type: 3} + m_Name: + m_EditorClassIdentifier: + startWhenEnabled: 0 + asynchronousLoad: 0 + pauseWhenDisabled: 0 + restartWhenComplete: 0 + logTaskChanges: 0 + group: 0 + resetValuesOnRestart: 0 + externalBehavior: {fileID: 11400000, guid: 7528ceb2f7ed9cc4896ce2c45aa65338, type: 2} + mBehaviorSource: + behaviorName: ServerCrew + behaviorDescription: + mTaskData: + types: [] + parentIndex: + startIndex: + variableStartIndex: + JSONSerialization: '{"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true,"GameObjectmValue":0}]}' + fieldSerializationData: + typeName: [] + fieldNameHash: + startIndex: + dataPosition: + unityObjects: + - {fileID: 7260635347182713621} + byteData: + byteDataArray: + Version: 1.7.9 + gizmoViewMode: 2 + showBehaviorDesignerGizmo: 1 +--- !u!114 &5279376384905517670 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: be4f815e5e3c0d5459559bdc0b8bbbfb, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: {fileID: 2961986041977982893} + _originalMaterial: {fileID: 2100000, guid: eaf5a1e524cd8ae439ec7b6036090474, type: 2} + _replacementMaterial: {fileID: 2100000, guid: 288a49bf884b6fc4bbb57fe5d2f4da06, type: 2} + _initialSkinName: 01Maid + _isRandomSkin: 1 + _isRandomRange: 0 + _randomRange: {x: 0, y: 1} + _randomStrings: + - 01Maid + - 02Maid + - 03Maid +--- !u!114 &17978457728262906 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75b48aa4b99043cb9e665a892ec46c75, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1745629821853633206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7260635347182713621} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 005338f1228de6148ac3211b067122cb, type: 3} + m_Name: + m_EditorClassIdentifier: + k__BackingField: {fileID: 2397117528733804567} + k__BackingField: {fileID: 5913499722605887790} + k__BackingField: {fileID: 3035760932289101816} + k__BackingField: {fileID: 2615952973387112450} + k__BackingField: {fileID: 3748026497419659573} + k__BackingField: {fileID: 2588384133887034894} + k__BackingField: {fileID: 8922295334492411225} + k__BackingField: {fileID: 5339802213853544233} + k__BackingField: {fileID: 1469338590548789471} + k__BackingField: {fileID: 5279376384905517670} + k__BackingField: {fileID: 17978457728262906} +--- !u!1 &7812544424410854405 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3571829164687521184} + - component: {fileID: 6778029842967471712} + - component: {fileID: 4017910736750065323} + - component: {fileID: 5622065931100864621} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3571829164687521184 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7812544424410854405} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 126151493484884023} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6778029842967471712 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7812544424410854405} + m_CullTransparentMesh: 1 +--- !u!114 &4017910736750065323 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7812544424410854405} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uBB50\uAC00 \uC88B\uC744\uAE4C.." + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: dabfdeb80b25d44b4ace56414d0eb4ad, type: 2} + m_sharedMaterial: {fileID: 2100000, guid: 0e5360dce269ccc42b822a424d66fbd4, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!210 &5622065931100864621 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7812544424410854405} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 6 + m_SortAtRoot: 0 +--- !u!1001 &2718897986636601543 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2397117528733804567} + m_Modifications: + - target: {fileID: 179937079751348093, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: a327d1fc80d90bd438cfcd1ad2b219c7, type: 3} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Color.b + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Color.g + value: 0.026785713 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Color.r + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_FillAmount + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_FillMethod + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 627252455323728319, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_FillOrigin + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2971245722111912602, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: b93d1d9adc811a74fb4192ade70fd3cc, type: 3} + - target: {fileID: 3619548578334970641, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3619548578334970641, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_AnchoredPosition.y + value: 1.4 + objectReference: {fileID: 0} + - target: {fileID: 4119792729305172665, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5611097802189151736, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_Name + value: InteractionCanvas + objectReference: {fileID: 0} + - target: {fileID: 5611097802189151736, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalScale.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalScale.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_AnchoredPosition.x + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 5695967080072346038, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + propertyPath: m_AnchoredPosition.y + value: 33.3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + insertIndex: -1 + addedObject: {fileID: 126151493484984327} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 5611097802189151736, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + insertIndex: -1 + addedObject: {fileID: 9027939020919762395} + m_SourcePrefab: {fileID: 100100000, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} +--- !u!114 &1469338590548789471 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3593684458396504088, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + m_PrefabInstance: {fileID: 2718897986636601543} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4132c767aaeea7f43b8b894bde7b7351, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &5339802213853544233 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 8043919875794167790, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + m_PrefabInstance: {fileID: 2718897986636601543} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7522674838449308991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9ebe6250da0dfa044937230037499988, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &7293985954889289183 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 4648285208244819224, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + m_PrefabInstance: {fileID: 2718897986636601543} + m_PrefabAsset: {fileID: 0} +--- !u!1 &7522674838449308991 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5611097802189151736, guid: a6a0d1675321b7a43b4132ca15cf7ca0, type: 3} + m_PrefabInstance: {fileID: 2718897986636601543} + m_PrefabAsset: {fileID: 0} +--- !u!114 &9027939020919762395 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7522674838449308991} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 35b689d0205d778479b0dac3b159c3b4, type: 3} + m_Name: + m_EditorClassIdentifier: + canvasGroup: {fileID: 126151493485040859} + barkText: + m_uiText: {fileID: 0} + m_textMeshProUGUI: {fileID: 4017910736750065323} + nameText: + m_uiText: {fileID: 0} + m_textMeshProUGUI: {fileID: 0} + includeName: 0 + portraitImage: {fileID: 0} + showPortraitImage: 0 + doneTime: 0 + animationTransitions: + showTrigger: Show + hideTrigger: Hide + duration: 3 + keepInView: 0 + waitUntilSequenceEnds: 0 + cancelWaitUntilSequenceEndsIfReplacingBark: 0 + waitForContinueButton: 0 + textDisplaySetting: 0 diff --git a/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab.meta b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab.meta new file mode 100644 index 000000000..154e29099 --- /dev/null +++ b/Assets/05.Prefabs/Characters/Npcs/Crews/ServerCrew.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b692f61d994a0b94cb92cf0f2d47cfb2 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab b/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab index ee61c1cb7..d45e72422 100644 --- a/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab +++ b/Assets/05.Prefabs/Maps/Tycoon/TycoonMap.prefab @@ -176,6 +176,42 @@ Transform: m_Children: [] m_Father: {fileID: 3249711671270954515} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1304425945750998618 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5776045902233640550} + m_Layer: 0 + m_Name: BartenderTables + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5776045902233640550 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1304425945750998618} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5701996018619210215} + - {fileID: 790144698020171886} + - {fileID: 5559400221697507446} + - {fileID: 5881185964479335323} + - {fileID: 7251359079948161700} + m_Father: {fileID: 1402113424960589398} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1374224201695919457 GameObject: m_ObjectHideFlags: 0 @@ -1444,11 +1480,6 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 5701996018619210215} - - {fileID: 790144698020171886} - - {fileID: 5559400221697507446} - - {fileID: 5881185964479335323} - - {fileID: 7251359079948161700} - {fileID: 2754206603907726668} - {fileID: 3647761711574370734} - {fileID: 251860307607057383} @@ -1724,6 +1755,7 @@ Transform: - {fileID: 4798925548635759970} - {fileID: 3032369304281183765} - {fileID: 1031605920973182729} + - {fileID: 5776045902233640550} m_Father: {fileID: 4449232531499695111} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &8697754653569273504 @@ -2018,7 +2050,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 4798925548635759970} + m_TransformParent: {fileID: 5776045902233640550} m_Modifications: - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalPosition.x @@ -2038,15 +2070,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -4326,7 +4358,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 4798925548635759970} + m_TransformParent: {fileID: 5776045902233640550} m_Modifications: - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalPosition.x @@ -4346,15 +4378,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -4454,7 +4486,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 4798925548635759970} + m_TransformParent: {fileID: 5776045902233640550} m_Modifications: - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalPosition.x @@ -4474,15 +4506,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -5534,7 +5566,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 4798925548635759970} + m_TransformParent: {fileID: 5776045902233640550} m_Modifications: - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalPosition.x @@ -5554,15 +5586,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -6338,7 +6370,7 @@ PrefabInstance: serializedVersion: 2 m_Modification: serializedVersion: 3 - m_TransformParent: {fileID: 4798925548635759970} + m_TransformParent: {fileID: 5776045902233640550} m_Modifications: - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalPosition.x @@ -6358,15 +6390,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - target: {fileID: 809828747251277026, guid: a46735af9ffe7684fb0f19bc9b351e30, type: 3} propertyPath: m_LocalEulerAnglesHint.x diff --git a/Assets/11.BehaviorTree/Cleaner.asset b/Assets/11.BehaviorTree/CleanerCrew.asset similarity index 60% rename from Assets/11.BehaviorTree/Cleaner.asset rename to Assets/11.BehaviorTree/CleanerCrew.asset index fd0e13014..c7cd742b1 100644 --- a/Assets/11.BehaviorTree/Cleaner.asset +++ b/Assets/11.BehaviorTree/CleanerCrew.asset @@ -10,7 +10,7 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b23f08d2ae4cba14087c1ed36193d82b, type: 3} - m_Name: Cleaner + m_Name: CleanerCrew m_EditorClassIdentifier: mBehaviorSource: behaviorName: Customer @@ -22,10 +22,11 @@ MonoBehaviour: variableStartIndex: JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,11.3636351)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(-2.36053467,152.585861)"},"ID":1,"Name":"Repeater","Instant":true,"SharedIntcount":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedBoolrepeatForever":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedBoolendOnFailure":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(0,120)"},"ID":2,"Name":"Cleaner Cycle","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-2.54729939,179.727264)"},"ID":3,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-225.263184,152.083344)"},"ID":4,"Name":"Succes - Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.CheckCleaning","NodeData":{"Offset":"(-120,150)"},"ID":5,"Name":"Check - Cleaning","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(140.876663,145.4505)"},"ID":6,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-105,147.5)"},"ID":7,"Name":"Succes - Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.Cleaning","NodeData":{"Offset":"(-140,150)"},"ID":8,"Name":"Cleaning","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.CompleteCleaning","NodeData":{"Offset":"(2.49850464,149.907471)"},"ID":9,"Name":"Complete - Cleaning","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(162.857178,152.857422)"},"ID":10,"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":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(150,145.2378)"},"ID":11,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(289.942871,151.213776)"},"ID":12,"Name":"Fail + Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.CheckOnMission","NodeData":{"Offset":"(-120,150)"},"ID":5,"Name":"Check + On Mission","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(140.876663,145.4505)"},"ID":6,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-105,147.5)"},"ID":7,"Name":"Succes + Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OnMission","NodeData":{"Offset":"(-140,150)"},"ID":8,"Name":"On + Mission","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.CompleteMission","NodeData":{"Offset":"(0,150)"},"ID":9,"Name":"Complete + Mission","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(162.857178,152.857422)"},"ID":10,"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":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(150,145.2378)"},"ID":11,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(289.942871,151.213776)"},"ID":12,"Name":"Fail Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.MoveToRandomPositionInRange","NodeData":{"Offset":"(-100.101685,148.086548)"},"ID":13,"Name":"Move To Random Position In Range","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(99.99939,150)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"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}}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true}]}' fieldSerializationData: diff --git a/Assets/11.BehaviorTree/Cleaner.asset.meta b/Assets/11.BehaviorTree/CleanerCrew.asset.meta similarity index 100% rename from Assets/11.BehaviorTree/Cleaner.asset.meta rename to Assets/11.BehaviorTree/CleanerCrew.asset.meta diff --git a/Assets/11.BehaviorTree/ServerCrew.asset b/Assets/11.BehaviorTree/ServerCrew.asset new file mode 100644 index 000000000..5a58d9a90 --- /dev/null +++ b/Assets/11.BehaviorTree/ServerCrew.asset @@ -0,0 +1,40 @@ +%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: ServerCrew + m_EditorClassIdentifier: + mBehaviorSource: + behaviorName: Customer + behaviorDescription: + mTaskData: + types: [] + parentIndex: + startIndex: + variableStartIndex: + JSONSerialization: '{"EntryTask":{"Type":"BehaviorDesigner.Runtime.Tasks.EntryTask","NodeData":{"Offset":"(548.5,11.3636351)"},"ID":0,"Name":"Entry","Instant":true},"RootTask":{"Type":"BehaviorDesigner.Runtime.Tasks.Repeater","NodeData":{"Offset":"(-2.36053467,152.585861)"},"ID":1,"Name":"Repeater","Instant":true,"SharedIntcount":{"Type":"BehaviorDesigner.Runtime.SharedInt","Name":null,"Int32mValue":0},"SharedBoolrepeatForever":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":true},"SharedBoolendOnFailure":{"Type":"BehaviorDesigner.Runtime.SharedBool","Name":null,"BooleanmValue":false},"Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(0,120)"},"ID":2,"Name":"Cleaner + Cycle","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(-2.54729939,179.727264)"},"ID":3,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-225.263184,152.083344)"},"ID":4,"Name":"Succes + Sequence","Instant":true,"AbortTypeabortType":"LowerPriority","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.CheckOnMission","NodeData":{"Offset":"(-120,150)"},"ID":5,"Name":"Check + On Mission","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Selector","NodeData":{"Offset":"(140.876663,145.4505)"},"ID":6,"Name":"Selector","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(-105,147.5)"},"ID":7,"Name":"Succes + Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.OnMission","NodeData":{"Offset":"(-140,150)"},"ID":8,"Name":"On + Mission","Instant":true},{"Type":"BlueWater.BehaviorTrees.Actions.CompleteMission","NodeData":{"Offset":"(0,150)"},"ID":9,"Name":"Complete + Mission","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(162.857178,152.857422)"},"ID":10,"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":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(150,145.2378)"},"ID":11,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"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":"BehaviorDesigner.Runtime.Tasks.Sequence","NodeData":{"Offset":"(289.942871,151.213776)"},"ID":12,"Name":"Fail + Sequence","Instant":true,"AbortTypeabortType":"None","Children":[{"Type":"BlueWater.BehaviorTrees.Actions.MoveToRandomPositionInRange","NodeData":{"Offset":"(-100.101685,148.086548)"},"ID":13,"Name":"Move + To Random Position In Range","Instant":true},{"Type":"BehaviorDesigner.Runtime.Tasks.Wait","NodeData":{"Offset":"(99.99939,150)"},"ID":14,"Name":"Wait","Instant":true,"SharedFloatwaitTime":{"Type":"BehaviorDesigner.Runtime.SharedFloat","Name":null,"SinglemValue":2},"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}}]}]}]}]},"Variables":[{"Type":"BehaviorDesigner.Runtime.SharedGameObject","Name":"MyObj","IsShared":true}]}' + fieldSerializationData: + typeName: [] + fieldNameHash: + startIndex: + dataPosition: + unityObjects: [] + byteData: + byteDataArray: + Version: 1.7.9 diff --git a/Assets/11.BehaviorTree/ServerCrew.asset.meta b/Assets/11.BehaviorTree/ServerCrew.asset.meta new file mode 100644 index 000000000..6e6ede235 --- /dev/null +++ b/Assets/11.BehaviorTree/ServerCrew.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7528ceb2f7ed9cc4896ce2c45aa65338 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: