From 42e301c895cbaa243c9633b9382cede22f429acb Mon Sep 17 00:00:00 2001 From: kittyegg Date: Sun, 7 Jun 2026 12:51:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20=D0=B7?= =?UTF-8?q?=D0=B2=D1=83=D0=BA=20=D1=82=D1=80=D0=B0=D1=82=D1=8B=20=D0=B4?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=B3=20=D0=B2=D0=BE=D1=81=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B8=D0=B7=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=D1=81=D1=8F=20=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BF=D1=80=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BF=D0=BA=D0=B5=20=D1=82=D1=83=D1=80=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/Island.unity | 4 ++++ Assets/Scripts/AudioManager.cs | 26 +++++++++++++++++--------- Assets/Scripts/TurretsShop.cs | 8 ++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/Assets/Scenes/Island.unity b/Assets/Scenes/Island.unity index 8717c5c..5c3fc42 100644 --- a/Assets/Scenes/Island.unity +++ b/Assets/Scenes/Island.unity @@ -11915,6 +11915,9 @@ MonoBehaviour: _onBlockDeselected: m_PersistentCalls: m_Calls: [] + _onTurretBought: + m_PersistentCalls: + m_Calls: [] --- !u!114 &1311268620 MonoBehaviour: m_ObjectHideFlags: 0 @@ -12760,6 +12763,7 @@ MonoBehaviour: m_EditorClassIdentifier: '::' _wallet: {fileID: 1030979928} _gameManager: {fileID: 1875710079} + _shop: {fileID: 1311268619} _levelBackgroundMusic: {fileID: 1897118789} _buildBackgroundMusic: {fileID: 1417807937} _winMusic: {fileID: 0} diff --git a/Assets/Scripts/AudioManager.cs b/Assets/Scripts/AudioManager.cs index a59955e..0ffd093 100644 --- a/Assets/Scripts/AudioManager.cs +++ b/Assets/Scripts/AudioManager.cs @@ -4,6 +4,7 @@ public class AudioManager : MonoBehaviour { [SerializeField] private Wallet _wallet; [SerializeField] private GameManager _gameManager; + [SerializeField] private TurretsShop _shop; [SerializeField] private AudioSource _levelBackgroundMusic; [SerializeField] private AudioSource _buildBackgroundMusic; [SerializeField] private AudioSource _winMusic; @@ -22,14 +23,16 @@ public class AudioManager : MonoBehaviour _money = _wallet.Money; _state = _gameManager.CurrentState; - _wallet.OnMoneyChanged += OnMoneyChanged; + //_wallet.OnMoneyChanged += OnMoneyChanged; _gameManager.OnStateChanged += OnStateChanged; + _shop.OnTurretBought += OnTurretBought; } private void OnDisable() { - _wallet.OnMoneyChanged -= OnMoneyChanged; + //_wallet.OnMoneyChanged -= OnMoneyChanged; _gameManager.OnStateChanged -= OnStateChanged; + _shop.OnTurretBought -= OnTurretBought; } public void PlayBlockDestroySound(BlockScript block) @@ -43,17 +46,22 @@ public class AudioManager : MonoBehaviour } } - private void OnMoneyChanged(int money) + private void OnTurretBought(TurretShopItem _) { - var oldMoney = _money; - _money = money; - - if (_moneyChangeSound.Length == 0 || oldMoney <= money) - return; - Play(_moneyChangeSound, ref _moneyChangeSoundIndex); } + //private void OnMoneyChanged(int money) + //{ + // var oldMoney = _money; + // _money = money; + + // if (_moneyChangeSound.Length == 0 || oldMoney <= money) + // return; + + // Play(_moneyChangeSound, ref _moneyChangeSoundIndex); + //} + private void OnStateChanged(GameManager.GameState newState) { if (newState == _state || diff --git a/Assets/Scripts/TurretsShop.cs b/Assets/Scripts/TurretsShop.cs index 8a974d0..b5e840e 100644 --- a/Assets/Scripts/TurretsShop.cs +++ b/Assets/Scripts/TurretsShop.cs @@ -13,6 +13,7 @@ public class TurretsShop : MonoBehaviour [SerializeField] private TurretShopItem[] _turretShopItems; [SerializeField] private UnityEvent _onBlockSelected; [SerializeField] private UnityEvent _onBlockDeselected; + [SerializeField] private UnityEvent _onTurretBought; public IReadOnlyCollection TurretShopItems => _turretShopItems; @@ -28,6 +29,12 @@ public class TurretsShop : MonoBehaviour remove => _onBlockDeselected.RemoveListener(value); } + public event UnityAction OnTurretBought + { + add => _onTurretBought.AddListener(value); + remove => _onTurretBought.RemoveListener(value); + } + private BlockScript _selectedBlock; private void OnEnable() @@ -77,6 +84,7 @@ public class TurretsShop : MonoBehaviour _wallet.TakeMoney(item.Price); Instantiate(item.TurretPrefab, _selectedBlock.transform.position + Vector3.up, Quaternion.identity, _turretsHolder); + _onTurretBought?.Invoke(item); DeselectBlock(); }