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; } } /// /// 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. /// public interface IFixSceneCue { FixSceneMode Mode { get; } IEnumerator Enter(FixTransition transition); IEnumerator Exit(FixTransition transition) { yield break; } IEnumerator EnterImmediate(FixTransition transition) { yield break; } } }