개발/WHITE POLYGON
[퍼즐게임] WHITEPOLYGON - 6
ssong_dev
2022. 7. 24. 15:47
블로그 기록이 늦었지만... 7월 20일자 기록이다.
타이틀 -> 큐브 씬 까지의 연출을 이어두었다. 대사가 출력되고 퀘스트가 다음 단계로 넘어가는 조건을
각각 QStartEvent(시작 시 실행) / QClickEvent(클릭 시 실행) / QItemApplyEvent(아이템 사용 시 실행) 으로 나누어 적용한다.
BlackInOut 스크립트를 통해 씬 로드 시 연출을 제작하였다.
public class BlackInOut : CSingleton<BlackInOut>
{
public GameObject blackBackPrefab;
public bool readyToChangeStage;
public string changeTargetScene;
public TextMeshProUGUI sceneChangeNameText;
private GameObject blackBackUI;
public override void Start()
{
DontDestroyOnLoad(gameObject);
blackBackUI = Instantiate(blackBackPrefab, transform);
blackBackUI.SetActive(false);
SceneManager.sceneLoaded += OnSceneLoaded;
}
public void FadeIn()
{
blackBackUI.GetComponent<Animator>().SetBool("FadeIn", true);
}
public void FadeOut()
{
blackBackUI.SetActive(true);
blackBackUI.GetComponent<Animator>().SetBool("FadeOut", true);
}
public void ReadyToChangeScene()
{
readyToChangeStage = true;
}
public void LoadStage(string stage)
{
CSceneLoader.Instance.LoadScene(stage);
FadeIn();
readyToChangeStage = false;
}
public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
if(readyToChangeStage)
{
FadeIn();
}
}
public override void Update()
{
if (Input.anyKeyDown && readyToChangeStage)
{
LoadStage(changeTargetScene);
}
}
}