Unity

씬 관리(분리된 씬 한번에 불러오기)

sungmin08 2024. 10. 25. 23:47

● 씬 분리 목적

◦협업 시 분야별로 분리해 개발을 진행 한 후 합칠 수 있음

ex.UI씬, Level씬, 게임 로직 씬 -> 합쳐서 게임으로

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //Unity UI를 사용하기 위해 선언
using UnityEngine.Events; //UnityEvent 관련 API를 사용
using UnityEngine.SceneManagement;

public class UIManager : MonoBehaviour
{
    //버튼을 연결할 변수
    public Button startButton;
    public Button optionButton;
    public Button shopButton;
    private UnityAction action;

    private void Start()
    {
        //UnityAction을 사용한 이벤트 연결 방식
        //action = () => OnButtonClick(startButton.name);
        action = () => OnStartClick();
        startButton.onClick.AddListener(action);

        //무명 메서드를 활용한 이벤트 연결 방식
        optionButton.onClick.AddListener(delegate
        {
            OnButtonClick(optionButton.name);
        });
        //람다식을 활용한 이벤트 연결 방식
        shopButton.onClick.AddListener(() => OnButtonClick(shopButton.name));

    }
    public void OnButtonClick(string msg)
    {
        Debug.Log($"Click Button : {msg}");
        if (msg == startButton.name)
        {
            // 씬 전환
            SceneManager.LoadScene("Play");
        }
    }

    public void OnStartClick()
    {
        SceneManager.LoadScene("Level_01");
        SceneManager.LoadScene("Play", LoadSceneMode.Additive);
    }
}

 

 

하이어라이키로 씬 끌어와 여러 씬 작업 가능

 

'Unity' 카테고리의 다른 글

Unity 출석체크 시스템 구현하기  (2) 2025.04.08
Unity 푸시 알람 기능 구현  (0) 2025.03.31
오클루전 컬링  (0) 2024.10.26
Navigation 고급 기법(계단, 지형지물)  (0) 2024.10.22
RayCast(Ray방식)  (0) 2024.10.22