유니티

매니저 관리

잼잼재미 2023. 12. 29. 18:38

GameManager


  • 플레이어의 상태에 따라 게임의 전반적인 상태를 관리
  • GameManager은 Manager을 관리하는 하나의 역할만 함
  • GameManager은 단 하나만 존재해야 함
  • 어디서든 쉽게 접근해야하기 때문에 싱글톤을 사용

 

스크립트

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameManager : MonoBehaviour
{
    // GameManager은 Manager을 관리하는 하나의 역할만 함
    public UIManager UIManager { get; private set; }
    public DataManager DataManager { get; private set; }
    public SoundManager SoundManager { get; private set; }

    public static GameManager I;

    private void Awake()
    {
        if (I == null) 
        {
            I = this;
        }
        
        UIManager = GetComponentInChildren<UIManager>();
        DataManager = GetComponentInChildren<DataManager>();
        SoundManager = GetComponentInChildren<SoundManager>();
        
        Init();
    }

    private void Init()
    {
        UIManager.Init();
        DataManager.Init();
        SoundManager.Init();
    }

    private void Release()
    {
        UIManager.Release();
        DataManager.Release();
        SoundManager.Release();
    }
}

 

 

그 외 Manager


스크립트

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DataManager : MonoBehaviour
{
    // 초기화
    public void Init()
    {

    }
    
    // 메모리 해제
    public void Release()
    {

    }
}

'유니티' 카테고리의 다른 글

Rotation 값 변경  (1) 2024.01.03
3D 총기 구현  (0) 2024.01.02
DontDestroyOnLoad  (0) 2023.12.28
씬 이동  (0) 2023.12.28
SoundManger  (0) 2023.12.28