Game UI ready
This commit is contained in:
@@ -1,74 +0,0 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using VContainer.Unity;
|
||||
|
||||
public class GameFlowController:IStartable
|
||||
{
|
||||
private readonly Player _player;
|
||||
private readonly StartScreenController _startScreenController;
|
||||
private readonly GameScreenController _gameScreenController;
|
||||
private readonly ScoreService _scoreService;
|
||||
private readonly PauseScreenController _pauseScreenController;
|
||||
private readonly DeathScreenController _deathScreenController;
|
||||
private readonly IInputReader InputReader;
|
||||
|
||||
public GameFlowController(
|
||||
DeathScreenController deathScreenController,
|
||||
Player player,
|
||||
StartScreenController startScreenController,
|
||||
GameScreenController gameScreenController,
|
||||
ScoreService scoreService,
|
||||
PauseScreenController pauseScreenController,
|
||||
IInputReader inputReader)
|
||||
{
|
||||
_deathScreenController = deathScreenController;
|
||||
_player = player;
|
||||
_startScreenController = startScreenController;
|
||||
_gameScreenController = gameScreenController;
|
||||
_scoreService = scoreService;
|
||||
_pauseScreenController = pauseScreenController;
|
||||
InputReader = inputReader;
|
||||
}
|
||||
|
||||
public void Start()
|
||||
{
|
||||
Debug.Log("GameFlowController Started");
|
||||
HookEvents();
|
||||
}
|
||||
|
||||
void HookEvents()
|
||||
{
|
||||
_startScreenController.OnStartPressed += HandleGameStart;
|
||||
_gameScreenController.OnPausePressed += HandleGamePause;
|
||||
_pauseScreenController.OnResumePressed += HandleGameResume;
|
||||
_pauseScreenController.OnRestartPressed += HandleGameRestart;
|
||||
_deathScreenController.OnRestartPressed += HandleGameRestart;
|
||||
_deathScreenController.OnExitPressed += HandleGameExit;
|
||||
|
||||
}
|
||||
|
||||
private void HandleGameRestart()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void HandleGameExit()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void HandleGameResume()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void HandleGamePause()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void HandleGameStart()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b7284c012c95d3408acb8cc1914fe31
|
||||
@@ -8,6 +8,7 @@ public class GameLifetimeScope : LifetimeScope
|
||||
[SerializeField] private PlatformPool pool;
|
||||
[SerializeField] private PlatformManager manager;
|
||||
[SerializeField] private InputReaderSO inputReader;
|
||||
[SerializeField] private GameSession gameSession;
|
||||
[SerializeField] private Player player;
|
||||
[SerializeField] private AudioController audioController;
|
||||
|
||||
@@ -21,16 +22,17 @@ public class GameLifetimeScope : LifetimeScope
|
||||
builder.RegisterComponent(pool).As<IPool>();
|
||||
builder.RegisterComponent(manager).As<IPlatformManager>();
|
||||
builder.RegisterInstance(inputReader).As<IInputReader>();
|
||||
builder.Register<ScoreService>(Lifetime.Singleton);
|
||||
builder.RegisterComponent(player);
|
||||
builder.RegisterComponent(audioController);
|
||||
builder.Register<ScoreService>(Lifetime.Singleton).As<IScoreService>();
|
||||
builder.RegisterInstance<GameSession>(gameSession).As<IGameSession>();
|
||||
builder.RegisterComponent(player).As<IPlayer>();
|
||||
builder.RegisterComponent(audioController).As<IAudioController>().AsSelf();
|
||||
|
||||
builder.Register<GameScreenController>(Lifetime.Singleton).WithParameter(gameScreenView);
|
||||
builder.Register<StartScreenController>(Lifetime.Singleton).WithParameter(startScreenView);
|
||||
builder.Register<DeathScreenController>(Lifetime.Singleton).WithParameter(deathScreenView);
|
||||
builder.Register<PauseScreenController>(Lifetime.Singleton).WithParameter(pauseScreenView);
|
||||
|
||||
builder.RegisterEntryPoint<GameFlowController>(Lifetime.Singleton);
|
||||
|
||||
builder.RegisterEntryPoint<StartScreenController>(Lifetime.Singleton).WithParameter(startScreenView);
|
||||
builder.Register<GameScreenController>(Lifetime.Singleton).WithParameter(gameScreenView).As<IGameScreenController>();
|
||||
builder.Register<PauseScreenController>(Lifetime.Singleton).WithParameter(pauseScreenView).As<IPauseScreenController>();
|
||||
builder.Register<DeathScreenController>(Lifetime.Singleton).WithParameter(deathScreenView).As<IDeathScreenController>();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
14
Assets/Scripts/LifeTimeScope/GameSession.asset
Normal file
14
Assets/Scripts/LifeTimeScope/GameSession.asset
Normal file
@@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b87b1e9ef0f8a8f4d8c0488709157211, type: 3}
|
||||
m_Name: GameSession
|
||||
m_EditorClassIdentifier: Assembly-CSharp::GameSession
|
||||
8
Assets/Scripts/LifeTimeScope/GameSession.asset.meta
Normal file
8
Assets/Scripts/LifeTimeScope/GameSession.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 166236fc288d5a343ba6dd8ab704e653
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
26
Assets/Scripts/LifeTimeScope/GameSession.cs
Normal file
26
Assets/Scripts/LifeTimeScope/GameSession.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName ="GameSession", menuName ="Scriptable Objects/GameSession") ]
|
||||
public class GameSession : ScriptableObject,IGameSession
|
||||
{
|
||||
public bool showStartScreen { get; set; } = false;
|
||||
public bool hasGameStarted { get; set; } = false;
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
showStartScreen = true;
|
||||
hasGameStarted = false;
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
showStartScreen = false;
|
||||
hasGameStarted = false;
|
||||
}
|
||||
}
|
||||
|
||||
public interface IGameSession
|
||||
{
|
||||
bool showStartScreen { get; set; }
|
||||
bool hasGameStarted { get; set; }
|
||||
}
|
||||
2
Assets/Scripts/LifeTimeScope/GameSession.cs.meta
Normal file
2
Assets/Scripts/LifeTimeScope/GameSession.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b87b1e9ef0f8a8f4d8c0488709157211
|
||||
Reference in New Issue
Block a user