private void UpdatePixels(bool apply = false) { if (this.applyLock != 0) { this.updateQueued = true; FPGrassProbabilities fPGrassProbability = this; fPGrassProbability.applyQueued = fPGrassProbability.applyQueued | apply; } else { Color[] pixels = this.GetPixels(); Texture2D texture = this.GetTexture(1); if (!this.linear) { texture.SetPixels(0, 0, 16, 2, pixels); } else { FPGrassProbabilities.Linear.SetLinearPixels(pixels, texture); } if (apply) { texture.Apply(); } } }
private void Initialize() { if (Support.Supported) { if (this.grassProbabilities == null) { this.grassProbabilities = ScriptableObject.CreateInstance <FPGrassProbabilities>(); this.grassProbabilities.name = "FPGrassProbabilities"; } if (this.grassAtlas == null) { this.grassAtlas = ScriptableObject.CreateInstance <FPGrassAtlas>(); this.grassAtlas.name = "FPGrassAtlas"; } this.settingsDirty = true; this.UpdateProbabilities(); this.UpdateGrassProperties(); } }
public void StopEditing() { FPGrassProbabilities fPGrassProbability = this; int num = fPGrassProbability.applyLock - 1; int num1 = num; fPGrassProbability.applyLock = num; if (num1 <= 0) { this.applyLock = 0; if (this.updateQueued) { this.updateQueued = false; bool flag = this.applyQueued; this.applyQueued = false; this.UpdatePixels(flag); } } }
public void SetDetailProperty(int splatChannel, int detailIndex, int detailID, float probability) { object obj; float single; Color[] pixels = this.GetPixels(); int num = 4 * splatChannel + detailIndex; int num1 = num + 16; if (detailID >= 0) { obj = (detailID <= 256 ? detailID : 256); } else { obj = null; } float single1 = (float)obj / 256f; if (probability >= 0f) { single = (probability <= 1f ? probability : 1f); } else { single = 0f; } float single2 = single; bool flag = false; if (FPGrassProbabilities.SetDif(ref pixels[num].a, single1)) { flag = true; } if (FPGrassProbabilities.SetDif(ref pixels[num1].a, single2)) { flag = true; } if (flag) { this.UpdatePixels(true); } }
public void StartEditing() { FPGrassProbabilities fPGrassProbability = this; fPGrassProbability.applyLock = fPGrassProbability.applyLock + 1; }