Game UI ready

This commit is contained in:
Mausham
2025-12-15 17:49:08 -08:00
parent 0ea929bd20
commit f4c55dec05
325 changed files with 28015 additions and 360 deletions

View File

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

View File

@@ -1,2 +0,0 @@
fileFormatVersion: 2
guid: 3b7284c012c95d3408acb8cc1914fe31

View File

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

View 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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 166236fc288d5a343ba6dd8ab704e653
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View 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; }
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: b87b1e9ef0f8a8f4d8c0488709157211