74 lines
2.5 KiB
C#
74 lines
2.5 KiB
C#
using System.Collections;
|
|
using AibisDream.Framework;
|
|
using UnityEngine;
|
|
|
|
namespace AibisDream.FixSystem
|
|
{
|
|
public struct ClinicToBodyModuleCommand : ITransitionCommand
|
|
{
|
|
private const float FadeDuration = 1f;
|
|
|
|
private string _configName;
|
|
|
|
public IEnumerator Execute()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
|
|
|
|
// 黑屏
|
|
yield return MainUIController.Instance.FadeInSync(FadeDuration);
|
|
// 加载BodyModuleSystem
|
|
bodyModuleSystem.CurDataKey = _configName;
|
|
bodyModuleSystem.Load();
|
|
// 隐藏诊所
|
|
clinicSystem.gameObject.SetActive(false);
|
|
// 黑屏淡出
|
|
yield return MainUIController.Instance.FadeOutSync(FadeDuration);
|
|
}
|
|
|
|
public void SetArgs(string arg)
|
|
{
|
|
// 添加参数
|
|
_configName = arg;
|
|
}
|
|
}
|
|
|
|
public struct ClinicToEngineCommand : ITransitionCommand
|
|
{
|
|
private const float FadeDuration = 0.5f;
|
|
|
|
// 引擎相机设置
|
|
private static readonly Vector3 CameraPos = new(-2.5f, 2.13f, -10);
|
|
private const float OrthographicSize = 2.5f;
|
|
private const float Duration = 2f;
|
|
|
|
private string _configName;
|
|
|
|
public IEnumerator Execute()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var clinicSystem = FixSystemCenter.SystemDic.Get<ClinicSystem>();
|
|
var engineSystem = FixSystemCenter.SystemDic.Get<EngineSystem>();
|
|
|
|
// // 黑屏
|
|
yield return MainUIController.Instance.FadeInSync(FadeDuration);
|
|
// 隐藏诊所
|
|
clinicSystem.gameObject.SetActive(false);
|
|
// 激活插线系统
|
|
bodyModuleSystem.gameObject.SetActive(true);
|
|
// // 黑屏淡出
|
|
yield return MainUIController.Instance.FadeOutSync(FadeDuration);
|
|
// 移动相机
|
|
yield return CameraKit.Instance.TransCameraAsync(CameraPos, OrthographicSize, Duration);
|
|
// 开启引擎玩法
|
|
engineSystem.CurDataKey = _configName;
|
|
engineSystem.Load();
|
|
yield return engineSystem.OpenCoverAsync();
|
|
}
|
|
|
|
public void SetArgs(string arg)
|
|
{
|
|
_configName = arg;
|
|
}
|
|
}
|
|
} |