From b224dc1648e2475abe4e217217a310347510a47c Mon Sep 17 00:00:00 2001 From: kittyegg Date: Sat, 6 Jun 2026 15:31:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=82=D0=B0=D0=B9=D0=BC=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/Island.unity | 19 +++++++++++++ Assets/Scripts/UI/TimerViewer.cs | 39 +++++++++++++++++++++++++++ Assets/Scripts/UI/TimerViewer.cs.meta | 2 ++ 3 files changed, 60 insertions(+) create mode 100644 Assets/Scripts/UI/TimerViewer.cs create mode 100644 Assets/Scripts/UI/TimerViewer.cs.meta diff --git a/Assets/Scenes/Island.unity b/Assets/Scenes/Island.unity index dbf80f5..01c9536 100644 --- a/Assets/Scenes/Island.unity +++ b/Assets/Scenes/Island.unity @@ -6051,6 +6051,7 @@ GameObject: - component: {fileID: 769732339} - component: {fileID: 769732338} - component: {fileID: 769732337} + - component: {fileID: 769732340} m_Layer: 0 m_Name: StartLevelButton m_TagString: Untagged @@ -6184,6 +6185,21 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 769732335} m_CullTransparentMesh: 1 +--- !u!114 &769732340 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 769732335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a8f51f072b7c7e64b8fde0e36109e334, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::TimerViewer + _timer: {fileID: 2072548928} + _gameManager: {fileID: 1875710079} + _btnText: {fileID: 1462583103} --- !u!1001 &778348370 PrefabInstance: m_ObjectHideFlags: 0 @@ -15692,6 +15708,9 @@ MonoBehaviour: m_EditorClassIdentifier: Assembly-CSharp::TurretsBuildTimer _gameManager: {fileID: 1875710079} _buildTime: 10 + _onTick: + m_PersistentCalls: + m_Calls: [] --- !u!1001 &2096698926 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/UI/TimerViewer.cs b/Assets/Scripts/UI/TimerViewer.cs new file mode 100644 index 0000000..0d7ed4f --- /dev/null +++ b/Assets/Scripts/UI/TimerViewer.cs @@ -0,0 +1,39 @@ +using UnityEngine; + +public class TimerViewer : MonoBehaviour +{ + [SerializeField] private TurretsBuildTimer _timer; + [SerializeField] private GameManager _gameManager; + [SerializeField] private TMPro.TextMeshProUGUI _btnText; + + private bool _isFirstTime = true; + + private void OnEnable() + { + _timer.OnTick += OnTick; + _gameManager.OnLevelChanged += OnLevelStart; + } + + private void OnDisable() + { + _timer.OnTick -= OnTick; + _gameManager.OnLevelChanged -= OnLevelStart; + } + + private void OnTick(TurretsBuildTimer.OnTickEventArgs args) + { + if (_isFirstTime) + { + _btnText.text = $"Start ({args.SecondsLeft:0})"; + return; + } + + _btnText.text = $"Next wave ({args.SecondsLeft:0})"; + } + + private void OnLevelStart(GameManager.OnLevelChangedEventArgs _) + { + _isFirstTime = false; + _btnText.text = "Next wave"; + } +} diff --git a/Assets/Scripts/UI/TimerViewer.cs.meta b/Assets/Scripts/UI/TimerViewer.cs.meta new file mode 100644 index 0000000..36e42ed --- /dev/null +++ b/Assets/Scripts/UI/TimerViewer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a8f51f072b7c7e64b8fde0e36109e334 \ No newline at end of file