Add main menu, loding screen and loding logic

This commit is contained in:
BuyMyMojo 2023-03-03 10:57:46 +11:00
parent 0c71d06fb8
commit 2ffb285e0b
15 changed files with 3176 additions and 525 deletions

35
Assets/Scripts/Loader.cs Normal file
View file

@ -0,0 +1,35 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public static class Loader
{
public enum Scene
{
MainMenuScene,
GaneScene, // Spelling mistake I am leaving in because it's funny :)
LoadingScene
}
private static Scene targetScene;
public static void Load(Scene targetScene)
{
Loader.targetScene = targetScene;
SceneManager.LoadScene(Scene.LoadingScene.ToString());
}
// Jank AF
public static void LoaderCallback()
{
SceneManager.LoadScene(Loader.targetScene.ToString());
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ade5d2e62f782c14daf8b02d90a50adc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LoaderCallback : MonoBehaviour
{
private bool isFirstUpdate = true;
private void Update()
{
if (isFirstUpdate)
{
isFirstUpdate = false;
Loader.LoaderCallback();
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1d4c37254668f184290dd632048d09e9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 59b7078030cbddb47baaea404501078c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,26 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MainMenuUI : MonoBehaviour
{
[SerializeField] private Button playButton;
[SerializeField] private Button quitButton;
private void Awake()
{
playButton.onClick.AddListener(() =>
{
Loader.Load(Loader.Scene.GaneScene);
});
quitButton.onClick.AddListener(() =>
{
Application.Quit();
});
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b1723c8b0762f894bb8b90e418526980
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: