Exemple #1
0
 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);
        }
Exemple #4
0
        private void SetTexAndUpdate(ClothesTexData tex, string texType)
        {
            GetOverlayController().SetOverlayTex(tex, texType);

            _textureChanged.OnNext(new KeyValuePair <string, ClothesTexData>(texType, tex));
        }