using System; using System.Collections; using UnityEngine; using Yarn.Unity; namespace AibisDream.FixSystem { public static class FixSystemYarnCommand { [YarnCommand("switch_fix_system_to")] public static IEnumerator SwitchFixSystemTo(string targetStateStr, string extraArg = "") { // 字符串转枚举 if (!Enum.TryParse(targetStateStr, out var targetState)) { Debug.Log($"{targetStateStr}不在FixState枚举中"); yield break; } // 获取命令 var command = FixSystemCenter.Instance.TransToNextState(targetState); // 传入参数 command.SetArgs(extraArg); yield return command.Execute(); } } }