1. UI 버튼 작업 했음 2. 칼, 방패 따로 붙이는 작업 헀음 3. 공격 모션에 이제 버튼 연동함 Todo 1. 공격시 화면 이상하게 흔들리는거 수정할 차례 2. 히트 박스 해서 몬스터 공격하는거 연동하기
85 lines
1.9 KiB
C#
85 lines
1.9 KiB
C#
using System;
|
|
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
|
|
{
|
|
if (s_instance == null)
|
|
{
|
|
GameObject obj = GameObject.Find("@Manager");
|
|
if (obj == null)
|
|
{
|
|
obj = new GameObject { name = "@Manager" };
|
|
obj.AddComponent<Manager>();
|
|
}
|
|
s_instance = obj.GetComponent<Manager>();
|
|
DontDestroyOnLoad(obj);
|
|
s_instance.Init();
|
|
}
|
|
return s_instance;
|
|
}
|
|
}
|
|
|
|
|
|
private InputManager _input;
|
|
private DataManager _data;
|
|
private PoolManager _pool;
|
|
private ResourceManager _resource;
|
|
|
|
public static InputManager Input { get { return Instance._input; } }
|
|
public static DataManager Data { get { return Instance._data; } }
|
|
public static PoolManager Pool { get { return Instance._pool; } }
|
|
public static ResourceManager Resource { get { return Instance._resource; } }
|
|
|
|
|
|
private void Init()
|
|
{
|
|
s_instance._input = new InputManager();
|
|
s_instance._data = new DataManager();
|
|
s_instance._pool = new PoolManager();
|
|
s_instance._resource = new ResourceManager();
|
|
|
|
s_instance._input.Init();
|
|
s_instance._pool.Init();
|
|
|
|
}
|
|
|
|
|
|
void Update()
|
|
{
|
|
_input.OnUpdate();
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
void OnApplicationQuit()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
// 클리어는 모든 것을 초기화 하는 역할로 자주 사용 되기에 그냥 전역적으로 사용 가능하게 함
|
|
public static void Clear()
|
|
{
|
|
Input.Clear();
|
|
Resource.Clear();
|
|
Pool.Clear();
|
|
Data.Clear();
|
|
}
|
|
}
|