public override void OnClose()
    {
        TsAudio.RestoreMuteAllAudio();
        TsAudio.RefreshAllMuteAudio();
        if (null != this.rootEffectGameObject)
        {
            UnityEngine.Object.Destroy(this.rootEffectGameObject);
        }
        if (this.bLegend)
        {
            Myth_Legend_Info_DLG myth_Legend_Info_DLG = NrTSingleton <FormsManager> .Instance.GetForm(G_ID.MYTH_LEGEND_INFO_DLG) as Myth_Legend_Info_DLG;

            if (myth_Legend_Info_DLG != null)
            {
                myth_Legend_Info_DLG.InitSetCharKind(this.m_i32SelectCharKind);
            }
        }
        else
        {
            SolDetail_Info_Dlg solDetail_Info_Dlg = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.SOLDETAIL_DLG) as SolDetail_Info_Dlg;

            if (solDetail_Info_Dlg != null)
            {
                solDetail_Info_Dlg.SetElementGui();
            }
        }
        Resources.UnloadUnusedAssets();
        base.OnClose();
    }
    public virtual void OnSoldierInfo(IUIObject obj)
    {
        NrCharKindInfo nrCharKindInfo = obj.Data as NrCharKindInfo;

        if (nrCharKindInfo == null)
        {
            return;
        }
        Myth_Legend_Info_DLG myth_Legend_Info_DLG = NrTSingleton <FormsManager> .Instance.LoadForm(G_ID.MYTH_LEGEND_INFO_DLG) as Myth_Legend_Info_DLG;

        if (myth_Legend_Info_DLG != null)
        {
            myth_Legend_Info_DLG.InitSetCharKind(nrCharKindInfo.GetCharKind());
        }
    }