public override void SetDefaultValues() { base.SetDefaultValues(); BackgroundBlur = gameObject.GetComponent <TranslucentImage>() ? gameObject.GetComponent <TranslucentImage>() : gameObject.AddComponent <TranslucentImage>(); BackgroundBlur.material = new Material(Shader.Find("UI/TranslucentImage")); ImageComponent = BackgroundBlur; }
private void CheckMaterialUsedInDifferentSource(TranslucentImage self) { var diffSource = FindObjectsOfType <TranslucentImage>() .Where(ti => ti.source != self.source) .ToList(); if (!diffSource.Any()) { materialUsedInDifferentSource = false; return; } var sameMat = diffSource.GroupBy(ti => ti.material).ToList(); materialUsedInDifferentSource = sameMat.All(group => group.Key == self.material); }
void OnMaterialChanged(TranslucentImage self) { CheckMaterialUsedInDifferentSource(self); CheckCorrectShader(self); }
void OnSourceChanged(TranslucentImage self) { CheckMaterialUsedInDifferentSource(self); }
private void CheckCorrectShader(TranslucentImage self) { usingIncorrectShader = self.material.shader != correctShader; }