void RemoveCustomTextureOverrides() { if (skeletonGraphic == null) { Debug.LogError("skeletonGraphic == null"); return; } for (int i = 0; i < customTextureOverrides.Count; i++) { AtlasTextureOverride atlasTextureOverride = customTextureOverrides[i]; Texture currentTexture; if (!skeletonGraphic.CustomTextureOverride.TryGetValue(atlasTextureOverride.originalTexture, out currentTexture)) { continue; } // Do not revert the material if it was changed by something else if (currentTexture != atlasTextureOverride.replacementTexture) { continue; } skeletonGraphic.CustomTextureOverride.Remove(atlasTextureOverride.originalTexture); } }
void Reset() { skeletonGraphic = GetComponent <SkeletonGraphic>(); // Populate material list if (skeletonGraphic != null && skeletonGraphic.skeletonDataAsset != null) { var atlasAssets = skeletonGraphic.skeletonDataAsset.atlasAssets; var initialAtlasMaterialOverrides = new List <AtlasMaterialOverride>(); foreach (AtlasAssetBase atlasAsset in atlasAssets) { foreach (Material atlasMaterial in atlasAsset.Materials) { var atlasMaterialOverride = new AtlasMaterialOverride { overrideEnabled = false, originalTexture = atlasMaterial.mainTexture }; initialAtlasMaterialOverrides.Add(atlasMaterialOverride); } } customMaterialOverrides = initialAtlasMaterialOverrides; } // Populate texture list if (skeletonGraphic != null && skeletonGraphic.skeletonDataAsset != null) { var atlasAssets = skeletonGraphic.skeletonDataAsset.atlasAssets; var initialAtlasTextureOverrides = new List <AtlasTextureOverride>(); foreach (AtlasAssetBase atlasAsset in atlasAssets) { foreach (Material atlasMaterial in atlasAsset.Materials) { var atlasTextureOverride = new AtlasTextureOverride { overrideEnabled = false, originalTexture = atlasMaterial.mainTexture }; initialAtlasTextureOverrides.Add(atlasTextureOverride); } } customTextureOverrides = initialAtlasTextureOverrides; } }
void SetCustomTextureOverrides() { if (skeletonGraphic == null) { Debug.LogError("skeletonGraphic == null"); return; } for (int i = 0; i < customTextureOverrides.Count; i++) { AtlasTextureOverride atlasTextureOverride = customTextureOverrides[i]; if (atlasTextureOverride.overrideEnabled) { skeletonGraphic.CustomTextureOverride[atlasTextureOverride.originalTexture] = atlasTextureOverride.replacementTexture; } } }