인풋매니저, 리소스매니저 구조 생성 및 리소스 정리

This commit is contained in:
2026-01-21 00:47:45 +09:00
parent de039d4ffb
commit 2eee8e2ab2
1036 changed files with 713 additions and 3137 deletions

View File

@@ -0,0 +1,20 @@
using System;
using UnityEngine;
public class InputManager
{
public Action KeytAction = null;
public void OnUpdate()
{
if (Input.anyKey == false)
{
return;
}
if (KeytAction != null)
{
KeytAction.Invoke();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 8affb13a0221d604ebc76b80353674ef

View File

@@ -3,8 +3,12 @@ using UnityEngine;
public class Managers : MonoBehaviour
{
static Managers s_instance; // static으로 유일성 보장
public static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 가져온다.
static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 가져온다.
InputManager _input = new InputManager();
ResourceManager _resource = new ResourceManager();
public static InputManager Input { get { return Instance._input; } }
public static ResourceManager Resource { get { return Instance._resource; } }
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
@@ -15,7 +19,7 @@ public class Managers : MonoBehaviour
// Update is called once per frame
void Update()
{
_input.OnUpdate();
}
static void Init()

View File

@@ -0,0 +1,30 @@
using UnityEngine;
public class ResourceManager
{
public T Load<T>(string path) where T : Object
{
return Resources.Load<T>(path);
}
public GameObject Instantiate(string path, Transform parent = null)
{
GameObject prefab = Load<GameObject>($"Prefabs/{path}");
if (prefab == null)
{
Debug.Log($"Failed to load prefab : {path}");
return null;
}
return Object.Instantiate(prefab, parent);
}
public void Destroy(GameObject go)
{
if (go == null)
{
return;
}
Object.Destroy(go);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 02a54b2c0d9166a4fad881d75ebc136b