Esempio n. 1
0
    /// <summary>
    /// 添加地图名称展示
    /// </summary>
    /// <param name="mapName"></param>
    public void AddMapDisplayEffect(string mapName)
    {
        if (!CanShowDisPlayEffect())
        {
            return;
        }
        EffectDisplayData displayData = new EffectDisplayData()
        {
            DisPlayType = EffectDisplayData.EffectDisplayType.Disp_MapName,
            Data        = mapName,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTPlayDISPLAYEFFECT, displayData);
    }
Esempio n. 2
0
    /// <summary>
    /// 执行tips
    /// </summary>
    private bool DoShowNextTips()
    {
        if (!CanShowDisPlayEffect())
        {
            //不清空数据
            //ClearTips();
            return(false);
        }

        float             curTime     = Time.time;
        EffectDisplayData displayData = null;
        int priorityInt = 0;

        for (TipsPriority i = TipsPriority.High, min = TipsPriority.Low; i >= min; i--)
        {
            priorityInt = (int)i;
            if (!m_dicTipsCache.ContainsKey(priorityInt))
            {
                continue;
            }

            while (null != m_dicTipsCache[priorityInt] && m_dicTipsCache[priorityInt].Count > 0)
            {
                if (curTime - m_dicTipsCache[priorityInt][0].CacheTime < TipsCacheTime)
                {
                    displayData = new EffectDisplayData()
                    {
                        DisPlayType = EffectDisplayData.EffectDisplayType.Disp_Tips,
                        Data        = m_dicTipsCache[priorityInt][0].Txt,
                    };
                    m_dicTipsCache[priorityInt].RemoveAt(0);
                    Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTPlayDISPLAYEFFECT, displayData);
                    return(true);
                }
                else
                {
                    m_dicTipsCache[priorityInt].RemoveAt(0);
                }
            }
        }
        return(false);
    }
Esempio n. 3
0
    /// <summary>
    /// 添加粒子效果展示
    /// </summary>
    /// <param name="resId"></param>
    public void AddParticalDisplayEffect(uint resId)
    {
        if (!CanShowDisPlayEffect())
        {
            return;
        }
        EffectDisplayData displayData = new EffectDisplayData()
        {
            DisPlayType    = EffectDisplayData.EffectDisplayType.Disp_Partical,
            Data           = resId,
            CacheStartTime = Time.time,
        };

        if (m_cacheDisplayDatas.Count >= MAX_TIPS_CACHE_NUM)
        {
            //移除前面的,腾出空间放下一个
            m_cacheDisplayDatas.Dequeue();
            Engine.Utility.Log.Warning("EffectDisplayManager->AddParticalDisplayEffect warning,over max num limit");
        }
        m_cacheDisplayDatas.Enqueue(displayData);
        DoNextParticalDisplayEffect();
    }
Esempio n. 4
0
    /// <summary>
    /// 执行下一个粒子效果展示
    /// </summary>
    private void DoNextParticalDisplayEffect()
    {
        if (!CanShowDisPlayEffect())
        {
            m_cacheDisplayDatas.Clear();
            return;
        }

        if (m_isDoingDisplayEffect)
        {
            return;
        }

        if (m_cacheDisplayDatas.Count == 0)
        {
            return;
        }

        EffectDisplayData data = null;
        bool success           = false;

        while (m_cacheDisplayDatas.Count > 0)
        {
            data = m_cacheDisplayDatas.Dequeue();
            if (Time.time - data.CacheStartTime <= CenterDisplayEffectCacheLT)
            {
                //是否超过缓存最大时间
                success = true;
                break;
            }
        }
        if (success)
        {
            m_isDoingDisplayEffect = true;
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTPlayDISPLAYEFFECT, data);
        }
    }