void ProcessTag(string tag) { var result = tag.Split(' ') switch { ("disable", string name) => entities.Deactivate(name), ("enable", string name) => entities.Activate(name), ("label", string[] (string name, string[] label)) => entities.SetName(name, string.Join(" ", label)), ("art", string[] (string name, string asset)) => entities.SetImage(name, asset), ("plot-choices", _) => hideNextChoices = true, ("format", "title") => inTitle = true, ("format", "begin-interview") => BeginInterview(), ("format", "end-interview") => EndInterview(), _ => false }; if (!result) { Debug.LogError($"Failed to process tag {tag}"); } }