/// <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); } }
/// <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); }
/// <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); }
/// <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)); }
/// <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]); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }