63 lines
2.0 KiB
C#
63 lines
2.0 KiB
C#
using AOT.PostProcess.ColorFade;
|
|
using Cysharp.Threading.Tasks;
|
|
using Framework;
|
|
using Gameplay.PostProcess.ColorFade;
|
|
using PhxhSDK;
|
|
using UnityEngine;
|
|
namespace Gameplay.Skill
|
|
{
|
|
public class SkillRotateCamera
|
|
{
|
|
public const string PREFAB_PATH = "Assets/Art/Other/skill_camera_rotate.prefab";
|
|
|
|
public GameObject rootObj;
|
|
|
|
private Camera _rawCamera;
|
|
|
|
public SkillRotateCamera()
|
|
{
|
|
var sampleObj = AssetManager.Instance.GetPreLoadResult<GameObject>(PREFAB_PATH);
|
|
if (sampleObj == null)
|
|
{
|
|
Debug.LogError("SkillRotateCamera sampleObj is null");
|
|
return;
|
|
}
|
|
rootObj = Object.Instantiate(sampleObj);
|
|
_rawCamera = rootObj.GetComponentInChildren<Camera>();
|
|
rootObj.SetActive(false);
|
|
}
|
|
|
|
|
|
public async void Show()
|
|
{
|
|
var fadeInTime = TableManager.Instance.Tables.GlobalConfig.SkillCameraFadeInTime;
|
|
GlobalFadeManager.instance.FadeIn(fadeInTime);
|
|
await UniTask.WaitForSeconds(fadeInTime);
|
|
|
|
var skillUnit = SkillManager.instance.inSkillingUnit;
|
|
if (skillUnit == null)
|
|
{
|
|
Debug.LogError("SkillRotateCamera Show skillUnit is null");
|
|
return;
|
|
}
|
|
var skillPos = skillUnit.transform.position;
|
|
var skillRot = skillUnit.transform.rotation;
|
|
rootObj.transform.position = skillPos;
|
|
rootObj.transform.rotation = skillRot;
|
|
rootObj.SetActive(true);
|
|
|
|
GlobalFadeManager.instance.FadeOut(fadeInTime);
|
|
}
|
|
|
|
public async void Hide()
|
|
{
|
|
var fadeOutTime = TableManager.Instance.Tables.GlobalConfig.SkillCameraFadeOutTime;
|
|
GlobalFadeManager.instance.FadeIn(fadeOutTime);
|
|
await UniTask.WaitForSeconds(fadeOutTime);
|
|
rootObj.SetActive(false);
|
|
GlobalFadeManager.instance.FadeOut(fadeOutTime);
|
|
}
|
|
|
|
}
|
|
}
|