49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System.Collections;
|
|
using AibisDream.Framework;
|
|
using DG.Tweening;
|
|
using UnityEngine;
|
|
|
|
namespace AibisDream.FixSystem
|
|
{
|
|
public class BodyModuleTransition
|
|
{
|
|
public struct BodyModuleToGearCommand : ITransitionCommand
|
|
{
|
|
private static readonly Vector3 CameraPos = new(-2.5f, 2.13f, -10);
|
|
private const float OrthographicSize = 2.5f;
|
|
private const float Duration = 2f;
|
|
|
|
public IEnumerator Execute()
|
|
{
|
|
var bodyModuleSystem = FixSystemCenter.SystemDic.Get<BodyModuleSystem>();
|
|
var gearSystem = FixSystemCenter.SystemDic.Get<GearSystem>();
|
|
|
|
// 插头回到初始插孔
|
|
bodyModuleSystem.ResetPlug();
|
|
// 相机聚焦到目标位
|
|
yield return CameraKit.Instance.TransCamera(CameraPos, OrthographicSize, Duration).WaitForCompletion();
|
|
|
|
// 打开引擎盖子
|
|
yield return gearSystem.OpenCover();
|
|
}
|
|
|
|
public void SetArgs(string arg)
|
|
{
|
|
// 暂无参数
|
|
}
|
|
}
|
|
|
|
public struct GearToBodyModuleCommand : ITransitionCommand
|
|
{
|
|
public IEnumerator Execute()
|
|
{
|
|
throw new System.NotImplementedException();
|
|
}
|
|
|
|
public void SetArgs(string arg)
|
|
{
|
|
throw new System.NotImplementedException();
|
|
}
|
|
}
|
|
}
|
|
} |