public static void OnYotogiKagHitRet(YotogiKagManager manager) { var args = new StringTranslationEventArgs { Text = manager.kag.GetText() }; YotogiKagSubtitleCaptured?.Invoke(null, args); }
public static void YotogiKagManager_Tag(YotogiKagManager manager, KagTagSupport kagTag) { try { var list = kagTag.GetTagList(); Logger.Log(LogLevel.Debug, $"[Yotogi] Kag Tag({list["tagname"]})"); switch (list["tagname"]) { case "talk": case "talkrepeat": foreach (var tag in list) { Logger.Log(LogLevel.Debug, $"[Yotogi] Kag Tag {tag.Key}:{tag.Value}"); } yotogiTagEventArgs = new YotogiKagHitRetEventArgs(list["voice"] + ".ogg"); yotogiTagEventArgs.TagCallStack.Add(kagTag); break; case "hitret": if (yotogiTagEventArgs == null) { return; } yotogiTagEventArgs.Text = manager.kag.GetText(); var args = new TextTranslationEventArgs(manager.kag.GetText(), TextType.Text, TextSource.Yotogi); TextTranslation?.Invoke(manager, args); if (args.Translation != null) { yotogiTagEventArgs.Translation = args.Translation; } yotogiTagEventArgs.TagCallStack.Add(kagTag); YotogiKagHitRet?.Invoke(manager, yotogiTagEventArgs); yotogiTagEventArgs = null; break; } } catch (Exception ex) { Logger.Log(LogLevel.Error, ex); throw; } }