씬 전환을 위한 씬매니저 추가 및 씬 전환 기능 추가
This commit is contained in:
@@ -16,9 +16,6 @@ public class PlayerController : MonoBehaviour
|
||||
// Managers.Input.KeytAction += OnKyeboard;
|
||||
Managers.Input.MouseAction -= OnMouseClicked;
|
||||
Managers.Input.MouseAction += OnMouseClicked;
|
||||
|
||||
// TEMP
|
||||
Managers.UI.ShowSceneUI<UI_Inven>();
|
||||
}
|
||||
|
||||
public enum PlayerState
|
||||
|
||||
@@ -7,9 +7,11 @@ public class Managers : MonoBehaviour
|
||||
|
||||
InputManager _input = new InputManager();
|
||||
ResourceManager _resource = new ResourceManager();
|
||||
SceneManagerEx _scene = new SceneManagerEx();
|
||||
UIManager _ui = new UIManager();
|
||||
public static InputManager Input { get { return Instance._input; } }
|
||||
public static ResourceManager Resource { get { return Instance._resource; } }
|
||||
public static SceneManagerEx Scene { get { return Instance._scene; } }
|
||||
public static UIManager UI { get { return Instance._ui; } }
|
||||
|
||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||
|
||||
20
Assets/Scripts/Managers/SceneManagerEx.cs
Normal file
20
Assets/Scripts/Managers/SceneManagerEx.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class SceneManagerEx
|
||||
{
|
||||
public BaseScene CurrentScene { get { return GameObject.FindAnyObjectByType<BaseScene>(); } }
|
||||
|
||||
public void LoadScene(Define.Scene type)
|
||||
{
|
||||
CurrentScene.Clear();
|
||||
SceneManager.LoadScene(GetSceneName(type));
|
||||
}
|
||||
|
||||
string GetSceneName(Define.Scene type)
|
||||
{
|
||||
string name = System.Enum.GetName(typeof(Define.Scene), type);
|
||||
|
||||
return name;
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Managers/SceneManagerEx.cs.meta
Normal file
2
Assets/Scripts/Managers/SceneManagerEx.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0c0749fe13086e04389ab99ece6ff556
|
||||
8
Assets/Scripts/Scenes.meta
Normal file
8
Assets/Scripts/Scenes.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f06374397604d2a4b9a577092e07085f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
26
Assets/Scripts/Scenes/BaseScene.cs
Normal file
26
Assets/Scripts/Scenes/BaseScene.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public abstract class BaseScene : MonoBehaviour
|
||||
{
|
||||
public Define.Scene SceneType { get; protected set; } = Define.Scene.Unknown;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
protected virtual void Init()
|
||||
{
|
||||
// 더 이상 사용되지 않음
|
||||
// GameObject.FindObjectOfType(typeof(EventSystem));
|
||||
Object obj = GameObject.FindAnyObjectByType(typeof(EventSystem));
|
||||
|
||||
if (obj == null)
|
||||
{
|
||||
Managers.Resource.Instantiate("UI/EventSystem").name = "@EventSystem";
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void Clear();
|
||||
}
|
||||
2
Assets/Scripts/Scenes/BaseScene.cs.meta
Normal file
2
Assets/Scripts/Scenes/BaseScene.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c2d6a83258872b54790d4bf9eb9b622d
|
||||
18
Assets/Scripts/Scenes/GameScene.cs
Normal file
18
Assets/Scripts/Scenes/GameScene.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class GameScene : BaseScene
|
||||
{
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
SceneType = Define.Scene.Game;
|
||||
|
||||
Managers.UI.ShowSceneUI<UI_Inven>();
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Scenes/GameScene.cs.meta
Normal file
2
Assets/Scripts/Scenes/GameScene.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e645d8d7d1bfd2741a3cbf36d9ca9d1d
|
||||
25
Assets/Scripts/Scenes/LoginScene.cs
Normal file
25
Assets/Scripts/Scenes/LoginScene.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
public class LoginScene : BaseScene
|
||||
{
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
SceneType = Define.Scene.Lobby;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.Q))
|
||||
{
|
||||
Managers.Scene.LoadScene(Define.Scene.Game);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
Debug.Log("LoginScene Clear!");
|
||||
}
|
||||
}
|
||||
2
Assets/Scripts/Scenes/LoginScene.cs.meta
Normal file
2
Assets/Scripts/Scenes/LoginScene.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab5eeff420d6c134fb7957a9f79ab203
|
||||
@@ -2,6 +2,14 @@ using UnityEngine;
|
||||
|
||||
public class Define
|
||||
{
|
||||
public enum Scene
|
||||
{
|
||||
Unknown,
|
||||
Login,
|
||||
Lobby,
|
||||
Game,
|
||||
}
|
||||
|
||||
public enum UIEvent
|
||||
{
|
||||
Click,
|
||||
|
||||
Reference in New Issue
Block a user