diff --git a/Assets/02.Scripts/Audio/AudioManager.cs b/Assets/02.Scripts/Audio/AudioManager.cs index 9da428b93..0ed60a6b7 100644 --- a/Assets/02.Scripts/Audio/AudioManager.cs +++ b/Assets/02.Scripts/Audio/AudioManager.cs @@ -112,7 +112,7 @@ namespace BlueWater.Audios _bgmAudioSource.Stop(); } - public void PlaySfx(string sfxName, float? duration = null) + public void PlaySfx(string sfxName, bool loop = false, bool ignoreTimeScale = false, float? duration = null) { if (_sfxDictionary.TryGetValue(sfxName, out var value)) { @@ -125,10 +125,21 @@ namespace BlueWater.Audios } var availableSfxAudioSource = GetAvailableSfxAudioSource(); availableSfxAudioSource.clip = value; - _sfxPitchDictionary[availableSfxAudioSource] = duration.HasValue ? value.length / duration.Value : 1f; - availableSfxAudioSource.pitch = _sfxPitchDictionary[availableSfxAudioSource] * Time.timeScale; - availableSfxAudioSource.Play(); + availableSfxAudioSource.loop = loop; + if (ignoreTimeScale) + { + // Time.timeScale 영향을 받지 않는 효과음 처리 + availableSfxAudioSource.pitch = duration.HasValue ? value.length / duration.Value : 1f; + } + else + { + // Time.timeScale 적용 + _sfxPitchDictionary[availableSfxAudioSource] = duration.HasValue ? value.length / duration.Value : 1f; + availableSfxAudioSource.pitch = _sfxPitchDictionary[availableSfxAudioSource] * Time.timeScale; + } + + availableSfxAudioSource.Play(); _sfxPlayTimeDictionary[sfxName] = Time.time; } else diff --git a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs index 712fa11f0..d2ef5fe7d 100644 --- a/Assets/02.Scripts/Character/Npc/Customer/Customer.cs +++ b/Assets/02.Scripts/Character/Npc/Customer/Customer.cs @@ -1,5 +1,6 @@ using System; using BehaviorDesigner.Runtime; +using BlueWater.Audios; using BlueWater.Enemies; using BlueWater.Interfaces; using BlueWater.Items; @@ -125,6 +126,12 @@ namespace BlueWater.Npcs.Customers public bool IsMoving { get; private set; } public bool IsVomited { get; private set; } + [SerializeField] + private string _succeedServingSfxName = "SucceedServing"; + + [SerializeField] + private string _failedServingSfxName = "FailedServing"; + private Vector3 _currentDirection = Vector3.right; public Vector3 CurrentDirection @@ -323,6 +330,7 @@ namespace BlueWater.Npcs.Customers IsOrderedCorrected = currentPickupItem.Idx == OrderedCocktailData.Idx; IsReceivedItem = true; IsServedPlayer = true; + AudioManager.Instance.PlaySfx(IsOrderedCorrected ? _succeedServingSfxName : _failedServingSfxName); ServedItem(servedCocktailData); break; default: @@ -446,7 +454,7 @@ namespace BlueWater.Npcs.Customers { var gold = (int)(CurrentLevelData.Gold * TycoonManager.Instance.TycoonStatus.GoldMultiplier); - _moneyCounter.AddCurrentMoney(gold); + _moneyCounter.AddCurrentGold(gold); } public void Vomit() diff --git a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs index ecedd27a0..5d152c284 100644 --- a/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs +++ b/Assets/02.Scripts/Character/Player/PlayerHealthPoint.cs @@ -1,8 +1,6 @@ -using System; using System.Collections; using BlueWater.Audios; using BlueWater.Interfaces; -using BlueWater.Uis; using BlueWater.Utility; using Sirenix.OdinInspector; using UnityEngine; @@ -30,6 +28,10 @@ namespace BlueWater.Players [field: SerializeField] public bool IsInvincible { get; private set; } + + [SerializeField] + private string heartRecoverySfxName; + private WaitForSeconds _flashWhiteWaitTime; private Coroutine _flashWhiteCoroutine; private Coroutine _damageIntervalCoroutine; @@ -70,8 +72,18 @@ namespace BlueWater.Players public void SetCurrentHealthPoint(int changedHealthPoint) { - var newChangedHealthPoint = Mathf.Clamp(changedHealthPoint, 0, MaxHealthPoint); + int newChangedHealthPoint = Mathf.Clamp(changedHealthPoint, 0, MaxHealthPoint); + int addedHealthPoint = newChangedHealthPoint - CurrentHealthPoint; CurrentHealthPoint = newChangedHealthPoint; + + if (addedHealthPoint > 0) + { + if (!string.IsNullOrEmpty(heartRecoverySfxName)) + { + AudioManager.Instance.PlaySfx(heartRecoverySfxName); + } + } + EventManager.InvokeHealthChanged(newChangedHealthPoint); if (CurrentHealthPoint <= 2) diff --git a/Assets/02.Scripts/EventManager.cs b/Assets/02.Scripts/EventManager.cs index 9a02fd3ea..ba972863b 100644 --- a/Assets/02.Scripts/EventManager.cs +++ b/Assets/02.Scripts/EventManager.cs @@ -208,13 +208,6 @@ namespace BlueWater OnMissedServing?.Invoke(); } - // 손님이 나갈 때, 계산대에 돈을 두고 가는 이벤트 - public static Action OnAddedMoneyCounter; - public static void InvokeAddedMoneyCounter(int money) - { - OnAddedMoneyCounter?.Invoke(money); - } - // 손님의 기다림 게이지를 초기화 시키는 이벤트 public static Action OnGaugeResetCustomers; public static void InvokeGaugeResetCustomers() diff --git a/Assets/02.Scripts/Prop/Tycoon/MoneyCounter.cs b/Assets/02.Scripts/Prop/Tycoon/MoneyCounter.cs index eea5b8c95..d7fd18422 100644 --- a/Assets/02.Scripts/Prop/Tycoon/MoneyCounter.cs +++ b/Assets/02.Scripts/Prop/Tycoon/MoneyCounter.cs @@ -1,6 +1,8 @@ using System; using System.Collections; +using System.Collections.Generic; +using System.Linq; using BlueWater.Uis; using BlueWater.Utility; using Sirenix.OdinInspector; @@ -20,6 +22,12 @@ namespace BlueWater.Tycoons [SerializeField] private Vector3 _offset = new(0f, 1.5f, 0f); + [SerializeField] + private float _delay = 0.2f; + + [SerializeField] + private float _payMoneyUiDuration = 0.5f; + [SerializeField] private Sprite _empty; @@ -31,20 +39,18 @@ namespace BlueWater.Tycoons [SerializeField] private Sprite _level3; - - [field: Title("실시간 데이터")] - [field: SerializeField] - public int CurrentMoney { get; private set; } + + private Queue _addedGolds = new(); private SpriteRenderer _spriteRenderer; private Coroutine _gainAutoInstance; private bool _isPlayerInteracting; + private bool _isGainGoldCoroutine; protected override void Awake() { base.Awake(); - - EventManager.OnAddedMoneyCounter += AddCurrentMoney; + EventManager.OnGainAutoMoneyCounter += GainAuto; } @@ -88,7 +94,6 @@ namespace BlueWater.Tycoons _gainAutoInstance = null; } - EventManager.OnAddedMoneyCounter -= AddCurrentMoney; EventManager.OnGainAutoMoneyCounter -= GainAuto; } @@ -109,19 +114,19 @@ namespace BlueWater.Tycoons public override bool CanInteraction() { - return CurrentMoney > 0 && !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); + return _addedGolds.Count > 0 && !GameManager.Instance.CurrentTycoonPlayer.TycoonPickupHandler.IsPickedUpAnything(); } - public void AddCurrentMoney(int money) + public void AddCurrentGold(int gold) { - CurrentMoney += money; + _addedGolds.Enqueue(gold); ChangeSprite(); } private void ChangeSprite() { - var sprite = CurrentMoney switch + var sprite = _addedGolds.Sum() switch { > 1000 => _level3, > 500 => _level2, @@ -134,14 +139,30 @@ namespace BlueWater.Tycoons public void GainMoney() { + if (_isGainGoldCoroutine) return; + + StartCoroutine(GainGoldCoroutine()); + } + + private IEnumerator GainGoldCoroutine() + { + _isGainGoldCoroutine = true; _isPlayerInteracting = false; HoldingElapsedTime = 0f; + WaitForSeconds delay = new WaitForSeconds(_delay); + + while (_addedGolds.Count > 0) + { + var addedGold = _addedGolds.Dequeue(); + var payMoneyUi = Instantiate(_payMoneyUiObject, transform.position + _offset, + Quaternion.identity, TycoonUiManager.Instance.WorldCanvas.transform); + payMoneyUi.Initialize(addedGold, false, _payMoneyUiDuration); + + yield return delay; + } - var payMoneyUi = Instantiate(_payMoneyUiObject, transform.position + _offset, - Quaternion.identity, TycoonUiManager.Instance.WorldCanvas.transform); - payMoneyUi.Initialize(CurrentMoney, false); - CurrentMoney = 0; ChangeSprite(); + _isGainGoldCoroutine = false; } public void GainAuto(int waitTime) @@ -155,7 +176,7 @@ namespace BlueWater.Tycoons { yield return new WaitForSeconds(waitTime); - if (CurrentMoney > 0) + if (_addedGolds.Count > 0) { GainMoney(); } diff --git a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs index 28efb90a2..e3ad6a501 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TableSeat.cs @@ -1,4 +1,5 @@ using System; +using BlueWater.Audios; using BlueWater.Interfaces; using BlueWater.Npcs.Crews; using BlueWater.Npcs.Crews.Cleaner; @@ -44,6 +45,9 @@ namespace BlueWater.Tycoons [SerializeField] private float _crewHoldingTime = 9f; + [SerializeField] + private string _cleaningSfxName = "CleaningTable"; + private LevelData _currentLevelData; private Sprite _fullBeerGlass; private Sprite _emptyBeerGlass; @@ -158,12 +162,14 @@ namespace BlueWater.Tycoons { GameManager.Instance.CurrentTycoonPlayer.IsCleaningTable = true; _isPlayerInteracting = true; + AudioManager.Instance.PlaySfx(_cleaningSfxName, loop: true); } public override void CancelInteraction() { GameManager.Instance.CurrentTycoonPlayer.IsCleaningTable = false; _isPlayerInteracting = false; + AudioManager.Instance.StopSfx(_cleaningSfxName); } public override bool CanInteraction() diff --git a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs index 22a2a5fd8..04d0fc85a 100644 --- a/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs +++ b/Assets/02.Scripts/Prop/Tycoon/TrashCan.cs @@ -1,3 +1,4 @@ +using BlueWater.Audios; using BlueWater.Items; using BlueWater.Players; using UnityEngine; @@ -28,6 +29,9 @@ namespace BlueWater.Tycoons [SerializeField] private bool _isChanged; + + [SerializeField] + private string _discardSfxName = "DiscardCocktail"; private bool _isPlayerInteracting; private bool _canInteraction = true; @@ -165,6 +169,7 @@ namespace BlueWater.Tycoons discardCocktailData = ItemManager.Instance.CocktailDataSo.GetDataByIdx(discardCocktailDataIdx); } + AudioManager.Instance.PlaySfx(_discardSfxName); EventManager.InvokeCocktailDiscarded(discardCocktailData, true); HoldingElapsedTime = 0f; diff --git a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs index 72dc844d2..7bee35ff8 100644 --- a/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs +++ b/Assets/02.Scripts/Prop/Tycoon/Vomiting.cs @@ -1,4 +1,5 @@ using System; +using BlueWater.Audios; using BlueWater.Interfaces; using BlueWater.Npcs.Crews; using BlueWater.Npcs.Crews.Cleaner; @@ -23,6 +24,9 @@ namespace BlueWater.Tycoons [SerializeField] private float _crewHoldingTime = 9f; + [SerializeField] + private string _cleaningSfxName = "CleaningFloor"; + private LevelData _currentLevelData; private Coroutine _findCleanerCrewInstance; private bool _isPlayerInteracting; @@ -112,12 +116,14 @@ namespace BlueWater.Tycoons { GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = true; _isPlayerInteracting = true; + AudioManager.Instance.PlaySfx(_cleaningSfxName, loop: true); } public override void CancelInteraction() { GameManager.Instance.CurrentTycoonPlayer.IsCleaningFloor = false; _isPlayerInteracting = false; + AudioManager.Instance.StopSfx(_cleaningSfxName); } public override bool CanInteraction() diff --git a/Assets/02.Scripts/ScriptableObject/Audio/SfxData.asset b/Assets/02.Scripts/ScriptableObject/Audio/SfxData.asset index 4d25cba1e..a1a802b64 100644 --- a/Assets/02.Scripts/ScriptableObject/Audio/SfxData.asset +++ b/Assets/02.Scripts/ScriptableObject/Audio/SfxData.asset @@ -57,3 +57,39 @@ MonoBehaviour: k__BackingField: {fileID: 8300000, guid: 7e5c81f4703b8cf4c89b143917577923, type: 3} - k__BackingField: GateOfSpikes k__BackingField: {fileID: 8300000, guid: bdc02245c217c51458d29812cbf59a6a, type: 3} + - k__BackingField: HeartRecovery + k__BackingField: {fileID: 8300000, guid: bb125f9dcd56e5141af49d54c535ca9d, type: 3} + - k__BackingField: Pouring + k__BackingField: {fileID: 8300000, guid: bb840fbf163a15a4c8ac3001253635ba, type: 3} + - k__BackingField: SucceedMakingCocktail + k__BackingField: {fileID: 8300000, guid: 959b0bbf4a2bf104e960c3d0c33a960c, type: 3} + - k__BackingField: FailedMakingCocktail + k__BackingField: {fileID: 8300000, guid: 9ddc9a4fd9812b6469754758fa424c6f, type: 3} + - k__BackingField: DiscardCocktail + k__BackingField: {fileID: 8300000, guid: 2d25fd7b9765c6545a3d6743e0e64f79, type: 3} + - k__BackingField: OrderCocktail + k__BackingField: {fileID: 8300000, guid: d42c42481880af846bc539c8dda0dd65, type: 3} + - k__BackingField: CreateCustomer + k__BackingField: {fileID: 8300000, guid: 61efd3c79b807e24290da224ccf2e04e, type: 3} + - k__BackingField: LevelUp + k__BackingField: {fileID: 8300000, guid: 777be2010239e664880448c5a385cf90, type: 3} + - k__BackingField: TycoonGameStart + k__BackingField: {fileID: 8300000, guid: cdccda37bdd4fb74d9cc670189794dce, type: 3} + - k__BackingField: TycoonGameOver + k__BackingField: {fileID: 8300000, guid: 7163b3c58a6e6b04794cee1e110f19de, type: 3} + - k__BackingField: CleaningFloor + k__BackingField: {fileID: 8300000, guid: 67376a69110e3974d8881b5c746622a7, type: 3} + - k__BackingField: CleaningTable + k__BackingField: {fileID: 8300000, guid: 717f06a127178564ab5ea8cdf9da3ef2, type: 3} + - k__BackingField: ManualBook + k__BackingField: {fileID: 8300000, guid: a324e82da09f7f84cab40d74f755c9e8, type: 3} + - k__BackingField: SucceedServing + k__BackingField: {fileID: 8300000, guid: 2d6aad5746316bf4fb6bb7aed8d89c4e, type: 3} + - k__BackingField: FailedServing + k__BackingField: {fileID: 8300000, guid: 4dd3c1455781be74ca6018fc0bc8a269, type: 3} + - k__BackingField: SoldOut + k__BackingField: {fileID: 8300000, guid: 9778d97789d1ea245a9d31c2ff915bb7, type: 3} + - k__BackingField: GainGold + k__BackingField: {fileID: 8300000, guid: f556df27b6add5a49979cc7a158f6110, type: 3} + - k__BackingField: RareRewardBox + k__BackingField: {fileID: 8300000, guid: 3f98ecaf35492e744bb4dc943e1a39b1, type: 3} diff --git a/Assets/02.Scripts/Skill/Player/Combat/TheWaltzOfTheSword.cs b/Assets/02.Scripts/Skill/Player/Combat/TheWaltzOfTheSword.cs index e8fbc3f61..e9fbe90bd 100644 --- a/Assets/02.Scripts/Skill/Player/Combat/TheWaltzOfTheSword.cs +++ b/Assets/02.Scripts/Skill/Player/Combat/TheWaltzOfTheSword.cs @@ -145,7 +145,7 @@ namespace BlueWater.Players.Combat.Skills } _animationController.SetCurrentAnimationSpeed(SkillData.Duration); - AudioManager.Instance.PlaySfx("CombatPlayerMainSkill", SkillData.Duration); + AudioManager.Instance.PlaySfx("CombatPlayerMainSkill", duration: SkillData.Duration); _intervalTime = 1f / _theWaltzOfTheSwordData.MaxAttackCount; if (_theWaltzOfTheSwordData.IsFollowingTargetCamera) diff --git a/Assets/02.Scripts/Tycoon/CustomerController.cs b/Assets/02.Scripts/Tycoon/CustomerController.cs index c39bddbad..2a1978fb2 100644 --- a/Assets/02.Scripts/Tycoon/CustomerController.cs +++ b/Assets/02.Scripts/Tycoon/CustomerController.cs @@ -1,8 +1,8 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using BlueWater.Audios; using BlueWater.Interfaces; -using BlueWater.Items; using BlueWater.Npcs.Customers; using BlueWater.Utility; using Sirenix.OdinInspector; @@ -18,6 +18,9 @@ namespace BlueWater.Tycoons [SerializeField, Required] private Transform _customerSpawnTransform; + + [SerializeField] + private string _createCustomerSfxName = "CreateCustomer"; [Title("대기중인 손님 정보")] [SerializeField] @@ -55,6 +58,7 @@ namespace BlueWater.Tycoons newCustomer.gameObject.name = $"Customer (Clone) {_instanceCount}"; _instanceCount++; RegisterCustomer(newCustomer); + AudioManager.Instance.PlaySfx(_createCustomerSfxName); return newCustomer; } diff --git a/Assets/02.Scripts/Tycoon/LiquidController.cs b/Assets/02.Scripts/Tycoon/LiquidController.cs index 3b84cfbae..1de4e98ff 100644 --- a/Assets/02.Scripts/Tycoon/LiquidController.cs +++ b/Assets/02.Scripts/Tycoon/LiquidController.cs @@ -2,6 +2,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using BlueWater.Audios; using BlueWater.Items; using BlueWater.Players.Tycoons; using BlueWater.Tycoons; @@ -58,6 +59,16 @@ namespace BlueWater [SerializeField] private float _pushPower = 50; + + [Title("사운드")] + [SerializeField] + private string _pouringSfxName = "Pouring"; + + [SerializeField] + private string _succeedMakingCocktailSfxName = "SucceedMakingCocktail"; + + [SerializeField] + private string _failedMakingCocktailSfxName = "FailedMakingCocktail"; [Title("Liquid / Garnish")] [SerializeField, Required, Tooltip("원액 프리팹")] @@ -231,8 +242,8 @@ namespace BlueWater EventManager.OnCocktailServedToCustomer -= ReleaseAllObject; EventManager.OnChangedRandomCocktail -= ReleaseAllObject; LiquidIngredient.OnReachedTarget -= OnTargetReached; - LiquidBarrel.OnBarrelInteracted -= HandleBarrelInteraction; - LiquidBarrel.OnBarrelCancelInteracted -= HandleBarrelCancelInteraction; + Barrel.OnBarrelInteracted -= HandleBarrelInteraction; + Barrel.OnBarrelCancelInteracted -= HandleBarrelCancelInteraction; } #endregion @@ -351,6 +362,7 @@ namespace BlueWater _elapsedTime = 0f; _isPouring = true; + AudioManager.Instance.PlaySfx(_pouringSfxName, loop: true); // To Center 이동 코루틴이 활성화 중이지 않을 때 if (_movePanelToCenterInstance == null) @@ -368,6 +380,7 @@ namespace BlueWater public void HandleBarrelCancelInteraction() { _isPouring = false; + AudioManager.Instance.StopSfx(_pouringSfxName); Utils.StartUniqueCoroutine(this, ref _movePanelToPlayerInstance, MovePanelToPlayer()); } @@ -463,11 +476,12 @@ namespace BlueWater { matchingCocktail = ItemManager.Instance.CocktailDataSo.GetDataByIdx("Cocktail000"); _completeText.text = Utils.GetLocalizedString("Failure"); + AudioManager.Instance.PlaySfx(_failedMakingCocktailSfxName); } else { - _completeText.text = $"{Utils.GetLocalizedString("Success")}!\n{Utils.GetLocalizedString(matchingCocktail.Idx)}"; + AudioManager.Instance.PlaySfx(_succeedMakingCocktailSfxName); } _shaker.SetActive(false); diff --git a/Assets/02.Scripts/Tycoon/TycoonGameOver.cs b/Assets/02.Scripts/Tycoon/TycoonGameOver.cs index d40d87a6b..d645fec36 100644 --- a/Assets/02.Scripts/Tycoon/TycoonGameOver.cs +++ b/Assets/02.Scripts/Tycoon/TycoonGameOver.cs @@ -1,7 +1,6 @@ -using System; using System.Collections; using BlueWater; -using BlueWater.Uis; +using BlueWater.Audios; using UnityEngine; using Sirenix.OdinInspector; using Color = UnityEngine.Color; @@ -9,7 +8,10 @@ using Image = UnityEngine.UI.Image; using Random = UnityEngine.Random; public class TycoonGameOver : MonoBehaviour -{ +{ + [SerializeField] + private string _gameOverSfxName = "TycoonGameOver"; + // RectTransform을 통해 UI 오브젝트 위치를 제어 private RectTransform _shipRectTransform; private GameObject _panel; @@ -71,6 +73,7 @@ public class TycoonGameOver : MonoBehaviour // 코루틴 정의 IEnumerator MoveObject() { + AudioManager.Instance.PlaySfx(_gameOverSfxName, ignoreTimeScale: true); VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f); PlayerInputKeyManager.Instance.DisableAction("Manual"); _panel.SetActive(true); diff --git a/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs b/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs index f5f20c58d..8b276ffca 100644 --- a/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/ExpUi.cs @@ -1,5 +1,6 @@ using System.Collections; using System.Collections.Generic; +using BlueWater.Audios; using BlueWater.Tycoons; using BlueWater.Utility; using DG.Tweening; @@ -24,6 +25,9 @@ namespace BlueWater.Uis [SerializeField] private float _animationTime = 0.2f; + [SerializeField] + private string _levelUpSfxName = "LevelUp"; + [Title("레벨 텍스트")] [SerializeField] private Vector3 _punchScale = new(1.5f, 1.5f, 1.5f); @@ -113,6 +117,7 @@ namespace BlueWater.Uis yield return _expSliderTween.WaitForCompletion(); TycoonManager.Instance.TycoonStatus.CurrentLevel++; + AudioManager.Instance.PlaySfx(_levelUpSfxName); currentLevelData = TycoonManager.Instance.GetCurrentLevelData(); requireExp = currentLevelData.RequiredExp; diff --git a/Assets/02.Scripts/Ui/Tycoon/ManualBook.cs b/Assets/02.Scripts/Ui/Tycoon/ManualBook.cs index d2afd34f7..982067825 100644 --- a/Assets/02.Scripts/Ui/Tycoon/ManualBook.cs +++ b/Assets/02.Scripts/Ui/Tycoon/ManualBook.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using BlueWater.Audios; using BlueWater.Items; using BlueWater.Tycoons; using BlueWater.Utility; @@ -43,6 +44,9 @@ namespace BlueWater.Uis [field: SerializeField] private TextMeshProUGUI ratioRange; + [SerializeField] + private string _manualSfxName = "ManualBook"; + List _button = new List(); private Coroutine _changedLocaleInstance; private ManualCocktailButton _selectedManualCocktailButton; @@ -170,6 +174,7 @@ namespace BlueWater.Uis public override void Open() { + AudioManager.Instance.PlaySfx(_manualSfxName, ignoreTimeScale: true); VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f); PlayerInputKeyManager.Instance.SwitchCurrentActionMap(SwitchMapsOpened); PopupUiController.RegisterPopup(this); @@ -184,6 +189,7 @@ namespace BlueWater.Uis public override void Close() { + AudioManager.Instance.PlaySfx(_manualSfxName, ignoreTimeScale: true); _panel.SetActive(false); PopupUiController.UnregisterPopup(this); PlayerInputKeyManager.Instance.SwitchCurrentActionMap(SwitchMapsClosed); diff --git a/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs b/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs index 7dadccc83..049484081 100644 --- a/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/PayMoneyUi.cs @@ -1,3 +1,4 @@ +using BlueWater.Audios; using BlueWater.Tycoons; using DG.Tweening; using TMPro; @@ -21,9 +22,14 @@ namespace BlueWater.Uis [SerializeField] private float _duration = 2f; + + [SerializeField] + private string _gainGoldSfxName = "GainGold"; - public void Initialize(int gold, bool isTip) + public void Initialize(int gold, bool isTip, float duration = -1f) { + float newDuration = duration >= 0f ? duration : _duration; + EventManager.InvokeAddedGold(gold, isTip); _text.text = gold.ToString("N0"); @@ -32,10 +38,11 @@ namespace BlueWater.Uis var payMoneyParticle = Instantiate(_payMoneyParticle, transform.position, _payMoneyParticle.transform.rotation); payMoneyParticle.Play(); + AudioManager.Instance.PlaySfx(_gainGoldSfxName); var tween = DOTween.Sequence().SetAutoKill(true); - tween.Append(_rect.DOLocalMoveY(endPosition.y, _duration).SetEase(Ease.InOutSine)); - tween.Join(_rect.DOScale(Vector3.zero, _duration).SetEase(Ease.InBack)); + tween.Append(_rect.DOLocalMoveY(endPosition.y, newDuration).SetEase(Ease.InOutSine)); + tween.Join(_rect.DOScale(Vector3.zero, newDuration).SetEase(Ease.InBack)); tween.OnComplete(() => Destroy(gameObject)); } diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonRareRewardBoxUi.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonRareRewardBoxUi.cs index dd43b4d88..70c1a3048 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonRareRewardBoxUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonRareRewardBoxUi.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using BlueWater.Audios; using BlueWater.Tycoons; using UnityEngine; using Sirenix.OdinInspector; @@ -16,6 +17,9 @@ namespace BlueWater.Uis [SerializeField] private Vector3 _cardLocalScale = new(0.65f, 0.65f, 1f); + [SerializeField] + private string _openSfxName = "RareRewardBox"; + private List _tycoonCards = new(5); private LevelData _currentLevelData; @@ -39,6 +43,7 @@ namespace BlueWater.Uis public override void Open() { + AudioManager.Instance.PlaySfx(_openSfxName, ignoreTimeScale: true); PlayerInputKeyManager.Instance.DisableAction("OpenManualBook"); VisualFeedbackManager.Instance.SetBaseTimeScale(0.0f); PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.TycoonUi); diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs index 0fc06d12c..ee6c7d617 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonStageUi.cs @@ -1,3 +1,4 @@ +using BlueWater.Audios; using DG.Tweening; using Sirenix.OdinInspector; using UnityEngine; @@ -24,6 +25,9 @@ namespace BlueWater.Uis [SerializeField] private Animator _closedUiAnimator; + + [SerializeField] + private string _gameStartSfxName = "TycoonGameStart"; // Variables private Tween _openUiStartTween; @@ -89,6 +93,7 @@ namespace BlueWater.Uis PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); _panel.SetActive(true); _openUiImage.SetActive(true); + AudioManager.Instance.PlaySfx(_gameStartSfxName, ignoreTimeScale: true); }) .OnComplete(() => { diff --git a/Assets/02.Scripts/Ui/Tycoon/TycoonStartShopUi.cs b/Assets/02.Scripts/Ui/Tycoon/TycoonStartShopUi.cs index a29285ccd..f0f3f2d5e 100644 --- a/Assets/02.Scripts/Ui/Tycoon/TycoonStartShopUi.cs +++ b/Assets/02.Scripts/Ui/Tycoon/TycoonStartShopUi.cs @@ -1,12 +1,12 @@ using System.Collections; using System.Collections.Generic; +using BlueWater.Audios; using BlueWater.Tycoons; using BlueWater.Utility; using DG.Tweening; using UnityEngine; using Sirenix.OdinInspector; using TMPro; -using UnityEngine.Serialization; namespace BlueWater.Uis { @@ -33,6 +33,9 @@ namespace BlueWater.Uis [Title("구매 성공 연출")] [SerializeField] private float _endGoldChangeDuration = 1f; + + [SerializeField] + private string _soldOutSfxName = "SoldOut"; [Title("구매 실패 연출")] [SerializeField] @@ -188,6 +191,7 @@ namespace BlueWater.Uis Utils.StartUniqueCoroutine(this, ref _changeGoldInstance, AnimateGoldChange()); currentTycoonCard.CardArea.SuccessClick(); Instantiate(_soldOutPrefab, currentTycoonCard.transform); + AudioManager.Instance.PlaySfx(_soldOutSfxName, ignoreTimeScale: true); _tycoonCardController.SelectedCard(currentTycoonCard); } diff --git a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab index 3d435ea1c..55297e1e5 100644 --- a/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab +++ b/Assets/05.Prefabs/Characters/Players/TycoonPlayer.prefab @@ -385,6 +385,7 @@ MonoBehaviour: k__BackingField: 4 k__BackingField: 0 k__BackingField: 0 + heartRecoverySfxName: HeartRecovery --- !u!114 &1674052485383758547 MonoBehaviour: m_ObjectHideFlags: 0 @@ -397,7 +398,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 2bc02c60fe9bf724885e9f5713f900ee, type: 3} m_Name: m_EditorClassIdentifier: - _playerInput: {fileID: 0} --- !u!114 &4836489897218844789 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/Assets/06.Sounds/Sfx/Tycoon.meta b/Assets/06.Sounds/Sfx/Tycoon.meta new file mode 100644 index 000000000..fad993d85 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b898aa0b27799784db3028233d72d247 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/angry.mp3 b/Assets/06.Sounds/Sfx/Tycoon/angry.mp3 new file mode 100644 index 000000000..41403c88b Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/angry.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/angry.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/angry.mp3.meta new file mode 100644 index 000000000..c835de86c --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/angry.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 4dd3c1455781be74ca6018fc0bc8a269 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3 b/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3 new file mode 100644 index 000000000..0db3d509a Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3.meta new file mode 100644 index 000000000..b2e5d3414 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/bad sound.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: eec6653ead890d24883490f21fb814ab +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3 b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3 new file mode 100644 index 000000000..f81d54a6d Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3.meta new file mode 100644 index 000000000..ba17201d8 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk 2.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a93c110f0e554e94380239083a78e937 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3 b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3 new file mode 100644 index 000000000..a8fd3231a Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3.meta new file mode 100644 index 000000000..4e2a530a1 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/cartoon talk.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: d42c42481880af846bc539c8dda0dd65 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3 b/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3 new file mode 100644 index 000000000..457fbe486 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3.meta new file mode 100644 index 000000000..83db8c244 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/clean floor.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 67376a69110e3974d8881b5c746622a7 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3 b/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3 new file mode 100644 index 000000000..636e905c3 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3.meta new file mode 100644 index 000000000..23d69f0ce --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/clean table.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 717f06a127178564ab5ea8cdf9da3ef2 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/coin.mp3 b/Assets/06.Sounds/Sfx/Tycoon/coin.mp3 new file mode 100644 index 000000000..4f1120171 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/coin.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/coin.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/coin.mp3.meta new file mode 100644 index 000000000..a61489e91 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/coin.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: f556df27b6add5a49979cc7a158f6110 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3 b/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3 new file mode 100644 index 000000000..9d46440e8 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3.meta new file mode 100644 index 000000000..876382476 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/door bell 2.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: cdccda37bdd4fb74d9cc670189794dce +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3 b/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3 new file mode 100644 index 000000000..7fcca3e13 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3.meta new file mode 100644 index 000000000..f61bdc408 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/door bell.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 61efd3c79b807e24290da224ccf2e04e +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/game over.mp3 b/Assets/06.Sounds/Sfx/Tycoon/game over.mp3 new file mode 100644 index 000000000..eceff0f43 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/game over.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/game over.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/game over.mp3.meta new file mode 100644 index 000000000..9838fd508 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/game over.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 7163b3c58a6e6b04794cee1e110f19de +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3 b/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3 new file mode 100644 index 000000000..b1ef07603 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3.meta new file mode 100644 index 000000000..b99263b4b --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/good sound.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 2d6aad5746316bf4fb6bb7aed8d89c4e +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3 b/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3 new file mode 100644 index 000000000..bbfddbc54 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3.meta new file mode 100644 index 000000000..9d37ffff0 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/heart heal.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: bb125f9dcd56e5141af49d54c535ca9d +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/level up.mp3 b/Assets/06.Sounds/Sfx/Tycoon/level up.mp3 new file mode 100644 index 000000000..88a89a94a Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/level up.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/level up.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/level up.mp3.meta new file mode 100644 index 000000000..5b613e3a1 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/level up.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 777be2010239e664880448c5a385cf90 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3 b/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3 new file mode 100644 index 000000000..1414fb4b4 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3.meta new file mode 100644 index 000000000..1d7351c03 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/magic potion.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a7c9d37c7739eeb46aba37b9bdf33f2a +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3 b/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3 new file mode 100644 index 000000000..ad1505ba8 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3.meta new file mode 100644 index 000000000..a51e78901 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/magic success.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 959b0bbf4a2bf104e960c3d0c33a960c +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/pause.mp3 b/Assets/06.Sounds/Sfx/Tycoon/pause.mp3 new file mode 100644 index 000000000..f75d1603f Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/pause.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/pause.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/pause.mp3.meta new file mode 100644 index 000000000..1e1d935ec --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/pause.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: df44852bc210f7343957cc9671b10d73 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3 b/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3 new file mode 100644 index 000000000..dff6807c3 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3.meta new file mode 100644 index 000000000..a32479999 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/perfect tada.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 3f98ecaf35492e744bb4dc943e1a39b1 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3 b/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3 new file mode 100644 index 000000000..0cc2a8e96 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3.meta new file mode 100644 index 000000000..28dfbe59d --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/stamp.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9778d97789d1ea245a9d31c2ff915bb7 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3 b/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3 new file mode 100644 index 000000000..b27a5ba47 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3.meta new file mode 100644 index 000000000..f856437ab --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/trash can.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 2d25fd7b9765c6545a3d6743e0e64f79 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3 b/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3 new file mode 100644 index 000000000..1b7b87e84 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3.meta new file mode 100644 index 000000000..a8225da7e --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/water drop.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: bb840fbf163a15a4c8ac3001253635ba +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3 b/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3 new file mode 100644 index 000000000..43aa9f959 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3.meta new file mode 100644 index 000000000..146176400 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/whole magic.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ed843cf1c54f59f48aa7c69ca5333db3 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3 b/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3 new file mode 100644 index 000000000..c241297b5 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3.meta new file mode 100644 index 000000000..b77f5d9ac --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/wind UI.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a324e82da09f7f84cab40d74f755c9e8 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3 b/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3 new file mode 100644 index 000000000..7c1143455 Binary files /dev/null and b/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3 differ diff --git a/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3.meta b/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3.meta new file mode 100644 index 000000000..1d8858118 --- /dev/null +++ b/Assets/06.Sounds/Sfx/Tycoon/windows error.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 9ddc9a4fd9812b6469754758fa424c6f +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: