private void playCombineSuccessFlash()
        {
            var go = LoadUiResource.AddChildObject(m_CombineSuccessFlash1GO.transform, GameConstDefine.RuneCombineFlash);

            go.name            = effectName1;
            m_ComposeTime      = Time.time;
            m_RuneComposeState = RuneComposeState.step0;
        }
        public override void Update(float deltaTime)
        {
            switch (m_RuneComposeState)
            {
            case RuneComposeState.step0:
            {
                var curTime = Time.time;
                if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState])
                {
                    m_RuneComposeState = RuneComposeState.step1;
                    foreach (var kv in slot2RuneGoDict)
                    {
                        kv.Value.sprite.spriteName = "";
                        AudioManager.Instance.PlatUnloadRuneAudio();
                    }

                    slot2RuneGoDict.Clear();
                    runeOnTempSlotDic.Clear();
                }
            }
            break;

            case RuneComposeState.step1:
            {
                var curTime = Time.time;

                if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState])
                {
                    LoadUiResource.ClearOneChild(m_CombineSuccessFlash1GO.transform, effectName1);

                    m_RuneComposeState = RuneComposeState.step2;
                    var cfg = ConfigReader.GetRuneFromID(m_CombinedID);

                    m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].gameObject.SetActive(true);
                    m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].spriteName = cfg.Icon;

                    m_ComposeTime = curTime;

                    var go = LoadUiResource.AddChildObject(m_CombineSuccessFlash1GO.transform, GameConstDefine.RuneDisappearFlash);
                    go.name = effectName2;
                }
            }

            break;

            case RuneComposeState.step2:
            {
                var curTime = Time.time;
                if (curTime - m_ComposeTime >= ComposeStateWaitTime[(int)m_RuneComposeState])
                {
                    LoadUiResource.ClearOneChild(m_CombineSuccessFlash1GO.transform, effectName2);
                    m_RuneComposeState = RuneComposeState.step3;

                    m_Slot_SpriteArray[GameDefine.GameConstDefine.MaxCombineSlotNum - 1].spriteName = "";

                    m_ComposeTime = curTime;

                    RuneConfigInfo sRuneConfigInfo = ConfigReader.GetRuneFromID(m_CombinedID);

                    var cfg = ConfigReader.GetRuneFromID(m_CombinedID);

                    if (IfCanShow(sRuneConfigInfo.level))
                    {
                        var oneRuneInfo = MarketRuneListModel.Instance.GetOneRuneInfo(m_CombinedID);
                        LoadOneRune(m_CombinedID, oneRuneInfo.num);
                        mGrid.Reposition();
                        mScroll.ResetPosition();
                    }

                    EventCenter.Broadcast(EGameEvent.eGameEvent_PurchaseSuccessWindowEnter);
                    EventCenter.Broadcast <EPurchaseType, string, string, int>(EGameEvent.eGameEvent_PurchaseRuneSuccessWin, EPurchaseType.EPT_Rune, cfg.RuneName, cfg.Icon, 1);

                    m_RuneComposeState = RuneComposeState.stepNone;
                }
            }

            break;
            }
        }
 //窗口控件释放
 protected override void RealseWidget()
 {
     m_RuneComposeState = RuneComposeState.stepNone;
 }