init: add project

This commit is contained in:
Bragin Stepan
2026-02-18 23:02:28 +05:00
commit 4f01e66894
620 changed files with 52253 additions and 0 deletions

View File

@@ -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();
}
}
}