Пример #1
0
    /// <summary>
    /// 预加载光效
    /// </summary>
    /// <param name="nMapID"></param>
    /// <param name="nType"></param>
    /// <param name="objs"></param>
    public static void LoadPreLights(int nMapID, ASpeedGame.Data.Scheme.LightType nType, System.Collections.Generic.IEnumerable <int> objs, CachePriority mask)
    {
        if (objs == null)
        {
            return;
        }

        List <Pre_Load_Light_Info> ls = new List <Pre_Load_Light_Info>();

        foreach (int id in objs)
        {
            // 加载必须要加载的光效
            ASpeedGame.Data.Scheme.ObjectLightNode light = ASpeedGame.Data.Scheme.SchemePreLoadLight.Instance.get(nMapID, nType, id);
            if (light == null)
            {
                continue;
            }

            Pre_Load_Light_Info info = new Pre_Load_Light_Info();
            info.nLightType   = nType;      //光效类型
            info.nMask       |= (int)mask;  //标志位
            info.effectIDList = light.Collection;

            ls.Add(info);
        }

        if (ls.Count > 0)
        {
            LightingEffectFactory.Instance.RecvPreLoadLinghtEffectInfo(ls);
        }
    }
Пример #2
0
    /// <summary>
    /// 预加载某一类光效
    /// </summary>
    /// <param name="nMapID"></param>
    /// <param name="nType"></param>
    public static void LoadTypePreLight(int nMapID, ASpeedGame.Data.Scheme.LightType nType, CachePriority mask)
    {
        // 加载必须要加载的光效
        ASpeedGame.Data.Scheme.TypeLightNode typeLight = ASpeedGame.Data.Scheme.SchemePreLoadLight.Instance.get(nMapID, nType);
        if (typeLight == null || typeLight.Collection == null || typeLight.Collection.Count == 0)
        {
            return;
        }

        List <Pre_Load_Light_Info> ls = new List <Pre_Load_Light_Info>();

        foreach (var item in typeLight.Collection)
        {
            ASpeedGame.Data.Scheme.ObjectLightNode node = item.Value;

            Pre_Load_Light_Info info = new Pre_Load_Light_Info();
            info.nLightType   = nType;      //光效类型
            info.nMask       |= (int)mask;  //标志位
            info.effectIDList = node.Collection;

            ls.Add(info);
        }

        LightingEffectFactory.Instance.RecvPreLoadLinghtEffectInfo(ls);
    }
Пример #3
0
    /// <summary>
    /// 卸载已加载好的预加载光效
    /// </summary>
    /// <param name="nMapID"></param>
    /// <param name="nType"></param>
    /// <param name="nObjID"></param>
    public static void UnloadPreLight(int nMapID, ASpeedGame.Data.Scheme.LightType nType, int nObjID)
    {
        ASpeedGame.Data.Scheme.ObjectLightNode light = ASpeedGame.Data.Scheme.SchemePreLoadLight.Instance.get(nMapID, nType, nObjID);
        if (light == null || light.Collection.Count == 0)
        {
            return;
        }

        LightingEffectFactory.Instance.ClearCache(light.Collection);
    }
Пример #4
0
        /// <summary>
        /// 获取某一类所对应全部光效
        /// </summary>
        /// <param name="nMapID"></param>
        /// <param name="nType"></param>
        /// <returns></returns>
        public TypeLightNode get(int nMapID, ASpeedGame.Data.Scheme.LightType nType)
        {
            EntityUtil.formatMapID(ref nMapID);

            if (!m_dictMapLightList.ContainsKey(nMapID))
            {
                return(null);
            }

            return(m_dictMapLightList[nMapID].get(nType));
        }
Пример #5
0
        /// <summary>
        /// 获取某类所对应的全部光效
        /// </summary>
        /// <param name="nType"></param>
        /// <returns></returns>
        public TypeLightNode get(ASpeedGame.Data.Scheme.LightType nType)
        {
            int nCurType = (int)nType;

            if (!dictTypeLightList.ContainsKey(nCurType))
            {
                return(null);
            }

            return(dictTypeLightList[nCurType]);
        }
Пример #6
0
    /// <summary>
    /// 预加载光效
    /// </summary>
    /// <param name="nMapID"></param>
    /// <param name="nType"></param>
    /// <param name="nObjID"></param>
    public static void LoadPreLight(int nMapID, ASpeedGame.Data.Scheme.LightType nType, int nObjID, CachePriority mask)
    {
        // 加载必须要加载的光效
        ASpeedGame.Data.Scheme.ObjectLightNode light = ASpeedGame.Data.Scheme.SchemePreLoadLight.Instance.get(nMapID, nType, nObjID);
        if (light == null)
        {
            return;
        }
        Pre_Load_Light_Info info = new Pre_Load_Light_Info();

        info.nLightType   = nType;              //光效类型
        info.nMask       |= (int)mask;          //标志位
        info.effectIDList = light.Collection;

        List <Pre_Load_Light_Info> ls = new List <Pre_Load_Light_Info>();

        ls.Add(info);

        LightingEffectFactory.Instance.RecvPreLoadLinghtEffectInfo(ls);
    }
Пример #7
0
 /// <summary>
 /// 卸载已加载好的预加载光效
 /// </summary>
 /// <param name="nMapID"></param>
 /// <param name="nType"></param>
 /// <param name="nObjID"></param>
 public static void UnloadPreLight(ASpeedGame.Data.Scheme.LightType nType, int nObjID)
 {
     UnloadPreLight(StageManager.Instance.getMapID(), nType, nObjID);
 }
Пример #8
0
 /// <summary>
 /// 预加载光效
 /// </summary>
 /// <param name="nType"></param>
 /// <param name="objs"></param>
 public static void LoadPreLights(ASpeedGame.Data.Scheme.LightType nType, System.Collections.Generic.IEnumerable <int> objs, CachePriority mask)
 {
     LoadPreLights(StageManager.Instance.getMapID(), nType, objs, mask);
 }
Пример #9
0
 /// <summary>
 /// 预加载光效
 /// </summary>
 /// <param name="nMapID"></param>
 /// <param name="nType"></param>
 /// <param name="nObjID"></param>
 public static void LoadPreLight(ASpeedGame.Data.Scheme.LightType nType, int nObjID, CachePriority mask)
 {
     LoadPreLight(StageManager.Instance.getMapID(), nType, nObjID, mask);
 }