public ClothesTexData GetOverlayTex(string clothesId, bool createNew) { if (CurrentOverlayTextures != null) { CurrentOverlayTextures.TryGetValue(clothesId, out var tex); if (tex == null && createNew) { tex = new ClothesTexData(); CurrentOverlayTextures[clothesId] = tex; } return(tex); } return(null); }
public void SetOverlayTex(ClothesTexData tex, string texType) { if (CurrentOverlayTextures.TryGetValue(texType, out var existing)) { existing?.Dispose(); } if (tex == null || tex.IsEmpty()) { CurrentOverlayTextures.Remove(texType); } else { CurrentOverlayTextures[texType] = tex; } RefreshTexture(texType); }
public void SetOverlayTex(ClothesTexData tex, string texType) { if (CurrentOverlayTextures.TryGetValue(texType, out var existing)) { if (existing != null && existing.Texture != tex?.Texture) { Destroy(existing.Texture); } } if (tex == null || tex.IsEmpty()) { CurrentOverlayTextures.Remove(texType); } else { CurrentOverlayTextures[texType] = tex; } RefreshTexture(texType); }
private void SetTexAndUpdate(ClothesTexData tex, string texType) { GetOverlayController().SetOverlayTex(tex, texType); _textureChanged.OnNext(new KeyValuePair <string, ClothesTexData>(texType, tex)); }