Practice_Unity/Assets/Scripts/Managers/Manager.cs
Seonkyu.kim 7d8657752e 작업
1. 조이스틱 동작
  1.1. 플레이어 컨트롤러 연동
  1.2. 자연스러운 방향 전환 추가
2. 베이스씬 작업
  2.1. 게임 씬 추가
    2.2. 조이스틱 UI 추가

Todo
1. 카메라를 캐릭터한테 붙이기
2. 다른 UI 작업도 추가하기
3. 몬스터 AI 작업도 할 수 있으면 해보기
2025-09-22 17:48:06 +09:00

62 lines
1.5 KiB
C#

using Animation;
using UnityEngine;
interface IManager
{
void Init() { }
void OnUpdate() { }
void Clear() { }
}
public class Manager : MonoBehaviour, IManager
{
static Manager s_instance;
static Manager Instance {get { Init(); return s_instance;}}
InputManager _input = new InputManager();
PoolManager _pool = new PoolManager();
ResourceManager _resource = new ResourceManager();
public static InputManager Input { get { return Instance._input; } }
public static PoolManager Pool { get { return Instance._pool; } }
public static ResourceManager Resource { get { return Instance._resource; } }
static void Init()
{
if (s_instance == null)
{
GameObject obj = GameObject.Find("@Manager");
if (obj == null)
{
obj = new GameObject { name = "@Manager" };
obj.AddComponent<Manager>();
}
DontDestroyOnLoad(obj);
s_instance = obj.GetComponent<Manager>();
s_instance._input.Init();
s_instance._pool.Init();
}
}
void Start()
{
Init();
}
void Update()
{
_input.OnUpdate();
}
// 클리어는 모든 것을 초기화 하는 역할로 자주 사용 되기에 그냥 전역적으로 사용 가능하게 함
public static void Clear()
{
Input.Clear();
Resource.Clear();
Pool.Clear();
}
}