public static SolidColorTexture GetOrAdd(Color color) { var weak = _solidColorTextures.GetOrAdd(color, k => new WeakReference <SolidColorTexture>(new SolidColorTexture(k))); SolidColorTexture result; if (!weak.TryGetTarget(out result)) { result = new SolidColorTexture(color); weak.SetTarget(result); } return(result); }
internal override IResource CreateTextureResource() { return(SolidColorTexture.GetOrAdd(Color).Resource); }