public static Texture2D LoadShapeTexture(string name, bool isTemp, TextureShape shape, float[] shapeParms) { var dics = isTemp ? TextureTempDics : TextureDics; Texture2D tex = null; bool reload = false; lock (dics) { if (dics != null && (!dics.TryGetValue(name, out tex) || tex != null && tex.IsDisposed)) { reload = true; if (tex != null) { dics.Remove(name); } } } if (reload) { tex = GameTools.CreateShapeTexture(shape, Color.White, shapeParms); lock (dics) { if (tex == null) { dics.Add(name, null); } else { dics.Add(name, tex); } } } return(tex); }