IdleGirl/Assets/2_Codes/LobbyManager.cs

102 lines
3.3 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using DG.Tweening;
using Unity.VisualScripting;
using UnityEngine.Tilemaps;
using DG.Tweening.Plugins.Options;
using UnityEngine.SocialPlatforms;
using DarkTonic.MasterAudio;
using UnityEngine.SceneManagement;
public class LobbyManager : MonoBehaviour
{
public GameObject UiWorldMap;
public GameObject ButtonPopUp;
public Transform heroImage;
public Transform talkBox;
private bool isFadingOut = false;
public void WorldMapBtnClick()
{
MasterAudio.PlaySound("SFX_Click", 1f, null);
StartCoroutine(LoadSceneAfterDelay(4, 0.5f));
}
public void MenuBtnClick()
{
MasterAudio.PlaySound("SFX_Click", 1f, null);
// <20><><EFBFBD>̵<EFBFBD> <20><>
ButtonPopUp.SetActive(true);
CanvasGroup canvasGroup = ButtonPopUp.GetComponent<CanvasGroup>();
canvasGroup.alpha = 0; // ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
canvasGroup.DOFade(1f, 0.5f).OnComplete(() =>
{
// 1<><31> <20>Ŀ<EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20>ƿ<EFBFBD> <20><><EFBFBD><EFBFBD>
StartCoroutine(FadeOutAfterDelay());
});
}
private IEnumerator FadeOutAfterDelay()
{
if (isFadingOut)
{
// <20>̹<EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD><CCBC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD≯<EFBFBD> <20>ƹ<EFBFBD><C6B9>͵<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
yield break;
}
isFadingOut = true; // <20>ִϸ<D6B4><CFB8>̼<EFBFBD><CCBC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5>
yield return new WaitForSeconds(1f); // 1<><31> <20><><EFBFBD><EFBFBD>
CanvasGroup canvasGroup = ButtonPopUp.GetComponent<CanvasGroup>();
canvasGroup.DOFade(0f, 0.5f).OnComplete(() =>
{
// <20><><EFBFBD>̵<EFBFBD> <20>ƿ<EFBFBD> <20>Ϸ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><>Ȱ<EFBFBD><C8B0>ȭ
ButtonPopUp.SetActive(false);
isFadingOut = false; // <20>ִϸ<D6B4><CFB8>̼<EFBFBD><CCBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD><EFBFBD> ǥ<><C7A5>
});
}
public void HeroImgBtnClick()
{
// <20><><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD>
Vector3 originalPosition = heroImage.position;
// TalkBox ũ<>⸦ 0<><30><EFBFBD><EFBFBD> 1<><31> Ű<><C5B0><EFBFBD><EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD>
talkBox.localScale = Vector3.zero; // ó<><C3B3><EFBFBD><EFBFBD> ũ<>⸦ 0<><30><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// Y <20><>ġ <20><><EFBFBD><EFBFBD>
heroImage.DOMoveY(heroImage.position.y + 30f, 0.3f).SetEase(Ease.OutBack).OnComplete(() =>
{
// <20><><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20>ǵ<EFBFBD><C7B5>ƿ<EFBFBD><C6BF><EFBFBD>
heroImage.DOMove(originalPosition, 0.1f).SetEase(Ease.InBack).OnComplete(() =>
{
// <20>¿<EFBFBD><C2BF><EFBFBD> <20><><EFBFBD>鸲 ȿ<><C8BF>
heroImage.DOPunchPosition(new Vector3(10f, 0f, 0f), 1f);
// ũ<>⸦ 1<><31> Ű<><C5B0>
talkBox.gameObject.SetActive(true); // GameObject<63><74> Ȱ<><C8B0>ȭ<EFBFBD>մϴ<D5B4>.
talkBox.DOScale(Vector3.one, 0.3f).SetEase(Ease.OutBack).OnComplete(() =>
{
// 2<><32> <20>Ŀ<EFBFBD> ũ<>⸦ 0<><30><EFBFBD><EFBFBD> <20>ٿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִϸ<D6B4><CFB8>̼<EFBFBD>
DOTween.Sequence()
.AppendInterval(1.5f) // 1.2<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
.Append(talkBox.DOScale(Vector3.zero, 0.3f).SetEase(Ease.InBack).OnComplete(() =>
{
// <20>ִϸ<D6B4><CFB8>̼<EFBFBD> <20>Ϸ<EFBFBD> <20><> ó<><C3B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><20>߰<EFBFBD><DFB0><EFBFBD> <20><> <20>ֽ<EFBFBD><D6BD>ϴ<EFBFBD>.
}));
});
});
});
}
private IEnumerator LoadSceneAfterDelay(int sceneIndex, float delay)
{
yield return new WaitForSeconds(delay);
SceneManager.LoadScene(sceneIndex);
}
}