static void HookTagCallback(string tagName, TagProcDelegate tagProcDelegate)
    {
        foreach (var kv in GameMain.Instance.ScriptMgr.kag_mot_dic)
        {
            BaseKagManager mgr = kv.Value;
            KagScript      kag = mgr.kag;
            kag.RemoveTagCallBack(tagName);
            kag.AddTagCallBack(tagName, new KagScript.KagTagCallBack(delegate(KagTagSupport tag_data)
            {
                return(tagProcDelegate(mgr, tag_data));
            }));
        }

        {
            BaseKagManager mgr = GameMain.Instance.ScriptMgr.adv_kag;
            KagScript      kag = mgr.kag;
            kag.RemoveTagCallBack(tagName);
            kag.AddTagCallBack(tagName, new KagScript.KagTagCallBack(delegate(KagTagSupport tag_data)
            {
                return(tagProcDelegate(mgr, tag_data));
            }));
        }

        {
            BaseKagManager mgr = GameMain.Instance.ScriptMgr.yotogi_kag;
            KagScript      kag = mgr.kag;
            kag.RemoveTagCallBack(tagName);
            kag.AddTagCallBack(tagName, new KagScript.KagTagCallBack(delegate(KagTagSupport tag_data)
            {
                return(tagProcDelegate(mgr, tag_data));
            }));
        }
    }
        private static void KagScriptGetText(KagScript __instance, ref string __result)
        {
            if (string.IsNullOrEmpty(__result))
            {
                return;
            }

            TranslateLine(__instance.GetCurrentFileName(), ref __result);
        }