// Token: 0x0600009E RID: 158 RVA: 0x00009550 File Offset: 0x00007750 private void FilterTexture(Texture2D texture, TextureModifier.FilterParam filter) { TextureModifier.TextureHolder orAdd = this._originalTexCache.GetOrAdd(texture); orAdd.dirty = false; filter.ClearDirtyFlag(); this.FilterTexture(texture, orAdd.texture, filter); }
// Token: 0x060000C6 RID: 198 RVA: 0x0000A5C8 File Offset: 0x000087C8 public TextureModifier.TextureHolder GetOrAdd(Texture2D tex) { TextureModifier.TextureHolder textureHolder; if (this._cacheDic.TryGetValue(tex.name, out textureHolder)) { return(textureHolder); } textureHolder = new TextureModifier.TextureHolder { texture = UnityEngine.Object.Instantiate <Texture2D>(tex) }; this._cacheDic[tex.name] = textureHolder; return(textureHolder); }
// Token: 0x060000C5 RID: 197 RVA: 0x0000A470 File Offset: 0x00008670 public void Refresh(Texture2D[] maidTextures) { List <string> list = new List <string>(); using (Dictionary <string, TextureModifier.TextureHolder> .KeyCollection.Enumerator enumerator = this._cacheDic.Keys.GetEnumerator()) { while (enumerator.MoveNext()) { string key = enumerator.Current; if (!maidTextures.Any((Texture2D t) => t.name == key)) { list.Add(key); } } } foreach (string key2 in list) { TextureModifier.TextureHolder textureHolder; if (this._cacheDic.TryGetValue(key2, out textureHolder)) { UnityEngine.Object.Destroy(textureHolder.texture); } this._cacheDic.Remove(key2); } foreach (Texture2D texture2D in maidTextures) { if (!this._cacheDic.ContainsKey(texture2D.name)) { TextureModifier.TextureHolder value = new TextureModifier.TextureHolder { texture = UnityEngine.Object.Instantiate <Texture2D>(texture2D), dirty = false }; this._cacheDic[texture2D.name] = value; } } }