79 lines
4.9 KiB
C#
79 lines
4.9 KiB
C#
using System.Collections; // 컬렉션 기능을 사용할거에요 -> System.Collections를
|
|
using System.Collections.Generic; // 제네릭 컬렉션 기능을 사용할거에요 -> System.Collections.Generic을
|
|
using UnityEngine; // 유니티 엔진의 기본 기능을 불러올거에요 -> UnityEngine을
|
|
|
|
public class SettingPanelController : MonoBehaviour // 클래스를 선언할거에요 -> MonoBehaviour를 상속받는 SettingPanelController를
|
|
{
|
|
[SerializeField] private GameObject settingPanel; // 변수를 선언할거에요 -> 설정 패널 오브젝트인 settingPanel을
|
|
[SerializeField] private GameObject gameStopPanel; // 변수를 선언할거에요 -> 일시정지 패널 오브젝트인 gameStopPanel을
|
|
[HideInInspector] public bool IsSettingOpen { get; private set; } // 프로퍼티를 선언할거에요 -> 설정창 열림 여부를 나타내는 IsSettingOpen을 (인스펙터에서는 숨김)
|
|
|
|
[Header("설정창 선택 패널")] // 인스펙터 헤더를 작성할거에요 -> "설정창 선택 패널"이라는 제목을
|
|
[SerializeField] private GameObject normalPanel; // 변수를 선언할거에요 -> 일반 설정 패널인 normalPanel을
|
|
[SerializeField] private GameObject graphicPanel; // 변수를 선언할거에요 -> 그래픽 설정 패널인 graphicPanel을
|
|
|
|
[Header("열고 닫는 소리")] // 인스펙터 헤더를 작성할거에요 -> "열고 닫는 소리"라는 제목을
|
|
[SerializeField] private AudioSource audioSource; // 변수를 선언할거에요 -> 소리를 재생할 오디오 소스 컴포넌트를
|
|
[SerializeField] private AudioClip openSound; // 변수를 선언할거에요 -> 열릴 때 재생할 오디오 클립을
|
|
[SerializeField] private AudioClip closeSound; // 변수를 선언할거에요 -> 닫힐 때 재생할 오디오 클립을
|
|
|
|
public void AllClose() // 함수를 선언할거에요 -> 모든 하위 패널을 닫는 AllClose를
|
|
{
|
|
normalPanel.SetActive(false); // 기능을 껄거에요 -> 일반 설정 패널을
|
|
graphicPanel.SetActive(false); // 기능을 껄거에요 -> 그래픽 설정 패널을
|
|
}
|
|
|
|
public void NormalOpen() // 함수를 선언할거에요 -> 일반 설정 패널을 여는 NormalOpen을
|
|
{
|
|
AllClose(); // 함수를 실행할거에요 -> 모든 패널을 닫는 기능을
|
|
normalPanel.SetActive(true); // 기능을 켤거에요 -> 일반 설정 패널을
|
|
if (audioSource != null && openSound != null) // 조건이 맞으면 실행할거에요 -> 오디오 소스와 열기 사운드가 있다면
|
|
{
|
|
audioSource.PlayOneShot(openSound); // 소리를 재생할거에요 -> 열기 효과음을 한 번
|
|
}
|
|
}
|
|
|
|
public void GraphicOpen() // 함수를 선언할거에요 -> 그래픽 설정 패널을 여는 GraphicOpen을
|
|
{
|
|
AllClose(); // 함수를 실행할거에요 -> 모든 패널을 닫는 기능을
|
|
graphicPanel.SetActive(true); // 기능을 켤거에요 -> 그래픽 설정 패널을
|
|
if (audioSource != null && openSound != null) // 조건이 맞으면 실행할거에요 -> 오디오 소스와 열기 사운드가 있다면
|
|
{
|
|
audioSource.PlayOneShot(openSound); // 소리를 재생할거에요 -> 열기 효과음을 한 번
|
|
}
|
|
}
|
|
|
|
public void OpenSetting() // 함수를 선언할거에요 -> 설정창 전체를 여는 OpenSetting을
|
|
{
|
|
IsSettingOpen = true; // 상태를 바꿀거에요 -> 설정창 열림 상태를 참(true)으로
|
|
|
|
if (audioSource != null && openSound != null) // 조건이 맞으면 실행할거에요 -> 오디오 소스와 열기 사운드가 있다면
|
|
{
|
|
audioSource.PlayOneShot(openSound); // 소리를 재생할거에요 -> 열기 효과음을 한 번
|
|
}
|
|
|
|
settingPanel.SetActive(true); // 기능을 켤거에요 -> 설정 패널 전체를
|
|
|
|
if (gameStopPanel != null) // 조건이 맞으면 실행할거에요 -> 일시정지 패널이 연결되어 있다면
|
|
{
|
|
gameStopPanel.SetActive(false); // 기능을 껄거에요 -> 일시정지 패널을 (설정창이랑 겹치지 않게)
|
|
}
|
|
}
|
|
|
|
public void CloseSetting() // 함수를 선언할거에요 -> 설정창을 닫는 CloseSetting을
|
|
{
|
|
IsSettingOpen = false; // 상태를 바꿀거에요 -> 설정창 열림 상태를 거짓(false)으로
|
|
|
|
if (audioSource != null && closeSound != null) // 조건이 맞으면 실행할거에요 -> 오디오 소스와 닫기 사운드가 있다면
|
|
{
|
|
audioSource.PlayOneShot(closeSound); // 소리를 재생할거에요 -> 닫기 효과음을 한 번
|
|
}
|
|
|
|
settingPanel.SetActive(false); // 기능을 껄거에요 -> 설정 패널 전체를
|
|
|
|
if (gameStopPanel != null) // 조건이 맞으면 실행할거에요 -> 일시정지 패널이 연결되어 있다면
|
|
{
|
|
gameStopPanel.SetActive(true); // 기능을 켤거에요 -> 일시정지 패널을 다시 보이게
|
|
}
|
|
}
|
|
} |