public override void OnInspectorGUI() { base.OnInspectorGUI(); FXTexture fxTexture = (FXTexture)target; displayCameras = EditorGUILayout.Foldout(displayCameras, "Rendering Cameras"); if (displayCameras) { EditorGUILayout.HelpBox("Cameras which will provide to the RenderTexture.", MessageType.Info); EditorGUI.indentLevel++; var hasNullCamera = false; foreach (var cam in fxTexture.Cameras) { cam.Camera = (Camera)EditorGUILayout.ObjectField("Camera", cam.Camera, typeof(Camera), true); if (cam.Camera == null) { hasNullCamera = true; } EditorGUI.indentLevel++; LayerDrawer.HandleLayer("Culling Mask", null, ref cam.CullingMask); EditorGUI.indentLevel--; } if (hasNullCamera) { fxTexture.Cameras = fxTexture.Cameras.Where(cam => cam.Camera != null).ToArray(); } var newCamera = (Camera)EditorGUILayout.ObjectField("Add New Camera", null, typeof(Camera), true); if (newCamera) { fxTexture.Cameras = fxTexture.Cameras.Concat(new FXTexture.FXTextureCamera[] { new FXTexture.FXTextureCamera() { Camera = newCamera } }).ToArray(); } EditorGUI.indentLevel--; EditorGUILayout.Space(); } fxTexture.RenderTexture = (FXRenderTexture)EditorGUILayout.ObjectField("Target Texture", fxTexture.RenderTexture, typeof(FXRenderTexture), false); displayTexture = EditorGUILayout.Foldout(displayTexture, "RenderTexture Details"); if (displayTexture) { EditorGUI.indentLevel++; var editor = Editor.CreateEditor(fxTexture.RenderTexture); editor.OnInspectorGUI(); Object.DestroyImmediate(editor); EditorGUI.indentLevel--; } }
private ILayerMasked drawSiteToLayer(IntVector2 size, IEnumerable <IArea> areas) { var layer = new Layer2DObject(size.X, size.Y); _layerUtility.IterateValues(layer, (x, y, va) => layer[x, y] = 0); var layerDrawer = new LayerDrawer(layer); foreach (var area in areas) { layerDrawer.DrawArea(area); } return(layer); }