48 lines
1.1 KiB
C#
48 lines
1.1 KiB
C#
using System.Collections;
|
|
|
|
namespace AibisDream.FixSystem
|
|
{
|
|
public enum FixTransitionMode
|
|
{
|
|
Animated,
|
|
Immediate
|
|
}
|
|
|
|
public readonly struct FixTransition
|
|
{
|
|
public readonly FixSceneMode? From;
|
|
public readonly FixSceneMode To;
|
|
public readonly string Args;
|
|
public readonly FixTransitionMode Mode;
|
|
|
|
public FixTransition(FixSceneMode? from, FixSceneMode to, string args, FixTransitionMode mode)
|
|
{
|
|
From = from;
|
|
To = to;
|
|
Args = args ?? "";
|
|
Mode = mode;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// A cue is a directed scene orchestration unit for a Fix mode.
|
|
/// It owns camera, timeline, UI and interaction setup for entering or leaving that mode.
|
|
/// </summary>
|
|
public interface IFixSceneCue
|
|
{
|
|
FixSceneMode Mode { get; }
|
|
|
|
IEnumerator Enter(FixTransition transition);
|
|
|
|
IEnumerator Exit(FixTransition transition)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
IEnumerator EnterImmediate(FixTransition transition)
|
|
{
|
|
yield break;
|
|
}
|
|
}
|
|
}
|