1. 적 <-> 플레이어 공격해서 값 체력깎기 기능 추가 2. 적 죽으면(explore)시 정해진 양만큼의 경험치 큐브 생성 - but 아직 1과 연동해서 공격해서 피 깎아서 죽는건 아직 아님 3. 경험치 큐브 범위내에 있으면 당기기 기능 추가 4. 경험치 큐브 캐릭터 최근접 범위에 닿으면 흡수하기 기능 추가 5. 경험치 획득시 레벨업 기능 추가 6. UI 경험치 바 화면에 구현 7. UI 경험치 바 플레이어 정보의 경험치와 연계 Todo 1. UI 다른 요소들 죄다 UIManaer로 이동 2. 몬스터 공격해서 에너지 덩어리로 바꾸는 동작 추가 3. 레벨업시 레벨 화면 표기 4. 몬스터가 캐릭터에게 다가오는 동작 추가 5. 투사체 공격 기능 추가
89 lines
2.1 KiB
C#
89 lines
2.1 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;
|
|
private UIManager _ui;
|
|
|
|
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; } }
|
|
public static UIManager UI { get { return Instance._ui; } }
|
|
|
|
|
|
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._ui = new UIManager();
|
|
|
|
s_instance._input.Init();
|
|
s_instance._pool.Init();
|
|
s_instance._ui.Init();
|
|
|
|
}
|
|
|
|
|
|
void Update()
|
|
{
|
|
_input.OnUpdate();
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
void OnApplicationQuit()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
// 클리어는 모든 것을 초기화 하는 역할로 자주 사용 되기에 그냥 전역적으로 사용 가능하게 함
|
|
public static void Clear()
|
|
{
|
|
Input.Clear();
|
|
Resource.Clear();
|
|
Pool.Clear();
|
|
Data.Clear();
|
|
}
|
|
}
|