diff --git a/Assets/01.Scenes/01.Tycoon.unity b/Assets/01.Scenes/01.Tycoon.unity index 75c253260..6da8dd5a1 100644 --- a/Assets/01.Scenes/01.Tycoon.unity +++ b/Assets/01.Scenes/01.Tycoon.unity @@ -15121,7 +15121,6 @@ GameObject: - component: {fileID: 1400792461} - component: {fileID: 1400792460} - component: {fileID: 1400792459} - - component: {fileID: 1400792462} - component: {fileID: 1400792463} m_Layer: 8 m_Name: LiquidInteractionRegion @@ -15129,7 +15128,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!4 &1400792458 Transform: m_ObjectHideFlags: 0 @@ -15219,18 +15218,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1400792457} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &1400792462 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1400792457} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f0f3dc568d0721b48ad5f24339d24951, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &1400792463 MonoBehaviour: m_ObjectHideFlags: 0 @@ -21428,14 +21415,19 @@ MonoBehaviour: _spawnLocation: {fileID: 128638924} _billInfos: - IsEmpty: 1 + IsMoving: 0 k__BackingField: {x: -290, y: -120, z: 0} - IsEmpty: 1 + IsMoving: 0 k__BackingField: {x: -170, y: -120, z: 0} - IsEmpty: 1 + IsMoving: 0 k__BackingField: {x: -50, y: -120, z: 0} - IsEmpty: 1 + IsMoving: 0 k__BackingField: {x: 70, y: -120, z: 0} - IsEmpty: 1 + IsMoving: 0 k__BackingField: {x: 190, y: -120, z: 0} --- !u!1 &1858488034 GameObject: diff --git a/Assets/01.Scenes/99.Tycoon43.unity b/Assets/01.Scenes/99.Tycoon43.unity index 04ba5773e..42a377405 100644 --- a/Assets/01.Scenes/99.Tycoon43.unity +++ b/Assets/01.Scenes/99.Tycoon43.unity @@ -4813,6 +4813,7 @@ MonoBehaviour: m_EditorClassIdentifier: _goldAnimator: {fileID: 1308258170} _goldText: {fileID: 677143483} + _animationTime: 1 --- !u!1 &440736213 GameObject: m_ObjectHideFlags: 0 @@ -8720,6 +8721,7 @@ MonoBehaviour: m_EditorClassIdentifier: _persistent: 0 k__BackingField: {fileID: 873223991} + k__BackingField: {fileID: 0} k__BackingField: {fileID: 1985878519} cameraLocation: {fileID: 1634548838} k__BackingField: {fileID: 545850352} @@ -17139,12 +17141,15 @@ MonoBehaviour: k__BackingField: {fileID: 1665075873} _dailyBgm: TycoonDailyBgm1 k__BackingField: + _maxLevel: 0 _currentLevel: 0 _maxPlayerHealth: 0 _currentPlayerHealth: 0 _playerMoveSpeedMultiplier: 0 _currentExp: 0 + _expMultiplier: 0 _currentGold: 0 + _goldMultiplier: 0 _currentLiquidAmountA: 0 _currentLiquidAmountB: 0 _currentLiquidAmountC: 0 @@ -17181,7 +17186,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9dd1d4a57e5f2dc4ba2346bf6359f094, type: 3} m_Name: m_EditorClassIdentifier: - _stageDataSo: {fileID: 11400000, guid: 5fd0220da8e388e4c872a9fcc80d2c76, type: 2} + k__BackingField: {fileID: 11400000, guid: 5fd0220da8e388e4c872a9fcc80d2c76, type: 2} _dailyCustomerVisitInfos: [] --- !u!114 &1665075873 MonoBehaviour: @@ -22437,6 +22442,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: _panel: {fileID: 1983229437} + _fillImage: {fileID: 0} _keyText: {fileID: 242229611} _interactionText: {fileID: 1728335879} --- !u!114 &2041095998 stripped diff --git a/Assets/02.Scripts/Character/Npc/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer.cs index 73ea897fc..5c5762ddc 100644 --- a/Assets/02.Scripts/Character/Npc/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer.cs @@ -280,10 +280,10 @@ namespace BlueWater.Npcs.Customers var servedCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(currentPickupItem.Idx); ServedItem(servedCocktailData); BalloonUi.ReceiveItem(servedCocktailData); - EventManager.OnCocktailServedToCustomer?.Invoke(servedCocktailData); + EventManager.InvokeCocktailServedToCustomer(servedCocktailData); IsOrderedSucceed = currentPickupItem.Idx == OrderedCocktailData.Idx; IsReceivedItem = true; - EventManager.OnOrderResult?.Invoke(this, IsOrderedSucceed); + EventManager.InvokeOrderResult(this, IsOrderedSucceed); break; default: throw new ArgumentOutOfRangeException(); @@ -309,13 +309,13 @@ namespace BlueWater.Npcs.Customers public virtual void ShowInteractionUi() { SpineController.EnableCustomMaterial(); - EventManager.OnShowInteractionUi?.Invoke(InteractionMessage); + EventManager.InvokeShowInteractionUi(InteractionMessage); } public virtual void HideInteractionUi() { SpineController.DisableCustomMaterial(); - EventManager.OnHideInteractionUi?.Invoke(); + EventManager.InvokeHideInteractionUi(); } public void RegisterPlayerInteraction() @@ -352,7 +352,7 @@ namespace BlueWater.Npcs.Customers var isWaitTimeOver = BalloonUi.IsWaitTimeOver(); if (isWaitTimeOver) { - EventManager.OnOrderResult?.Invoke(this, false); + EventManager.InvokeOrderResult(this, false); } return isWaitTimeOver; @@ -370,11 +370,12 @@ namespace BlueWater.Npcs.Customers CurrentTableSeat.CleanTable(); } - var gold = CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier; + var exp = (int)(CurrentLevelData.Exp * TycoonManager.Instance.TycoonStatus.ExpMultiplier); + var gold = (int)(CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier); + PayMoneyParticle.Play(); - PayMoneyUi.PayMoney((int)gold); - TycoonManager.Instance.TycoonStatus.CurrentExp += CurrentLevelData.Exp; - TycoonManager.Instance.TycoonStatus.CurrentGold += CurrentLevelData.Gold; + TycoonManager.Instance.TycoonStatus.CurrentExp += exp; + TycoonManager.Instance.TycoonStatus.CurrentGold += gold; } // public void PayMoney(int foodPrice, int tipAmount) @@ -401,6 +402,7 @@ namespace BlueWater.Npcs.Customers //TycoonManager.Instance.TycoonStageController.RegisterCustomerVisitInfo(customerVisitInfo); AIMovement.StopMove(); + BehaviorTree.DisableBehavior(); Destroy(gameObject); } @@ -415,12 +417,16 @@ namespace BlueWater.Npcs.Customers _customerInteractionType = CustomerInteractionType.OrderCocktail; RegisterPlayerInteraction(); - EventManager.OnOrderedCocktail?.Invoke(this); + EventManager.InvokeOrderedCocktail(this); } public void MoveSpawnPosition() { - CurrentTableSeat.VacateSeat(); + if (CurrentTableSeat) + { + CurrentTableSeat.VacateSeat(); + CurrentTableSeat = null; + } AIMovement.Move(_spawnTransform.position); } diff --git a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs index be329db73..ecedd27a0 100644 --- a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs +++ b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs @@ -65,14 +65,14 @@ namespace BlueWater.Players var previousMaxHealthPoint = MaxHealthPoint; var newChangedHealthPoint = Mathf.Clamp(changedHealthPoint, 0, 10); MaxHealthPoint = newChangedHealthPoint; - EventManager.OnMaxHealthChanged?.Invoke(previousMaxHealthPoint, newChangedHealthPoint); + EventManager.InvokeMaxHealthChanged(previousMaxHealthPoint, newChangedHealthPoint); } public void SetCurrentHealthPoint(int changedHealthPoint) { var newChangedHealthPoint = Mathf.Clamp(changedHealthPoint, 0, MaxHealthPoint); CurrentHealthPoint = newChangedHealthPoint; - EventManager.OnHealthChanged?.Invoke(newChangedHealthPoint); + EventManager.InvokeHealthChanged(newChangedHealthPoint); if (CurrentHealthPoint <= 2) { @@ -124,7 +124,7 @@ namespace BlueWater.Players public void Die() { - EventManager.OnDead?.Invoke(); + EventManager.InvokeDead(); } private IEnumerator FlashWhiteCoroutine() diff --git a/Assets/02.Scripts/EventManager.cs b/Assets/02.Scripts/EventManager.cs index 14b430f62..1a22860af 100644 --- a/Assets/02.Scripts/EventManager.cs +++ b/Assets/02.Scripts/EventManager.cs @@ -11,52 +11,156 @@ namespace BlueWater #region Global events // Ui - public static Action FadeInOut; + public static Action OnFadeInOut; + public static void InvokeFadeInOut(float fadeInTime, float fadeOutTime, Color? fadeColor = null, float delayAfterFadeIn = 0f) + { + OnFadeInOut?.Invoke(fadeInTime, fadeOutTime, fadeColor, delayAfterFadeIn); + } // Player + // 플레이어 최대체력 변경 이벤트 public static Action OnMaxHealthChanged; + public static void InvokeMaxHealthChanged(int previousMaxHealthPoint, int changedMaxHealthPoint) + { + OnMaxHealthChanged?.Invoke(previousMaxHealthPoint, changedMaxHealthPoint); + } + + // 플레이어 현재체력 변경 이벤트 public static Action OnHealthChanged; + public static void InvokeHealthChanged(int changedHealthPoint) + { + OnHealthChanged?.Invoke(changedHealthPoint); + } + + // 플레이어 죽을 때 이벤트 public static Action OnDead; + public static void InvokeDead() + { + OnDead?.Invoke(); + } // 상호작용 + // 상호작용 Ui 활성화 public static Action OnShowInteractionUi; + public static void InvokeShowInteractionUi(string interactionMessage) + { + OnShowInteractionUi?.Invoke(interactionMessage); + } + + // 상호작용 Ui 비활성화 public static Action OnHideInteractionUi; + public static void InvokeHideInteractionUi() + { + OnHideInteractionUi?.Invoke(); + } + + // 플레이어 상호작용중 이벤트 + public static Action OnInteracting; #endregion // Tycoon events #region Tycoon events + // 타이쿤 시작 이벤트 + public static Action OnTycoonGameStarted; + public static void InvokeTycoonGameStarted() + { + OnTycoonGameStarted?.Invoke(); + } + + // 타이쿤 종료 이벤트 (OnDead 이벤트로 대체중) + public static Action OnTycoonGameOvered; + public static void InvokeTycoonGameOvered() + { + OnTycoonGameOvered?.Invoke(); + } + // 플레이어 + // 레벨업 이벤트 public static Action OnLevelUp; - public static Action OnChangeGold; + public static void InvokeLevelUp(LevelData levelData) + { + OnLevelUp?.Invoke(levelData); + } + + // 경험치 변경 이벤트 public static Action OnChangeExp; + public static void InvokeChangeExp(ExpData expData) + { + OnChangeExp?.Invoke(expData); + } + + // 골드 변경 이벤트 + public static Action OnChangeGold; + public static void InvokeChangeGold(int newGold) + { + OnChangeGold?.Invoke(newGold); + } + + // 플레이어 칵테일 제조 시작 이벤트 + public static Action OnCocktailStarted; + public static void InvokeCocktailStarted() + { + OnCocktailStarted?.Invoke(); + } + + // 플레이어 칵테일 제조 완성 이벤트 + public static Action OnCocktailCompleted; + public static void InvokeCocktailCompleted(CocktailData completedCocktail) + { + OnCocktailCompleted?.Invoke(completedCocktail); + } + + // 플레이어가 들고있는 칵테일 버리기 이벤트 + public static Action OnCocktailDiscarded; + public static void InvokeCocktailDiscarded() + { + OnCocktailDiscarded?.Invoke(); + } + + // 플레이어가 들고있는 칵테일을 서빙테이블에 올려두는 이벤트 + public static Action OnPlaceOnServingTable; + public static void InvokePlaceOnServingTable() + { + OnPlaceOnServingTable?.Invoke(); + } + + // 플레이어가 서빙테이블에 있는 칵테일을 가져오는 이벤트 + public static Action OnTakeFromServingTable; + public static void InvokeTakeFromServingTable() + { + OnTakeFromServingTable?.Invoke(); + } // Npc + // 손님 생성 이벤트 public static Action OnCreateCustomer; - public static Action OnOrderedCocktail; - public static Action OnOrderResult; - - // 음료 - // public static Action OnDrinkRecipeAcquired; - // public static Action OnDrinkRecipeSelected; + public static void InvokeCreateCustomer() + { + OnCreateCustomer?.Invoke(); + } - public static Action OnTycoonGameStarted; - public static Action OnTycoonGameOvered; - - public static Action OnCocktailStarted; - public static Action OnCocktailCompleted; - public static Action OnCocktailDiscarded; - - public static Action OnPlaceOnServingTable; - public static Action OnTakeFromServingTable; - + // 손님이 칵테일 주문 이벤트 + public static Action OnOrderedCocktail; + public static void InvokeOrderedCocktail(Customer orderedCustomer) + { + OnOrderedCocktail?.Invoke(orderedCustomer); + } + + // 손님이 칵테일을 받을때 이벤트 public static Action OnCocktailServedToCustomer; - - public static Action OnInteracting; - - // 요리 - //public static Action OnFoodRecipeAcquired; + public static void InvokeCocktailServedToCustomer(CocktailData servedCocktailData) + { + OnCocktailServedToCustomer?.Invoke(servedCocktailData); + } + + // 손님이 칵테일을 받을때 결과 이벤트 + public static Action OnOrderResult; + public static void InvokeOrderResult(Customer orderedCustomer, bool orderedSucceed) + { + OnOrderResult?.Invoke(orderedCustomer, orderedSucceed); + } #endregion } diff --git a/Assets/02.Scripts/Item/Item.cs b/Assets/02.Scripts/Item/Item.cs index 1ce5e5571..c6c4f7340 100644 --- a/Assets/02.Scripts/Item/Item.cs +++ b/Assets/02.Scripts/Item/Item.cs @@ -211,12 +211,12 @@ namespace BlueWater.Items public void ShowInteractionUi() { InteractionMessage = $"{ItemData.Name} 줍기"; - EventManager.OnShowInteractionUi?.Invoke(InteractionMessage); + EventManager.InvokeShowInteractionUi(InteractionMessage); } public void HideInteractionUi() { - EventManager.OnHideInteractionUi?.Invoke(); + EventManager.InvokeHideInteractionUi(); } private void DestroySelf() => Destroy(gameObject); diff --git a/Assets/02.Scripts/Map/MapPortal.cs b/Assets/02.Scripts/Map/MapPortal.cs index 662719996..a17188047 100644 --- a/Assets/02.Scripts/Map/MapPortal.cs +++ b/Assets/02.Scripts/Map/MapPortal.cs @@ -45,7 +45,7 @@ namespace BlueWater.Maps private IEnumerator PortalCoroutine(Collider other) { PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); - EventManager.FadeInOut?.Invoke(_fadeInOutTime.x, _fadeInOutTime.y, _fadeColor, _delayAfterFadeIn); + EventManager.InvokeFadeInOut(_fadeInOutTime.x, _fadeInOutTime.y, _fadeColor, _delayAfterFadeIn); //CombatUiManager.Instance.FadeInOut(_fadeInOutTime.x, _fadeInOutTime.y, _fadeColor, _delayAfterFadeIn); yield return new WaitForSeconds(_fadeInOutTime.x); diff --git a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs index 089aca1d1..c073c6718 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Barrel.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Barrel.cs @@ -91,7 +91,7 @@ namespace BlueWater.Tycoons } var consumeAmount = CurrentAmount - amount; - SetCurrentAmount(consumeAmount); + SetCurrentAmount(consumeAmount, true); } public bool TryConsume(int amount) diff --git a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs index 664238aad..181e2e581 100644 --- a/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs +++ b/Assets/02.Scripts/Prop/Tycoon/InteractionFuniture.cs @@ -99,7 +99,7 @@ namespace BlueWater.Tycoons public virtual void ShowInteractionUi() { VisualLook.material = OutlineMaterial; - EventManager.OnShowInteractionUi?.Invoke(InteractionMessage); + EventManager.InvokeShowInteractionUi(InteractionMessage); } public virtual void HideInteractionUi() @@ -108,7 +108,7 @@ namespace BlueWater.Tycoons { VisualLook.material = OriginalMaterial; } - EventManager.OnHideInteractionUi?.Invoke(); + EventManager.InvokeHideInteractionUi(); } protected void RegisterPlayerInteraction() diff --git a/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs b/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs index d0b1c75c2..0a14baa17 100644 --- a/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs +++ b/Assets/02.Scripts/Prop/Tycoon/PowerSwitch.cs @@ -11,7 +11,7 @@ namespace BlueWater.Tycoons public override void Interaction() { - EventManager.OnTycoonGameStarted?.Invoke(); + EventManager.InvokeTycoonGameStarted(); } public override bool CanInteraction() diff --git a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs index 18426c983..862dd7314 100644 --- a/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs +++ b/Assets/02.Scripts/Prop/Tycoon/ServingTable.cs @@ -24,7 +24,7 @@ namespace BlueWater.Tycoons // 테이블의 칵테일을 가져가는 경우 if (_currentPickupItem != null) { - EventManager.OnTakeFromServingTable?.Invoke(); + EventManager.InvokeTakeFromServingTable(); CurrentTycoonPlayer.TycoonPickupHandler.PickupItem(_currentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.SetItemImage(_currentPickupItem); _cocktailGlassImage.enabled = false; @@ -34,7 +34,7 @@ namespace BlueWater.Tycoons // 테이블에 칵테일을 놓는 경우 else { - EventManager.OnPlaceOnServingTable?.Invoke(); + EventManager.InvokePlaceOnServingTable(); _currentPickupItem = CurrentTycoonPlayer.TycoonPickupHandler.GetCurrentPickupItem(); CurrentTycoonPlayer.TycoonPickupHandler.GiveItem(_currentPickupItem); CurrentTycoonPlayer.InteractionCanvas.BalloonUi.DiscardItem(); diff --git a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs index 12ecfe780..9548e17cd 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs @@ -4,8 +4,7 @@ namespace BlueWater.Tycoons { public override void Interaction() { - EventManager.OnCocktailDiscarded?.Invoke(); - //CurrentTycoonPlayer.DiscardItem(); + EventManager.InvokeCocktailDiscarded(); } public override bool CanInteraction() diff --git a/Assets/02.Scripts/ScriptableObject/CardDataTable.asset b/Assets/02.Scripts/ScriptableObject/CardDataTable.asset index 1e5836b61..b90d7cd6d 100644 --- a/Assets/02.Scripts/ScriptableObject/CardDataTable.asset +++ b/Assets/02.Scripts/ScriptableObject/CardDataTable.asset @@ -18,8 +18,8 @@ MonoBehaviour: k__BackingField: HeartPlus k__BackingField: HeartPlusImg k__BackingField: "\uD558\uD2B8 \uD55C\uCE78 \uCD94\uAC00" - k__BackingField: 5 - k__BackingField: 5 + k__BackingField: 3 + k__BackingField: 10 k__BackingField: {fileID: 21300000, guid: d0b6eba4ac33ece44bccd11e57e415e8, type: 3} - k__BackingField: HeartHeal k__BackingField: @@ -27,7 +27,7 @@ MonoBehaviour: k__BackingField: HeartHealImg k__BackingField: "\uD558\uD2B8 \uD55C\uCE78 \uD68C\uBCF5" k__BackingField: 10 - k__BackingField: 10 + k__BackingField: 0 k__BackingField: {fileID: 21300000, guid: 466393baecf741d449a05f3b63317368, type: 3} - k__BackingField: HeartAllHeal k__BackingField: @@ -35,7 +35,7 @@ MonoBehaviour: k__BackingField: HeartAllHealImg k__BackingField: "\uD558\uD2B8 \uC804\uCCB4 \uD68C\uBCF5" k__BackingField: 0 - k__BackingField: 5 + k__BackingField: 10 k__BackingField: {fileID: 21300000, guid: 7579ee4fd1c5ed34d939eeef18c625be, type: 3} - k__BackingField: AddLiquidB k__BackingField: diff --git a/Assets/02.Scripts/ScriptableObject/Item/CocktailDataTable.asset b/Assets/02.Scripts/ScriptableObject/Item/CocktailDataTable.asset index 372423ed9..06aa4b8f1 100644 --- a/Assets/02.Scripts/ScriptableObject/Item/CocktailDataTable.asset +++ b/Assets/02.Scripts/ScriptableObject/Item/CocktailDataTable.asset @@ -28,7 +28,7 @@ MonoBehaviour: k__BackingField: 0 k__BackingField: k__BackingField: 0 - k__BackingField: {fileID: 0} + k__BackingField: {fileID: 21300000, guid: 7f08919123d8bb84194bd4be22c0dee8, type: 3} - k__BackingField: Cocktail001 k__BackingField: k__BackingField: Cocktail001 diff --git a/Assets/02.Scripts/Tycoon/LiquidController.cs b/Assets/02.Scripts/Tycoon/LiquidController.cs index 1d6558473..a80f4865f 100644 --- a/Assets/02.Scripts/Tycoon/LiquidController.cs +++ b/Assets/02.Scripts/Tycoon/LiquidController.cs @@ -356,7 +356,7 @@ namespace BlueWater _isCompleted = false; _currentMixedColor = barrel.GetLiquidData().Color; _instanceMaterial.SetColor(LiquidColorHash, _currentMixedColor * _colorIntensity); - EventManager.OnCocktailStarted?.Invoke(); + EventManager.InvokeCocktailStarted(); } _startTime = Time.time; @@ -489,7 +489,7 @@ namespace BlueWater yield return new WaitForSeconds(1f); HidePanel(); - EventManager.OnCocktailCompleted?.Invoke(matchingCocktail); + EventManager.InvokeCocktailCompleted(matchingCocktail); } /// diff --git a/Assets/02.Scripts/Tycoon/TycoonStageController.cs b/Assets/02.Scripts/Tycoon/TycoonStageController.cs index 583009a8e..5c7eb8fbc 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStageController.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStageController.cs @@ -39,7 +39,7 @@ namespace BlueWater.Tycoons _dailyCustomerVisitInfos.Clear(); Utils.StartUniqueCoroutine(this, ref _startStageCoroutineInstance, StartStageCoroutine()); - EventManager.OnTycoonGameStarted?.Invoke(); + EventManager.InvokeTycoonGameStarted(); } private IEnumerator StartStageCoroutine() @@ -49,7 +49,7 @@ namespace BlueWater.Tycoons while (true) { var currentLevelData = _tycoonManager.GetCurrentLevelData(); - EventManager.OnCreateCustomer?.Invoke(); + EventManager.InvokeCreateCustomer(); yield return new WaitForSeconds(currentLevelData.CustomerRespawn); } diff --git a/Assets/02.Scripts/Tycoon/TycoonStatus.cs b/Assets/02.Scripts/Tycoon/TycoonStatus.cs index fc6114114..9a887e265 100644 --- a/Assets/02.Scripts/Tycoon/TycoonStatus.cs +++ b/Assets/02.Scripts/Tycoon/TycoonStatus.cs @@ -87,20 +87,9 @@ namespace BlueWater.Tycoons if (_currentLevel >= _maxLevel) return; var previousExp = _currentExp; - var maxExp = TycoonManager.Instance.GetCurrentLevelData().RequiredExp; - var addedExp = (int)((value - previousExp) * _expMultiplier); - var newExp = previousExp + addedExp; - - if (value >= maxExp) - { - _currentExp = newExp - maxExp; - } - else - { - _currentExp = newExp; - } - - EventManager.OnChangeExp?.Invoke(new ExpData(_currentLevel, previousExp, addedExp)); + var addedExp = value - previousExp; + _currentExp = value; + EventManager.InvokeChangeExp(new ExpData(_currentLevel, previousExp, addedExp)); } } @@ -121,7 +110,7 @@ namespace BlueWater.Tycoons set { _currentGold = value; - EventManager.OnChangeGold?.Invoke(value); + EventManager.InvokeChangeGold(_currentGold); } } @@ -329,7 +318,7 @@ namespace BlueWater.Tycoons break; } - EventManager.OnLevelUp?.Invoke(currentLevelData); + EventManager.InvokeLevelUp(currentLevelData); } } } \ No newline at end of file diff --git a/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs b/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs index 5e1037fcd..ca392c0ad 100644 --- a/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs +++ b/Assets/02.Scripts/Ui/Combat/CombatUiManager.cs @@ -62,7 +62,7 @@ namespace BlueWater.Uis { PopupUi.OnPopupUiOpenEvent += RegisterPopup; PopupUi.OnPopupUiCloseEvent += UnregisterPopup; - EventManager.FadeInOut += FadeInOut; + EventManager.OnFadeInOut += FadeInOut; Invoke(nameof(StartTutorial), 0.1f); } @@ -78,7 +78,7 @@ namespace BlueWater.Uis PopupUi.OnPopupUiOpenEvent -= RegisterPopup; PopupUi.OnPopupUiCloseEvent -= UnregisterPopup; - EventManager.FadeInOut -= FadeInOut; + EventManager.OnFadeInOut -= FadeInOut; } [Button("셋팅 초기화")] diff --git a/Assets/02.Scripts/Ui/InteractionUi.cs b/Assets/02.Scripts/Ui/InteractionUi.cs index 7c0e7d461..94912fc20 100644 --- a/Assets/02.Scripts/Ui/InteractionUi.cs +++ b/Assets/02.Scripts/Ui/InteractionUi.cs @@ -23,14 +23,14 @@ namespace BlueWater.Uis { EventManager.OnShowInteractionUi += ShowUi; EventManager.OnHideInteractionUi += HideUi; - EventManager.OnInteracting += A; + EventManager.OnInteracting += SetFillAmount; } private void OnDestroy() { EventManager.OnShowInteractionUi -= ShowUi; EventManager.OnHideInteractionUi -= HideUi; - EventManager.OnInteracting -= A; + EventManager.OnInteracting -= SetFillAmount; } public void ShowUi(string message) @@ -44,7 +44,7 @@ namespace BlueWater.Uis _panel.SetActive(false); } - private void A(float fillAmount) + private void SetFillAmount(float fillAmount) { _fillImage.fillAmount = fillAmount; } diff --git a/Assets/02.Scripts/Ui/Tycoon/Bill.cs b/Assets/02.Scripts/Ui/Tycoon/Bill.cs index 2d31a093c..dec29db8e 100644 --- a/Assets/02.Scripts/Ui/Tycoon/Bill.cs +++ b/Assets/02.Scripts/Ui/Tycoon/Bill.cs @@ -32,6 +32,9 @@ namespace BlueWater [SerializeField] private TMP_Text _tableNumberText; + [SerializeField] + private GameObject _makingCocktailPivotObject; + [SerializeField] private Color _startColor = Color.green; @@ -51,6 +54,7 @@ namespace BlueWater _slider.value = 1f; _orderImage.sprite = customer.OrderedCocktailData.Sprite; _tableNumberText.text = customer.CurrentTableSeat.TableNumber.ToString(); + _makingCocktailPivotObject.SetActive(false); var sliderSequence = DOTween.Sequence(); sliderSequence.Append(_slider.DOValue(0f, customer.CurrentLevelData.HurryTime) diff --git a/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs b/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs index eecb2e33c..84e91180a 100644 --- a/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs @@ -96,14 +96,14 @@ namespace BlueWater.Uis yield return _tween.WaitForCompletion(); TycoonManager.Instance.TycoonStatus.CurrentLevel++; - currentLevel++; - currentLevelData = TycoonManager.Instance.LevelDataSo.GetDataByIdx(currentLevel.ToString()); + currentLevelData = TycoonManager.Instance.GetCurrentLevelData(); requireExp = currentLevelData.RequiredExp; _expSlider.value = 0f; newExp = 0; startExp = 0; endExp = remainExp; + remainExp = endExp - requireExp; elapsedTime = 0f; } else diff --git a/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs b/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs index 13f709217..38be44010 100644 --- a/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs @@ -1,3 +1,4 @@ +using System; using DG.Tweening; using Sirenix.OdinInspector; using TMPro; @@ -16,8 +17,15 @@ namespace BlueWater.Uis [SerializeField, Required] private TMP_Text _goldText; + private void Start() + { + EventManager.OnChangeGold += PayMoney; + } + private void OnDestroy() { + EventManager.OnChangeGold -= PayMoney; + _moveAnimation.DOKill(); } diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs index 040dcafb1..dba03e149 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonUiManager.cs @@ -53,7 +53,7 @@ namespace BlueWater.Uis PopupUi.OnPopupUiCloseEvent += UnregisterPopup; EventManager.OnTycoonGameStarted += TycoonOpenEvent; EventManager.OnTycoonGameOvered += TycoonClosedEvent; - EventManager.FadeInOut += FadeInOut; + EventManager.OnFadeInOut += FadeInOut; } private void OnDestroy() @@ -64,7 +64,7 @@ namespace BlueWater.Uis PopupUi.OnPopupUiCloseEvent -= UnregisterPopup; EventManager.OnTycoonGameStarted -= TycoonOpenEvent; EventManager.OnTycoonGameOvered -= TycoonClosedEvent; - EventManager.FadeInOut -= FadeInOut; + EventManager.OnFadeInOut -= FadeInOut; } #endregion diff --git a/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png b/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png new file mode 100644 index 000000000..a5cb54a1d Binary files /dev/null and b/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png differ diff --git a/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png.meta b/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png.meta new file mode 100644 index 000000000..4d5e18424 --- /dev/null +++ b/Assets/03.Images/Tycoons/Cocktails/FinishedCocktails/FailedCocktail.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 7f08919123d8bb84194bd4be22c0dee8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 7 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 1024 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/03.Images/Ui/Tycoon/Loading.png b/Assets/03.Images/Ui/Tycoon/Loading.png new file mode 100644 index 000000000..f3e679679 Binary files /dev/null and b/Assets/03.Images/Ui/Tycoon/Loading.png differ diff --git a/Assets/03.Images/Ui/Tycoon/Loading.png.meta b/Assets/03.Images/Ui/Tycoon/Loading.png.meta new file mode 100644 index 000000000..0c0364556 --- /dev/null +++ b/Assets/03.Images/Ui/Tycoon/Loading.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 2d88aaa71c840f643ae9292549f5b217 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 1024 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WindowsStoreApps + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/05.Prefabs/Uis/Tycoons/Bill.prefab b/Assets/05.Prefabs/Uis/Tycoons/Bill.prefab index a45963d7c..aded36dab 100644 --- a/Assets/05.Prefabs/Uis/Tycoons/Bill.prefab +++ b/Assets/05.Prefabs/Uis/Tycoons/Bill.prefab @@ -351,6 +351,7 @@ RectTransform: - {fileID: 6645972450045353238} - {fileID: 4101085107370292335} - {fileID: 7989580489010594267} + - {fileID: 6337954123549054090} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 1} @@ -437,6 +438,7 @@ MonoBehaviour: _orderImage: {fileID: 1094699508538862306} _tableNumberImageObject: {fileID: 2596367034953283962} _tableNumberText: {fileID: 882719813517343284} + _makingCocktailPivotObject: {fileID: 8887727100253185871} _startColor: {r: 0, g: 1, b: 0, a: 1} _endColor: {r: 1, g: 0, b: 0, a: 1} --- !u!114 &5491020201375474307 @@ -663,6 +665,104 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6939558171657399220 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8523288493677748864} + - component: {fileID: 1554072011379340431} + - component: {fileID: 85948947277134488} + - component: {fileID: 1487526085746003340} + m_Layer: 5 + m_Name: MakingStateImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8523288493677748864 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6939558171657399220} + 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: 6337954123549054090} + 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 &1554072011379340431 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6939558171657399220} + m_CullTransparentMesh: 1 +--- !u!114 &85948947277134488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6939558171657399220} + m_Enabled: 1 + 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: 2d88aaa71c840f643ae9292549f5b217, type: 3} + m_Type: 0 + 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!95 &1487526085746003340 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6939558171657399220} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: 3b2988dbee1272f49a12a9b19fff3ef3, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + 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 &7921971957933687573 GameObject: m_ObjectHideFlags: 0 @@ -699,3 +799,79 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &8887727100253185871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6337954123549054090} + - component: {fileID: 5739841026593938405} + - component: {fileID: 4729266705832386297} + m_Layer: 5 + m_Name: MakingCocktailPivot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6337954123549054090 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8887727100253185871} + 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: 8523288493677748864} + m_Father: {fileID: 491169346809573176} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -55} + m_SizeDelta: {x: -90, y: 70} + m_Pivot: {x: 0.5, y: 1} +--- !u!222 &5739841026593938405 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8887727100253185871} + m_CullTransparentMesh: 1 +--- !u!114 &4729266705832386297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8887727100253185871} + m_Enabled: 1 + 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: 2d88aaa71c840f643ae9292549f5b217, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/07.Animations/Uis/Bill/Bill.controller b/Assets/07.Animations/Uis/Bill/Bill.controller index 15356feec..c621e293f 100644 --- a/Assets/07.Animations/Uis/Bill/Bill.controller +++ b/Assets/07.Animations/Uis/Bill/Bill.controller @@ -156,7 +156,7 @@ AnimatorStateMachine: m_Position: {x: 490, y: 190, z: 0} - serializedVersion: 1 m_State: {fileID: -262726275448414841} - m_Position: {x: 500, y: 50, z: 0} + m_Position: {x: 510, y: 60, z: 0} - serializedVersion: 1 m_State: {fileID: -7492876922963201345} m_Position: {x: 250, y: 120, z: 0} diff --git a/Assets/07.Animations/Uis/Bill/Loading.controller b/Assets/07.Animations/Uis/Bill/Loading.controller new file mode 100644 index 000000000..20f1dfbcc --- /dev/null +++ b/Assets/07.Animations/Uis/Bill/Loading.controller @@ -0,0 +1,72 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Loading + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: 1413341799483793728} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &1067226796086571680 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MakingCocktail + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: cd405ad9681636e4f9b08290c5f56f9d, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1107 &1413341799483793728 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1067226796086571680} + m_Position: {x: 386.38583, y: 116.45911, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 1067226796086571680} diff --git a/Assets/07.Animations/Uis/Bill/Loading.controller.meta b/Assets/07.Animations/Uis/Bill/Loading.controller.meta new file mode 100644 index 000000000..50bdcb7da --- /dev/null +++ b/Assets/07.Animations/Uis/Bill/Loading.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b2988dbee1272f49a12a9b19fff3ef3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/07.Animations/Uis/Bill/MakingCocktail.anim b/Assets/07.Animations/Uis/Bill/MakingCocktail.anim new file mode 100644 index 000000000..3577050e5 --- /dev/null +++ b/Assets/07.Animations/Uis/Bill/MakingCocktail.anim @@ -0,0 +1,231 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: MakingCocktail + serializedVersion: 7 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: {x: 0, y: 0, z: 0} + inSlope: {x: 0, y: 0, z: -80.064995} + outSlope: {x: 0, y: 0, z: -80.064995} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.7091656} + - serializedVersion: 3 + time: 0.26666668 + value: {x: 0, y: 0, z: -230.75134} + inSlope: {x: 0, y: 0, z: -655.39667} + outSlope: {x: 0, y: 0, z: -655.39667} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 0.76666665 + value: {x: 0, y: 0, z: -358.91693} + inSlope: {x: 0, y: 0, z: -4.1819577} + outSlope: {x: 0, y: 0, z: -4.1819577} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + - serializedVersion: 3 + time: 1 + value: {x: 0, y: 0, z: -359.68362} + inSlope: {x: 0, y: 0, z: 0} + outSlope: {x: 0, y: 0, z: 0} + tangentMode: 0 + weightedMode: 0 + inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + path: + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 0 + attribute: 4 + script: {fileID: 0} + typeID: 4 + customType: 4 + isPPtrCurve: 0 + isIntCurve: 0 + isSerializeReferenceCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 1 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.x + path: + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.y + path: + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: -80.064995 + outSlope: -80.064995 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.7091656 + - serializedVersion: 3 + time: 0.26666668 + value: -230.75134 + inSlope: -655.39667 + outSlope: -655.39667 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.76666665 + value: -358.91693 + inSlope: -4.1819577 + outSlope: -4.1819577 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: -359.68362 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: localEulerAnglesRaw.z + path: + classID: 224 + script: {fileID: 0} + flags: 0 + m_EulerEditorCurves: + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.x + path: + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.y + path: + classID: 224 + script: {fileID: 0} + flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_LocalEulerAngles.z + path: + classID: 224 + script: {fileID: 0} + flags: 0 + m_HasGenericRootTransform: 1 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/07.Animations/Uis/Bill/MakingCocktail.anim.meta b/Assets/07.Animations/Uis/Bill/MakingCocktail.anim.meta new file mode 100644 index 000000000..dc7fe922a --- /dev/null +++ b/Assets/07.Animations/Uis/Bill/MakingCocktail.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd405ad9681636e4f9b08290c5f56f9d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Excel/CardDataTable.xlsx b/Assets/Resources/Excel/CardDataTable.xlsx index 1031d7da1..ff314a0c0 100644 Binary files a/Assets/Resources/Excel/CardDataTable.xlsx and b/Assets/Resources/Excel/CardDataTable.xlsx differ diff --git a/Assets/Resources/JSON/CardDataTable.json b/Assets/Resources/JSON/CardDataTable.json index 1e8d84957..dfe1eba30 100644 --- a/Assets/Resources/JSON/CardDataTable.json +++ b/Assets/Resources/JSON/CardDataTable.json @@ -3,22 +3,22 @@ "Idx": "HeartPlus", "Img": "HeartPlusImg", "ScriptText": "하트 한칸 추가", - "Max": 5, - "Ratio": 5 + "Max": 3, + "Ratio": 10 }, { "Idx": "HeartHeal", "Img": "HeartHealImg", "ScriptText": "하트 한칸 회복", "Max": 10, - "Ratio": 10 + "Ratio": 0 }, { "Idx": "HeartAllHeal", "Img": "HeartAllHealImg", "ScriptText": "하트 전체 회복", "Max": 0, - "Ratio": 5 + "Ratio": 10 }, { "Idx": "AddLiquidB",