void SuperSizeChanged(GUIBase sender) { GUIIntSlider slider = sender as GUIIntSlider; EditorPrefs.SetInt(SuperSizePrefsKey, slider.value); _recordVideo.superSize = slider.value; }
void FramerateChanged(GUIBase sender) { GUIIntSlider slider = sender as GUIIntSlider; EditorPrefs.SetInt(FrameratePrefsKey, slider.value); _recordVideo.captureFramerate = slider.value; }
void OnDisable() { _gui = null; _guiTexture = null; _guiMaxColors = null; _guiConvert = null; _guiPalette = null; _guiPalettizedTexture = null; _guiSave = null; }
void OnEnable() { _gui = new GUIVertical(); GUIScrollView scroll = _gui.Add(new GUIScrollView()) as GUIScrollView; _guiTexture = scroll.Add(new GUITextureField(new GUIContent("Texture"), TextureChanged)) as GUITextureField; _guiMaxColors = scroll.Add(new GUIIntSlider(new GUIContent("Max Colors"), 32, 2, 32)) as GUIIntSlider; _guiConvert = scroll.Add(new GUIButton(new GUIContent("Convert"), ConvertClicked)) as GUIButton; scroll.Add(new GUISpace()); _guiPalette = scroll.Add(new GUITextureField(new GUIContent("Palette"), null)) as GUITextureField; _guiPalettizedTexture = scroll.Add(new GUITextureField(new GUIContent("Palettized Texture"), null)) as GUITextureField; _guiSave = scroll.Add(new GUIButton(new GUIContent("Save Palette & Texture"), SaveClicked)) as GUIButton; _guiPalette.isEnabled = false; _guiPalettizedTexture.isEnabled = false; _guiSave.isEnabled = false; _guiConvert.isEnabled = false; }
void OnDisable() { _gui = null; _guiSide = null; _guiFrameCount = null; _guiFrameWidth = null; _guiFrameHeight = null; _guiCurrentFrame = null; _guiPositionOffset = null; _guiScaleOffset = null; _guiAnimationClips = null; _guiAnimationClips = null; _guiMaterials = null; _guiStartRotation = null; _guiEndRotation = null; _guiLoopCount = null; _guiPingPong = null; _guiSpriteSheetName = null; _guiExport = null; _guiPreview = null; }
private void ShadeCountChanged(GUIBase sender) { GUIIntSlider slider = sender as GUIIntSlider; Texture2D palette = _guiTexture.texture; if (palette == null) { return; } if (IsTextureReadWrite(palette)) { Undo.RecordObject(palette, "Resize Palette"); int oldSize = palette.width * palette.height; int newSize = palette.width * slider.value; int copySize = Math.Min(oldSize, newSize); Color32[] pixels = palette.GetPixels32(); Color32[] newPixels = new Color32[newSize]; Array.Copy(pixels, oldSize - copySize, newPixels, newSize - copySize, copySize); palette.Resize(palette.width, slider.value); palette.SetPixels32(newPixels); palette.Apply(); _paletteDirty = true; RebuildGUI(palette); string path = AssetDatabase.GetAssetPath(Shader.Find("kode80/PixelRender/PixelArtShader")); AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate); } else { HandleTextureNotReadWrite(); } }
void CreateGUI() { int padding = 4; GUIStyle style = new GUIStyle(); style.padding = new RectOffset(padding, padding, padding, padding); _gui = new GUIVertical(); GUIHorizontal toolLayout = new GUIHorizontal(style); toolLayout.Add(new GUIButton(Localize.GUI(null, "Toggle properties panel", "Assets/kode80/Clouds/Editor/gui/button_properties.png"), TogglePropertiesPanel)); toolLayout.Add(new GUISpace()); toolLayout.Add(new GUIButton(Localize.GUI(null, "Create a new coverage map", "Assets/kode80/Clouds/Editor/gui/button_new.png"), NewCoverageMapAction)); toolLayout.Add(new GUIButton(Localize.GUI(null, "Save the current coverage map", "Assets/kode80/Clouds/Editor/gui/button_save.png"), SaveCoverageMapAction)); toolLayout.Add(new GUIButton(Localize.GUI(null, "Save the current coverage map as a new file", "Assets/kode80/Clouds/Editor/gui/button_saveas.png"), SaveCoverageMapAsAction)); toolLayout.Add(new GUISpace()); toolLayout.Add(new GUIButton(Localize.GUI(null, "Export cubemap from current camera", "Assets/kode80/Clouds/Editor/gui/button_cubemap.png"), ExportCubemapAction)); toolLayout.Add(new GUISpace(true)); GUIContent[] toolbarContent = new GUIContent[] { Localize.GUI(null, null, "Assets/kode80/Clouds/Editor/gui/button_camera.png"), Localize.GUI(null, null, "Assets/kode80/Clouds/Editor/gui/button_coverage.png"), Localize.GUI(null, null, "Assets/kode80/Clouds/Editor/gui/button_type.png") }; _guiToolbar = toolLayout.Add(new GUIToolbar(toolbarContent, ChangeModeAction)) as GUIToolbar; toolLayout.Add(new GUISpace(true)); toolLayout.Add(new GUIButton(Localize.GUI(null, "Clear the current coverage map", "Assets/kode80/Clouds/Editor/gui/button_clearmap.png"), ClearCoverageMapAction)); GUIFoldout helpFoldout = CreateHelpFoldout(); GUIFoldout editorFoldout = new GUIFoldout(Localize.GUI("Editor Properties")); editorFoldout.Add(new GUIToggle(Localize.GUI("Continuous Update", "If disabled, the editor will only render on changes"), ContinuousUpdateToggleAction)); if (_cameraComponents.Length > 0) { _guiCameraFoldout = new GUIFoldout(Localize.GUI("Editor Camera")); foreach (MonoBehaviour component in _cameraComponents) { GUIToggle toggle = new GUIToggle(new GUIContent(component.GetType().Name), CameraComponentToggled); toggle.isToggled = component.enabled; _guiCameraFoldout.Add(toggle); } } GUIFoldout brushFoldout = new GUIFoldout(Localize.GUI("Brush Properties")); _guiBrushBlendValues = brushFoldout.Add(new GUIToggle(Localize.GUI("Blend Values", "Blend values when painting or set to a specific value"), UpdateBrushPropertiesAction)) as GUIToggle; _guiBrushOpacity = brushFoldout.Add(new GUISlider(Localize.GUI("Opacity", "Brush opacity"), 0.2f, 0.0f, 1.0f, UpdateBrushPropertiesAction)) as GUISlider; _guiBrushSize = brushFoldout.Add(new GUIIntSlider(Localize.GUI("Size", "Brush size"), 2, 2, (int)EditorState.MaxCursorRadius, UpdateBrushPropertiesAction)) as GUIIntSlider; _guiBrushTexture = brushFoldout.Add(new GUITextureField(Localize.GUI("Brush", "Brush texture"), UpdateBrushPropertiesAction)) as GUITextureField; GUIFoldout sunFoldout = new GUIFoldout(Localize.GUI("Sun Properties")); _guiSunRotation = sunFoldout.Add(new GUIVector3Field(Localize.GUI("Rotation", "Sun's rotation"), UpdateSunPropertiesAction)) as GUIVector3Field; _guiSunColor = sunFoldout.Add(new GUIColorField(Localize.GUI("Color", "Sun's color"), UpdateSunPropertiesAction)) as GUIColorField; GUIFoldout cloudsFoldout = new GUIFoldout(Localize.GUI("Clouds Properties")); GUIHorizontal subLayout = new GUIHorizontal(); subLayout.Add(new GUISpace()); subLayout.Add(new GUIButton(Localize.GUI("Load Settings", "Load key render settings from asset"), LoadRenderSettingsAction)); subLayout.Add(new GUIButton(Localize.GUI("Save Settings", "Save key render settings to asset"), SaveRenderSettingsAction)); cloudsFoldout.Add(subLayout); cloudsFoldout.Add(new GUISpace()); cloudsFoldout.Add(new GUIDefaultInspector(_clouds)); GUIScrollView scrollView = new GUIScrollView(); scrollView.Add(helpFoldout); scrollView.Add(editorFoldout); if (_cameraComponents.Length > 0) { scrollView.Add(_guiCameraFoldout); } scrollView.Add(brushFoldout); scrollView.Add(sunFoldout); scrollView.Add(cloudsFoldout); _guiPropertiesPanel = new GUIVertical(GUILayout.MaxWidth(320.0f)); _guiPropertiesPanel.Add(scrollView); _guiScenePlaceholder = new GUIVertical(GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); _guiScenePlaceholder.shouldStoreLastRect = true; GUIHorizontal lowerLayout = new GUIHorizontal(); lowerLayout.Add(_guiPropertiesPanel); lowerLayout.Add(_guiScenePlaceholder); _gui.Add(toolLayout); _gui.Add(lowerLayout); // Update properties _guiBrushBlendValues.isToggled = _editorState.cursorBlendValues; _guiBrushOpacity.value = _editorState.cursorOpacity; _guiBrushSize.value = (int)_editorState.cursorRadius * 2; _guiBrushTexture.texture = _editorState.brushTexture; _guiSunColor.color = _clouds.sunLight.color; _guiSunRotation.vector = _clouds.sunLight.transform.eulerAngles; }
void OnEnable() { CreateExportFolderIfNeeded(); _lastFrameTime = Time.realtimeSinceStartup; _gui = new GUIHorizontal(); GUIVertical sideContainer = _gui.Add(new GUIVertical(GUILayout.MaxWidth(290.0f))) as GUIVertical; _guiSide = sideContainer.Add(new GUIScrollView()) as GUIScrollView; GUIObjectField <GameObject> guiGameObject = _guiSide.Add(new GUIObjectField <GameObject>(new GUIContent("GameObject", "GameObject to render as sprite sheet"), true, GameObjectChanged)) as GUIObjectField <GameObject>; _guiFrameCount = _guiSide.Add(new GUIIntSlider(new GUIContent("Frame Count", "Number of frames in the sprite sheet"), 12, 1, 64, FrameCountChanged)) as GUIIntSlider; _guiFrameWidth = _guiSide.Add(new GUIIntSlider(new GUIContent("Frame Width", "Width of each frame in the sprite sheet"), 100, 32, 512, ResizeFrame)) as GUIIntSlider; _guiFrameHeight = _guiSide.Add(new GUIIntSlider(new GUIContent("Frame Height", "Height of each frame in the sprite sheet"), 100, 32, 512, ResizeFrame)) as GUIIntSlider; _guiFOV = _guiSide.Add(new GUISlider(new GUIContent("FOV"), 20, 1, 179, OffsetChanged)) as GUISlider; _guiSide.Add(new GUISpace()); _guiCurrentFrame = _guiSide.Add(new GUIIntSlider(new GUIContent("Current Frame"), 0, 0, _guiFrameCount.value - 1, RenderPreviewAction)) as GUIIntSlider; _guiDuration = _guiSide.Add(new GUISlider(new GUIContent("Duration"), 1, 0, 100, RenderPreviewAction)) as GUISlider; _guiPlay = _guiSide.Add(new GUIToggle(new GUIContent("Play"))) as GUIToggle; _guiSide.Add(new GUISpace()); GUIFoldout offsetFoldout = _guiSide.Add(new GUIFoldout(new GUIContent("Position/Scale"))) as GUIFoldout; _guiPositionOffset = offsetFoldout.Add(new GUIVector3Field(new GUIContent("Position Offset"), OffsetChanged)) as GUIVector3Field; _guiScaleOffset = offsetFoldout.Add(new GUISlider(new GUIContent("Scale Offset"), 0.0f, -10.0f, 10.0f, OffsetChanged)) as GUISlider; _guiAnimationClips = _guiSide.Add(new GUISpriteSheetClips(RenderPreviewAction)) as GUISpriteSheetClips; _guiMaterials = _guiSide.Add(new GUISpriteSheetMaterials(RenderPreviewAction)) as GUISpriteSheetMaterials; GUIFoldout rotationFoldout = _guiSide.Add(new GUIFoldout(new GUIContent("Rotation"))) as GUIFoldout; _guiStartRotation = rotationFoldout.Add(new GUIVector3Field(new GUIContent("Start Rotation"), RenderPreviewAction)) as GUIVector3Field; _guiEndRotation = rotationFoldout.Add(new GUIVector3Field(new GUIContent("End Rotation"), RenderPreviewAction)) as GUIVector3Field; GUIFoldout loopFoldout = _guiSide.Add(new GUIFoldout(new GUIContent("Rotation/Material Looping"))) as GUIFoldout; _guiLoopCount = loopFoldout.Add(new GUIIntSlider(new GUIContent("Loop Count"), 1, 1, 10, RenderPreviewAction)) as GUIIntSlider; _guiPingPong = loopFoldout.Add(new GUIToggle(new GUIContent("Pingpong"), RenderPreviewAction)) as GUIToggle; GUIFoldout outlineFoldout = _guiSide.Add(new GUIFoldout(new GUIContent("Outline Effect"))) as GUIFoldout; GUIColorField outlineColor = outlineFoldout.Add(new GUIColorField(new GUIContent("Color"), OutlineColorChanged)) as GUIColorField; GUISlider outlineThreshold = outlineFoldout.Add(new GUISlider(new GUIContent("Threshold"), 0.05f, 0.0f, 0.05f, OutlineThresholdChanged)) as GUISlider; _guiSide.Add(new GUISpace()); _guiSpriteSheetName = _guiSide.Add(new GUITextField(new GUIContent("Sprite Sheet Name"))) as GUITextField; _guiExport = _guiSide.Add(new GUIButton(new GUIContent("Export Sprite Sheet"), ExportSpriteSheet)) as GUIButton; _guiPreview = _gui.Add(new GUIVertical(GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true))) as GUIVertical; _guiPreview.shouldStoreLastRect = true; InitPreviewRenderTexture(); InitPreviewCamera(); InitRootGameObject(); guiGameObject.value = _modelGameObject; GameObjectChanged(guiGameObject); RenderPreview(0); _guiStartRotation.vector = Vector3.zero; _guiEndRotation.vector = Vector3.zero; outlineColor.color = _previewOutline.outlineColor; outlineThreshold.value = _previewOutline.depthThreshold; }