// Start paint area public static void StartPaintArea() { if (Visualizer.GetGameObject() != null) { // Set painting area to true paintingArea = true; // Record paint area start location paintAreaStart = Visualizer.GetGameObject().transform.position; paintAreaStart.y = Settings.Data.gui.grid.gridHeight * Settings.Data.gui.grid.yUnitSize + Const.Grid.yOffsetToAvoidTearing; // Create new Paint Area Visualizer paintAreaVisualizer = GameObject.CreatePrimitive(PrimitiveType.Plane); paintAreaVisualizer.transform.position = new Vector3(0f, 0f, 0f); paintAreaVisualizer.name = "MAST_Paint_Area_Visualizer"; // Configure Paint Area Visualizer MeshRenderer MeshRenderer paintAreaMeshRenderer = paintAreaVisualizer.GetComponent <MeshRenderer>(); paintAreaMeshRenderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; paintAreaMeshRenderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off; paintAreaMeshRenderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; paintAreaMeshRenderer.receiveShadows = false; // Configure Paint Area Visualizer Material if (paintAreaMaterial == null) { paintAreaMaterial = LoadingHelper.GetPaintAreaMaterial(); } paintAreaMeshRenderer.material = paintAreaMaterial; // Hide the Paint Area Visualizer in the hierarchy paintAreaVisualizer.hideFlags = HideFlags.HideInHierarchy; // Update the paint area UpdatePaintArea(); } }