using UnityEngine;
namespace SingularityGroup.HotReload.Editor {
///
/// Create a new texture only once. Safe access to generated textures.
///
///
/// If
internal static class EditorTextures {
private static Texture2D black;
private static Texture2D white;
private static Texture2D lightGray225;
private static Texture2D lightGray235;
private static Texture2D darkGray17;
private static Texture2D darkGray30;
// Texture2D.blackTexture doesn't render properly in Editor GUI.
public static Texture2D Black {
get {
if (!black) {
black = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = black.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(0, 0, 0, byte.MaxValue);
}
black.SetPixels32(pixels);
black.Apply();
}
return black;
}
}
// Texture2D.whiteTexture might not render properly in Editor GUI.
public static Texture2D White {
get {
if (!white) {
white = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = white.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(byte.MaxValue, byte.MaxValue, byte.MaxValue, byte.MaxValue);
}
white.SetPixels32(pixels);
white.Apply();
}
return white;
}
}
public static Texture2D DarkGray17 {
get {
if (!darkGray17) {
darkGray17 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = darkGray17.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(17, 17, 17, byte.MaxValue);
}
darkGray17.SetPixels32(pixels);
darkGray17.Apply();
}
return darkGray17;
}
}
public static Texture2D DarkGray40 {
get {
if (!darkGray30) {
darkGray30 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = darkGray30.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(40, 40, 40, byte.MaxValue);
}
darkGray30.SetPixels32(pixels);
darkGray30.Apply();
}
return darkGray30;
}
}
public static Texture2D LightGray238 {
get {
if (!lightGray235) {
lightGray235 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = lightGray235.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(238, 238, 238, byte.MaxValue);
}
lightGray235.SetPixels32(pixels);
lightGray235.Apply();
}
return lightGray235;
}
}
public static Texture2D LightGray225 {
get {
if (!lightGray225) {
lightGray225 = new Texture2D(2, 2, TextureFormat.RGBA32, false);
var pixels = lightGray225.GetPixels32();
for (var i = 0; i < pixels.Length; i++) {
pixels[i] = new Color32(225, 225, 225, byte.MaxValue);
}
lightGray225.SetPixels32(pixels);
lightGray225.Apply();
}
return lightGray225;
}
}
}
}