mirror of
https://github.com/Bragin-Stepan/project-entity.git
synced 2026-03-05 07:41:10 +00:00
init: add project
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
using _Project.Develop.Runtime.UI.Core;
|
||||
using UnityEngine;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.Gameplay
|
||||
{
|
||||
public class GameplayPopupService : PopupService
|
||||
{
|
||||
private readonly GameplayUIRoot _uiRoot;
|
||||
private readonly GameplayPresentersFactory _gameplayPresentersFactory;
|
||||
|
||||
public GameplayPopupService(
|
||||
ViewsFactory viewsFactory,
|
||||
ProjectPresentersFactory presentersFactory,
|
||||
GameplayUIRoot uiRoot,
|
||||
GameplayPresentersFactory gameplayPresentersFactory)
|
||||
: base(viewsFactory, presentersFactory)
|
||||
{
|
||||
_uiRoot = uiRoot;
|
||||
_gameplayPresentersFactory = gameplayPresentersFactory;
|
||||
}
|
||||
|
||||
protected override Transform PopupLayer => _uiRoot.PopupsLayer;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fdaa21e8b819445e837fefce1642703e
|
||||
timeCreated: 1771178011
|
||||
@@ -0,0 +1,24 @@
|
||||
using Assets._Project.Develop.Runtime.Infrastructure.DI;
|
||||
using Assets._Project.Develop.Runtime.Meta.Features.Wallet;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.Gameplay
|
||||
{
|
||||
public class GameplayPresentersFactory
|
||||
{
|
||||
private readonly DIContainer _container;
|
||||
|
||||
public GameplayPresentersFactory(DIContainer container)
|
||||
{
|
||||
_container = container;
|
||||
}
|
||||
|
||||
public GameplayScreenPresenter CreateGameplayScreenPresenter(GameplayScreenView view)
|
||||
{
|
||||
return new GameplayScreenPresenter(
|
||||
view,
|
||||
_container.Resolve<WalletService>(),
|
||||
_container.Resolve<GameplayPresentersFactory>(),
|
||||
_container.Resolve<ProjectPresentersFactory>());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2bfe1c715c56498d815f1046bd37a70d
|
||||
timeCreated: 1771178011
|
||||
@@ -0,0 +1,59 @@
|
||||
using System.Collections.Generic;
|
||||
using _Project.Develop.Runtime.Logic.Meta.Features.Wallet;
|
||||
using _Project.Develop.Runtime.UI.Core;
|
||||
using _Project.Develop.Runtime.UI.Features.Wallet;
|
||||
using Assets._Project.Develop.Runtime.Meta.Features.Wallet;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.Gameplay
|
||||
{
|
||||
public class GameplayScreenPresenter : IPresenter
|
||||
{
|
||||
private readonly GameplayScreenView _screen;
|
||||
|
||||
private readonly WalletService _walletService;
|
||||
|
||||
private readonly GameplayPresentersFactory _gameplayPresentersFactory;
|
||||
private readonly ProjectPresentersFactory _projectPresentersFactory;
|
||||
|
||||
private readonly List<IPresenter> _childPresenters = new();
|
||||
|
||||
public GameplayScreenPresenter(
|
||||
GameplayScreenView screen,
|
||||
WalletService walletService,
|
||||
GameplayPresentersFactory gameplayPresentersFactory,
|
||||
ProjectPresentersFactory projectPresentersFactory)
|
||||
{
|
||||
_screen = screen;
|
||||
|
||||
_walletService = walletService;
|
||||
|
||||
_gameplayPresentersFactory = gameplayPresentersFactory;
|
||||
_projectPresentersFactory = projectPresentersFactory;
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
CreateCoins();
|
||||
|
||||
foreach (IPresenter presenter in _childPresenters)
|
||||
presenter.Initialize();
|
||||
}
|
||||
|
||||
private void CreateCoins()
|
||||
{
|
||||
CurrencyPresenter presenter = _projectPresentersFactory.CreateCurrencyPresenter(
|
||||
_screen.CoinsView,
|
||||
_walletService.GetCurrency(CurrencyTypes.Gold),
|
||||
CurrencyTypes.Gold);
|
||||
|
||||
_childPresenters.Add(presenter);
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
foreach (IPresenter presenter in _childPresenters)
|
||||
presenter.Dispose();
|
||||
|
||||
_childPresenters.Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 51b3b1ae0ddd46c2b3ff9bc479e049ae
|
||||
timeCreated: 1771178011
|
||||
@@ -0,0 +1,12 @@
|
||||
using _Project.Develop.Runtime.UI.Common;
|
||||
using _Project.Develop.Runtime.UI.Core;
|
||||
using UnityEngine;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.Gameplay
|
||||
{
|
||||
public class GameplayScreenView : MonoBehaviour, IView
|
||||
{
|
||||
[field: SerializeField] public IconTextView CoinsView { get; private set; }
|
||||
[field: SerializeField] public IconTextListView StatsView { get; private set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: eeaaaa56d8fa466ea3569279bcc1f591
|
||||
timeCreated: 1771178011
|
||||
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace _Project.Develop.Runtime.UI.Screens.Gameplay
|
||||
{
|
||||
public class GameplayUIRoot : MonoBehaviour
|
||||
{
|
||||
[field: SerializeField] public Transform HUDLayer { get; private set; }
|
||||
[field: SerializeField] public Transform PopupsLayer { get; private set; }
|
||||
[field: SerializeField] public Transform VFXUnderPopupsLayer { get; private set; }
|
||||
[field: SerializeField] public Transform VFXOverPopupsLayer { get; private set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f61e203efd9e455ca1578edc51948477
|
||||
timeCreated: 1771178011
|
||||
Reference in New Issue
Block a user