From 3f14d0b34693e0aa0d4837a3b607dfc243dda028 Mon Sep 17 00:00:00 2001 From: Mausham Date: Thu, 28 May 2026 15:37:33 +0545 Subject: [PATCH] completed intro video and mainmenu scene --- .../Features/MainMenu/UI/MainMenuPresenter.cs | 17 +-- .../Code/Features/MainMenu/UI/MainMenuView.cs | 25 +---- .../Features/MainMenu/UI/PlayBtnEffector.cs | 9 -- .../Features/MainMenu/UI/PlayButtonView.cs | 43 ++++++++ ...ffector.cs.meta => PlayButtonView.cs.meta} | 0 Assets/Darkmatter/Scenes/MainMenu.unity | 102 +++--------------- 6 files changed, 74 insertions(+), 122 deletions(-) delete mode 100644 Assets/Darkmatter/Code/Features/MainMenu/UI/PlayBtnEffector.cs create mode 100644 Assets/Darkmatter/Code/Features/MainMenu/UI/PlayButtonView.cs rename Assets/Darkmatter/Code/Features/MainMenu/UI/{PlayBtnEffector.cs.meta => PlayButtonView.cs.meta} (100%) diff --git a/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuPresenter.cs b/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuPresenter.cs index d77beda..ca4e46a 100644 --- a/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuPresenter.cs +++ b/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuPresenter.cs @@ -1,4 +1,5 @@ using System; +using Darkmatter.Core.Data.Signals.Features.AppBoot; using Darkmatter.Libs.Observer; using UnityEngine; using VContainer.Unity; @@ -7,16 +8,12 @@ namespace Darkmatter.Features.Mainmenu { public class MainMenuPresenter : IStartable, IDisposable { -<<<<<<<< HEAD:Assets/Darkmatter/Code/Features/MainMenu/UI/MainmenuPresenter.cs - private readonly MainmenuView _view; private readonly IEventBus _eventBus; - - public MainmenuPresenter(MainmenuView view, IEventBus eventBus) -======== private readonly MainMenuView _view; - public MainMenuPresenter(MainMenuView view) ->>>>>>>> origin/main:Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuPresenter.cs + + + public MainMenuPresenter(MainMenuView view, IEventBus eventBus) { _view = view; _eventBus = eventBus; @@ -25,6 +22,12 @@ namespace Darkmatter.Features.Mainmenu public void Start() { _view.OnPlayBtnClickedEvent += OnPlayBtnClicked; + _eventBus.Subscribe(OnIntroComplete); + } + + private void OnIntroComplete(IntroCompletedSignal signal) + { + _view.PlayMascotIntro(); } private void OnPlayBtnClicked() diff --git a/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuView.cs b/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuView.cs index bc5d2ed..079f451 100644 --- a/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuView.cs +++ b/Assets/Darkmatter/Code/Features/MainMenu/UI/MainMenuView.cs @@ -10,10 +10,8 @@ namespace Darkmatter.Features.Mainmenu public class MainMenuView : MonoBehaviour { [Header("UI Elements")] - [SerializeField] private Button playBtn; - [SerializeField] private ParticleSystem playBtnParticle; - [SerializeField] private Animator playBtnAnimator; - + //[SerializeField] private Button playBtn; + [SerializeField] private PlayButtonView playBtn; [SerializeField] private SkeletonGraphic mascotSkeletonGraphic; [Header("Mascot Animations")] @@ -28,8 +26,7 @@ namespace Darkmatter.Features.Mainmenu private void Start() { - playBtn.onClick.AddListener(OnPlayBtnClicked); - PlayMascotIntro(); + playBtn.OnPlayBtnClickedEvent += () => OnPlayBtnClickedEvent?.Invoke(); } private void OnDisable() @@ -39,7 +36,7 @@ namespace Darkmatter.Features.Mainmenu helloCts = null; } - private void PlayMascotIntro() + public void PlayMascotIntro() { var state = mascotSkeletonGraphic.AnimationState; state.SetAnimation(0, jumpAnimation, false); @@ -59,19 +56,5 @@ namespace Darkmatter.Features.Mainmenu state.AddAnimation(0, idleAnimation, true, 0f); } } - - private void OnPlayBtnClicked() - { - playBtn.interactable = false; - playBtnAnimator.enabled = false; - PlayBtnSequenceAsync(this.GetCancellationTokenOnDestroy()).Forget(); - } - - private async UniTaskVoid PlayBtnSequenceAsync(CancellationToken token) - { - playBtnParticle.Play(); - await UniTask.WaitUntil(() => !playBtnParticle.IsAlive(true), cancellationToken: token); - OnPlayBtnClickedEvent?.Invoke(); - } } } diff --git a/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayBtnEffector.cs b/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayBtnEffector.cs deleted file mode 100644 index 0005e4c..0000000 --- a/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayBtnEffector.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine; - -namespace Darkmatter.Features.Mainmenu -{ - public class PlayBtnEffector : MonoBehaviour - { - - } -} diff --git a/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayButtonView.cs b/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayButtonView.cs new file mode 100644 index 0000000..5e9d0f4 --- /dev/null +++ b/Assets/Darkmatter/Code/Features/MainMenu/UI/PlayButtonView.cs @@ -0,0 +1,43 @@ +using System; +using System.Threading; +using Cysharp.Threading.Tasks; +using UnityEngine; +using UnityEngine.UI; + +namespace Darkmatter.Features.Mainmenu +{ + public class PlayButtonView : MonoBehaviour + { + private Button playBtn; + private Animator playBtnAnimator; + [SerializeField] private ParticleSystem playBtnParticle; + + public event Action OnPlayBtnClickedEvent; + + private void Awake() + { + playBtnAnimator = GetComponent(); + playBtn = GetComponent