completed intro video and mainmenu scene
This commit is contained in:
@@ -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<IntroCompletedSignal>(OnIntroComplete);
|
||||
}
|
||||
|
||||
private void OnIntroComplete(IntroCompletedSignal signal)
|
||||
{
|
||||
_view.PlayMascotIntro();
|
||||
}
|
||||
|
||||
private void OnPlayBtnClicked()
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Darkmatter.Features.Mainmenu
|
||||
{
|
||||
public class PlayBtnEffector : MonoBehaviour
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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<Animator>();
|
||||
playBtn = GetComponent<Button>();
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
playBtn.onClick.AddListener(OnPlayBtnClicked);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5547,9 +5547,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: b2e90f858cdbce54abda9b9150c05a27, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Features.Mainmenu::Darkmatter.Features.Mainmenu.MainmenuView
|
||||
playBtn: {fileID: 944146709}
|
||||
playBtnParticle: {fileID: 247050072}
|
||||
playBtnAnimator: {fileID: 944146712}
|
||||
playBtn: {fileID: 944146713}
|
||||
mascotSkeletonGraphic: {fileID: 1313981500}
|
||||
jumpAnimation: jump
|
||||
idleAnimation: Idle
|
||||
@@ -5944,6 +5942,7 @@ GameObject:
|
||||
- component: {fileID: 944146710}
|
||||
- component: {fileID: 944146709}
|
||||
- component: {fileID: 944146712}
|
||||
- component: {fileID: 944146713}
|
||||
m_Layer: 5
|
||||
m_Name: PlayBtn
|
||||
m_TagString: Untagged
|
||||
@@ -6074,6 +6073,19 @@ Animator:
|
||||
m_AllowConstantClipSamplingOptimization: 1
|
||||
m_KeepAnimatorStateOnDisable: 0
|
||||
m_WriteDefaultValuesOnDisable: 0
|
||||
--- !u!114 &944146713
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 944146707}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 26f12f86a29f25046a03d5f29e123beb, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Features.Mainmenu::Darkmatter.Features.Mainmenu.PlayBtnEffector
|
||||
playBtnParticle: {fileID: 247050072}
|
||||
--- !u!1 &1027389573
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6239,86 +6251,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 11551a88f8a7aed4ea3d9b1333736a95, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Features.Mainmenu::Darkmatter.Features.Mainmenu.MainmenuInstallers
|
||||
mainmenuView: {fileID: 710324176}
|
||||
--- !u!1 &1141530807
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1141530810}
|
||||
- component: {fileID: 1141530809}
|
||||
- component: {fileID: 1141530808}
|
||||
m_Layer: 0
|
||||
m_Name: EventSystem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1141530808
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1141530807}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 01614664b831546d2ae94a42149d80ac, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Unity.InputSystem::UnityEngine.InputSystem.UI.InputSystemUIInputModule
|
||||
m_SendPointerHoverToParent: 1
|
||||
m_MoveRepeatDelay: 0.5
|
||||
m_MoveRepeatRate: 0.1
|
||||
m_XRTrackingOrigin: {fileID: 0}
|
||||
m_ActionsAsset: {fileID: -944628639613478452, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_PointAction: {fileID: -1654692200621890270, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_MoveAction: {fileID: -8784545083839296357, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_SubmitAction: {fileID: 392368643174621059, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_CancelAction: {fileID: 7727032971491509709, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_LeftClickAction: {fileID: 3001919216989983466, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_MiddleClickAction: {fileID: -2185481485913320682, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_RightClickAction: {fileID: -4090225696740746782, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_ScrollWheelAction: {fileID: 6240969308177333660, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_TrackedDevicePositionAction: {fileID: 6564999863303420839, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_TrackedDeviceOrientationAction: {fileID: 7970375526676320489, guid: ca9f5fa95ffab41fb9a615ab714db018, type: 3}
|
||||
m_DeselectOnBackgroundClick: 1
|
||||
m_PointerBehavior: 0
|
||||
m_CursorLockBehavior: 0
|
||||
m_ScrollDeltaPerTick: 6
|
||||
--- !u!114 &1141530809
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1141530807}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.EventSystems.EventSystem
|
||||
m_FirstSelected: {fileID: 0}
|
||||
m_sendNavigationEvents: 1
|
||||
m_DragThreshold: 10
|
||||
--- !u!4 &1141530810
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1141530807}
|
||||
serializedVersion: 2
|
||||
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: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
mainMenuView: {fileID: 710324176}
|
||||
--- !u!1 &1313981498
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -6468,7 +6401,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Darkmatter.App::MainmenuLifetimeScope
|
||||
parentReference:
|
||||
TypeName: Darkmatter.App.LifetimeScopes.GameLifetimeScope
|
||||
TypeName: Darkmatter.App.LifetimeScopes.RootLifetimeScope
|
||||
autoRun: 1
|
||||
autoInjectGameObjects: []
|
||||
serviceModules:
|
||||
@@ -26676,4 +26609,3 @@ SceneRoots:
|
||||
- {fileID: 1407834210}
|
||||
- {fileID: 619394802}
|
||||
- {fileID: 2069155641}
|
||||
- {fileID: 1141530810}
|
||||
|
||||
Reference in New Issue
Block a user