forked from Shardstone/trail-into-darkness
First commit on my server, yey!
This commit is contained in:
8
Assets/Code/SplashMainMenuUI/DisclaimerReference.cs
Normal file
8
Assets/Code/SplashMainMenuUI/DisclaimerReference.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Nox.UI {
|
||||
public class DisclaimerReference : MonoBehaviour {
|
||||
public Button continueButton;
|
||||
}
|
||||
}
|
||||
2
Assets/Code/SplashMainMenuUI/DisclaimerReference.cs.meta
Normal file
2
Assets/Code/SplashMainMenuUI/DisclaimerReference.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 404d091ae45c84bfebf6fb53b88dd008
|
||||
11
Assets/Code/SplashMainMenuUI/MainMenuReference.cs
Normal file
11
Assets/Code/SplashMainMenuUI/MainMenuReference.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Nox.UI {
|
||||
public class MainMenuReference : MonoBehaviour {
|
||||
public Button newGameButton;
|
||||
public Button continueButton;
|
||||
public Button optionsButton;
|
||||
public Button exitButton;
|
||||
}
|
||||
}
|
||||
2
Assets/Code/SplashMainMenuUI/MainMenuReference.cs.meta
Normal file
2
Assets/Code/SplashMainMenuUI/MainMenuReference.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4a317224336a9456182f69332d109c64
|
||||
40
Assets/Code/SplashMainMenuUI/MainMenuView.cs
Normal file
40
Assets/Code/SplashMainMenuUI/MainMenuView.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using Nox.Core;
|
||||
using Nox.Game;
|
||||
using Jovian.SaveSystem;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using PlayMode = Nox.Core.PlayMode;
|
||||
|
||||
namespace Nox.UI {
|
||||
/// <summary>
|
||||
/// Main menu interface class which is responsible for creating the main menu view and handling the main menu events
|
||||
/// </summary>
|
||||
public class MainMenuView : IGameLifecycle {
|
||||
private readonly MenuPrefabsContainer menuPrefabsContainer;
|
||||
private readonly MenuGameStateData menuGameStateData;
|
||||
private readonly ISaveSystem saveSystem;
|
||||
private MainMenuReference mainMenuReference;
|
||||
public MainMenuView(MenuPrefabsContainer menuPrefabsContainer, MenuGameStateData menuGameStateData, ISaveSystem saveSystem) {
|
||||
this.menuPrefabsContainer = menuPrefabsContainer;
|
||||
this.menuGameStateData = menuGameStateData;
|
||||
this.saveSystem = saveSystem;
|
||||
}
|
||||
public void Initialize() {
|
||||
if(mainMenuReference == null) {
|
||||
mainMenuReference = Addressables.InstantiateAsync(menuPrefabsContainer.mainMenuReference).WaitForCompletion().GetComponent<MainMenuReference>();
|
||||
}
|
||||
mainMenuReference.exitButton.onClick.AddListener(Application.Quit);
|
||||
mainMenuReference.optionsButton.onClick.AddListener(() => {/* options logic here */});
|
||||
mainMenuReference.newGameButton.onClick.AddListener(() => menuGameStateData.startGameRequests?.Invoke(PlayMode.Adventure));
|
||||
|
||||
bool hasSave = saveSystem.HasAnySaves();
|
||||
mainMenuReference.continueButton.gameObject.SetActive(hasSave);
|
||||
if(hasSave) {
|
||||
mainMenuReference.continueButton.onClick.AddListener(() => menuGameStateData.continueGameRequest.Invoke());
|
||||
}
|
||||
}
|
||||
public void Tick() { }
|
||||
public void Dispose() {
|
||||
}
|
||||
}
|
||||
}
|
||||
2
Assets/Code/SplashMainMenuUI/MainMenuView.cs.meta
Normal file
2
Assets/Code/SplashMainMenuUI/MainMenuView.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 27ee82e31120145e2a91628be731d748
|
||||
9
Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs
Normal file
9
Assets/Code/SplashMainMenuUI/MenuPrefabsContainer.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Nox.UI {
|
||||
[CreateAssetMenu(fileName = "MenuPrefabsContainer", menuName = "Nox/Database/UI/MenuPrefabContainer")]
|
||||
public class MenuPrefabsContainer : ScriptableObject {
|
||||
public AssetReference mainMenuReference;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9513c1256c89e4e1ba995f89ad7e3ba5
|
||||
Reference in New Issue
Block a user