Ejemplo n.º 1
0
 public void UpdateIcons(IconDescriptor[] iconDescArray)
 {
     lock (SyncRoot)
     {
         foreach (var id in iconDescArray)
         {
             if (!m_iconWrapperDict.ContainsKey(id))
             {
                 m_iconWrapperDict.Add(id, new IconTextureWrapper(id));
             }
             var itw = m_iconWrapperDict[id];
             itw.Visible = id.Visible;
             if (itw.Texture == null && D3D != null)
             {
                 itw.Load(D3D);
             }
         }
         var iconDescList = new List<IconDescriptor>(iconDescArray);
         var deleteList = new List<IconDescriptor>();
         foreach (var id in m_iconWrapperDict.Keys)
         {
             if (!iconDescList.Contains(id))
             {
                 deleteList.Add(id);
             }
         }
         foreach (var id in deleteList)
         {
             m_iconWrapperDict[id].Dispose();
             m_iconWrapperDict.Remove(id);
         }
     }
 }
Ejemplo n.º 2
0
 public IconTextureWrapper(IconDescriptor iconDesc)
 {
     m_iconDesc = iconDesc;
     Visible = iconDesc.Visible;
 }