mirror of
https://github.com/Bragin-Stepan/project-entity.git
synced 2026-03-05 15:51:10 +00:00
init: add project
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
using System.Collections.Generic;
|
||||
using _Project.Develop.Runtime.UI.Core;
|
||||
using _Project.Develop.Runtime.UI.Features.Wallet;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.MainMenu
|
||||
{
|
||||
public class MainMenuScreenPresenter : IPresenter
|
||||
{
|
||||
private readonly MainMenuScreenView _screen;
|
||||
private readonly ProjectPresentersFactory _projectPresentersFactory;
|
||||
private readonly MainMenuPopupService _popupService;
|
||||
|
||||
private readonly List<IPresenter> _childPresenters = new();
|
||||
|
||||
public MainMenuScreenPresenter(
|
||||
MainMenuScreenView screen,
|
||||
ProjectPresentersFactory projectPresentersFactory,
|
||||
MainMenuPopupService popupService)
|
||||
{
|
||||
_screen = screen;
|
||||
_projectPresentersFactory = projectPresentersFactory;
|
||||
_popupService = popupService;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_screen.OpenLevelsMenuButtonClicked += OnOpenLevelsMenuButtonClicked;
|
||||
|
||||
CreateWallet();
|
||||
|
||||
foreach (IPresenter presenter in _childPresenters)
|
||||
presenter.Initialize();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_screen.OpenLevelsMenuButtonClicked -= OnOpenLevelsMenuButtonClicked;
|
||||
|
||||
foreach (IPresenter presenter in _childPresenters)
|
||||
presenter.Dispose();
|
||||
|
||||
_childPresenters.Clear();
|
||||
}
|
||||
|
||||
private void CreateWallet()
|
||||
{
|
||||
WalletPresenter walletPresenter = _projectPresentersFactory.CreateWalletPresenter(_screen.WalletView);
|
||||
_childPresenters.Add(walletPresenter);
|
||||
}
|
||||
|
||||
private void OnOpenLevelsMenuButtonClicked()
|
||||
{
|
||||
_popupService.OpenLevelsMenuPopup();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user