├── .gitignore ├── .gitmodules ├── LICENSE ├── NoiseNodeEditor ├── Assets │ ├── LibNoise.Unity.meta │ ├── Node_Editor_LibNoise.meta │ ├── Node_Editor_LibNoise │ │ ├── NodeEditorSkin.guiskin │ │ ├── NodeEditorSkin.guiskin.meta │ │ ├── Nodes.meta │ │ └── Nodes │ │ │ ├── AsyncWorkQueue.cs │ │ │ ├── AsyncWorkQueue.cs.meta │ │ │ ├── Generators.meta │ │ │ ├── Generators │ │ │ ├── NodeModuleGeneratorBillow.cs │ │ │ ├── NodeModuleGeneratorBillow.cs.meta │ │ │ ├── NodeModuleGeneratorChecker.cs │ │ │ ├── NodeModuleGeneratorChecker.cs.meta │ │ │ ├── NodeModuleGeneratorConst.cs │ │ │ ├── NodeModuleGeneratorConst.cs.meta │ │ │ ├── NodeModuleGeneratorGradient.cs │ │ │ ├── NodeModuleGeneratorGradient.cs.meta │ │ │ ├── NodeModuleGeneratorPerlin.cs │ │ │ ├── NodeModuleGeneratorPerlin.cs.meta │ │ │ ├── NodeModuleGeneratorRidgedMultiFractal.cs │ │ │ ├── NodeModuleGeneratorRidgedMultiFractal.cs.meta │ │ │ ├── NodeModuleGeneratorSpheres.cs │ │ │ ├── NodeModuleGeneratorSpheres.cs.meta │ │ │ ├── NodeModuleGeneratorVoronoi.cs │ │ │ └── NodeModuleGeneratorVoronoi.cs.meta │ │ │ ├── NodeModuleBase.cs │ │ │ ├── NodeModuleBase.cs.meta │ │ │ ├── NodeModuleCellularAutomata.cs │ │ │ ├── NodeModuleCellularAutomata.cs.meta │ │ │ ├── NodeModuleViewer.cs │ │ │ ├── NodeModuleViewer.cs.meta │ │ │ ├── Operators.meta │ │ │ └── Operators │ │ │ ├── NodeModuleOperatorAbs.cs │ │ │ ├── NodeModuleOperatorAbs.cs.meta │ │ │ ├── NodeModuleOperatorAdd.cs │ │ │ ├── NodeModuleOperatorAdd.cs.meta │ │ │ ├── NodeModuleOperatorBlend.cs │ │ │ ├── NodeModuleOperatorBlend.cs.meta │ │ │ ├── NodeModuleOperatorClamp.cs │ │ │ ├── NodeModuleOperatorClamp.cs.meta │ │ │ ├── NodeModuleOperatorCurve.cs │ │ │ ├── NodeModuleOperatorCurve.cs.meta │ │ │ ├── NodeModuleOperatorDisplace.cs │ │ │ ├── NodeModuleOperatorDisplace.cs.meta │ │ │ ├── NodeModuleOperatorExponent.cs │ │ │ ├── NodeModuleOperatorExponent.cs.meta │ │ │ ├── NodeModuleOperatorInvert.cs │ │ │ ├── NodeModuleOperatorInvert.cs.meta │ │ │ ├── NodeModuleOperatorMax.cs │ │ │ ├── NodeModuleOperatorMax.cs.meta │ │ │ ├── NodeModuleOperatorMin.cs │ │ │ ├── NodeModuleOperatorMin.cs.meta │ │ │ ├── NodeModuleOperatorMultiply.cs │ │ │ ├── NodeModuleOperatorMultiply.cs.meta │ │ │ ├── NodeModuleOperatorPower.cs │ │ │ ├── NodeModuleOperatorPower.cs.meta │ │ │ ├── NodeModuleOperatorRotate.cs │ │ │ ├── NodeModuleOperatorRotate.cs.meta │ │ │ ├── NodeModuleOperatorScale.cs │ │ │ ├── NodeModuleOperatorScale.cs.meta │ │ │ ├── NodeModuleOperatorScaleBias.cs │ │ │ ├── NodeModuleOperatorScaleBias.cs.meta │ │ │ ├── NodeModuleOperatorSelect.cs │ │ │ ├── NodeModuleOperatorSelect.cs.meta │ │ │ ├── NodeModuleOperatorSubtract.cs │ │ │ ├── NodeModuleOperatorSubtract.cs.meta │ │ │ ├── NodeModuleOperatorTerrace.cs │ │ │ ├── NodeModuleOperatorTerrace.cs.meta │ │ │ ├── NodeModuleOperatorTranslate.cs │ │ │ ├── NodeModuleOperatorTranslate.cs.meta │ │ │ ├── NodeModuleOperatorTurbulence.cs │ │ │ └── NodeModuleOperatorTurbulence.cs.meta │ ├── Plugins.meta │ ├── Plugins │ │ ├── Node_Editor.meta │ │ └── Node_Editor │ │ │ ├── Docs.meta │ │ │ ├── Docs │ │ │ ├── docs.meta │ │ │ ├── docs │ │ │ │ ├── BuildingExtensions.meta │ │ │ │ ├── BuildingExtensions │ │ │ │ │ ├── AddingInputControls.md │ │ │ │ │ ├── AddingInputControls.md.meta │ │ │ │ │ ├── AddingNodeCanvasTypes.md │ │ │ │ │ ├── AddingNodeCanvasTypes.md.meta │ │ │ │ │ ├── BuildingAnEditor.md │ │ │ │ │ ├── BuildingAnEditor.md.meta │ │ │ │ │ ├── CustomConnectionTypes.md │ │ │ │ │ ├── CustomConnectionTypes.md.meta │ │ │ │ │ ├── CustomNodes.md │ │ │ │ │ ├── CustomNodes.md.meta │ │ │ │ │ ├── EventsCallbacks.md │ │ │ │ │ ├── EventsCallbacks.md.meta │ │ │ │ │ ├── index.md │ │ │ │ │ └── index.md.meta │ │ │ │ ├── FrameworkOverview.md │ │ │ │ ├── FrameworkOverview.md.meta │ │ │ │ ├── GettingStarted.md │ │ │ │ ├── GettingStarted.md.meta │ │ │ │ ├── extra.css │ │ │ │ ├── extra.css.meta │ │ │ │ ├── img.meta │ │ │ │ ├── img │ │ │ │ │ ├── ConnectionTypes.png │ │ │ │ │ ├── ConnectionTypes.png.meta │ │ │ │ │ ├── NodeEditorTitle.png │ │ │ │ │ ├── NodeEditorTitle.png.meta │ │ │ │ │ ├── favicon.png │ │ │ │ │ └── favicon.png.meta │ │ │ │ ├── index.md │ │ │ │ └── index.md.meta │ │ │ ├── mkdocs.yml │ │ │ └── mkdocs.yml.meta │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ ├── Node_Editor.meta │ │ │ └── Node_Editor │ │ │ │ ├── LastSession.asset │ │ │ │ ├── LastSession.asset.meta │ │ │ │ ├── NodeEditorWindow.cs │ │ │ │ ├── NodeEditorWindow.cs.meta │ │ │ │ ├── RTCanvasCalculatorEditor.cs │ │ │ │ ├── RTCanvasCalculatorEditor.cs.meta │ │ │ │ ├── RTNodeEditorInspector.cs │ │ │ │ └── RTNodeEditorInspector.cs.meta │ │ │ ├── Node_Editor.meta │ │ │ ├── Node_Editor │ │ │ ├── Example.meta │ │ │ ├── Example │ │ │ │ ├── RTCanvasCalculator.cs │ │ │ │ ├── RTCanvasCalculator.cs.meta │ │ │ │ ├── RTNodeEditor.cs │ │ │ │ └── RTNodeEditor.cs.meta │ │ │ ├── Framework.meta │ │ │ ├── Framework │ │ │ │ ├── ConnectionTypes.cs │ │ │ │ ├── ConnectionTypes.cs.meta │ │ │ │ ├── Node.cs │ │ │ │ ├── Node.cs.meta │ │ │ │ ├── NodeCanvas.cs │ │ │ │ ├── NodeCanvas.cs.meta │ │ │ │ ├── NodeCanvasManager.cs │ │ │ │ ├── NodeCanvasManager.cs.meta │ │ │ │ ├── NodeCanvasSceneSave.cs │ │ │ │ ├── NodeCanvasSceneSave.cs.meta │ │ │ │ ├── NodeEditor.cs │ │ │ │ ├── NodeEditor.cs.meta │ │ │ │ ├── NodeEditorCallbackReceiver.cs │ │ │ │ ├── NodeEditorCallbackReceiver.cs.meta │ │ │ │ ├── NodeEditorGUI.cs │ │ │ │ ├── NodeEditorGUI.cs.meta │ │ │ │ ├── NodeEditorInputControls.cs │ │ │ │ ├── NodeEditorInputControls.cs.meta │ │ │ │ ├── NodeEditorInputSystem.cs │ │ │ │ ├── NodeEditorInputSystem.cs.meta │ │ │ │ ├── NodeEditorSaveManager.cs │ │ │ │ ├── NodeEditorSaveManager.cs.meta │ │ │ │ ├── NodeEditorState.cs │ │ │ │ ├── NodeEditorState.cs.meta │ │ │ │ ├── NodeEditorUserCache.cs │ │ │ │ ├── NodeEditorUserCache.cs.meta │ │ │ │ ├── NodeInput.cs │ │ │ │ ├── NodeInput.cs.meta │ │ │ │ ├── NodeKnob.cs │ │ │ │ ├── NodeKnob.cs.meta │ │ │ │ ├── NodeOutput.cs │ │ │ │ ├── NodeOutput.cs.meta │ │ │ │ ├── NodeTypes.cs │ │ │ │ └── NodeTypes.cs.meta │ │ │ ├── Nodes.meta │ │ │ ├── Nodes │ │ │ │ ├── Example.meta │ │ │ │ ├── Example │ │ │ │ │ ├── AllAroundNode.cs │ │ │ │ │ ├── AllAroundNode.cs.meta │ │ │ │ │ ├── ExampleNode.cs │ │ │ │ │ ├── ExampleNode.cs.meta │ │ │ │ │ ├── FlowNode.cs │ │ │ │ │ └── FlowNode.cs.meta │ │ │ │ ├── FloatCalc.meta │ │ │ │ └── FloatCalc │ │ │ │ │ ├── CalcNode.cs │ │ │ │ │ ├── CalcNode.cs.meta │ │ │ │ │ ├── DisplayNode.cs │ │ │ │ │ ├── DisplayNode.cs.meta │ │ │ │ │ ├── InputNode.cs │ │ │ │ │ └── InputNode.cs.meta │ │ │ ├── Resources.meta │ │ │ ├── Resources │ │ │ │ ├── GUITextureClip_ChannelControl.shader │ │ │ │ ├── GUITextureClip_ChannelControl.shader.meta │ │ │ │ ├── LineShader.shader │ │ │ │ ├── LineShader.shader.meta │ │ │ │ ├── Saves.meta │ │ │ │ ├── Saves │ │ │ │ │ ├── Calculation Canvas.asset │ │ │ │ │ ├── Calculation Canvas.asset.meta │ │ │ │ │ ├── Test Canvas.asset │ │ │ │ │ └── Test Canvas.asset.meta │ │ │ │ ├── Textures.meta │ │ │ │ └── Textures │ │ │ │ │ ├── AALine.png │ │ │ │ │ ├── AALine.png.meta │ │ │ │ │ ├── Icon_Dark.png │ │ │ │ │ ├── Icon_Dark.png.meta │ │ │ │ │ ├── Icon_Light.png │ │ │ │ │ ├── Icon_Light.png.meta │ │ │ │ │ ├── In_Knob.png │ │ │ │ │ ├── In_Knob.png.meta │ │ │ │ │ ├── Knobs.xcf │ │ │ │ │ ├── Knobs.xcf.meta │ │ │ │ │ ├── NE_Box.png │ │ │ │ │ ├── NE_Box.png.meta │ │ │ │ │ ├── NE_Button.png │ │ │ │ │ ├── NE_Button.png.meta │ │ │ │ │ ├── NE_GUI.xcf │ │ │ │ │ ├── NE_GUI.xcf.meta │ │ │ │ │ ├── Out_Knob.png │ │ │ │ │ ├── Out_Knob.png.meta │ │ │ │ │ ├── background.png │ │ │ │ │ ├── background.png.meta │ │ │ │ │ ├── expandRight.png │ │ │ │ │ └── expandRight.png.meta │ │ │ ├── Utilities.meta │ │ │ └── Utilities │ │ │ │ ├── EditorLoadingControl.cs │ │ │ │ ├── EditorLoadingControl.cs.meta │ │ │ │ ├── GUI.meta │ │ │ │ ├── GUI │ │ │ │ ├── GUIScaleUtility.cs │ │ │ │ ├── GUIScaleUtility.cs.meta │ │ │ │ ├── OverlayGUI.cs │ │ │ │ ├── OverlayGUI.cs.meta │ │ │ │ ├── RTEditorGUI.cs │ │ │ │ └── RTEditorGUI.cs.meta │ │ │ │ ├── ResourceManager.cs │ │ │ │ ├── ResourceManager.cs.meta │ │ │ │ ├── link.xml │ │ │ │ └── link.xml.meta │ │ │ ├── README.md │ │ │ ├── README.md.meta │ │ │ ├── license.md │ │ │ └── license.md.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── test.unity │ │ └── test.unity.meta │ ├── UIMaterial.mat │ └── UIMaterial.mat.meta └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── NetworkManager.asset │ ├── Physics2DSettings.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ └── UnityConnectSettings.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /NoiseNodeEditor/[Ll]ibrary/ 2 | /NoiseNodeEditor/[Tt]emp/ 3 | /NoiseNodeEditor/[Oo]bj/ 4 | /NoiseNodeEditor/[Bb]uild/ 5 | /NoiseNodeEditor/[Bb]uilds/ 6 | /NoiseNodeEditor/Assets/AssetStoreTools* 7 | 8 | # Visual Studio 2015 cache directory 9 | /.vs/ 10 | 11 | # Autogenerated VS/MD/Consulo solution and project files 12 | ExportedObj/ 13 | .consulo/ 14 | *.csproj 15 | *.unityproj 16 | *.sln 17 | *.suo 18 | *.tmp 19 | *.user 20 | *.userprefs 21 | *.pidb 22 | *.booproj 23 | *.svd 24 | *.pdb 25 | 26 | # Unity3D generated meta files 27 | *.pidb.meta 28 | 29 | # Unity3D Generated File On Crash Reports 30 | sysinfo.txt 31 | 32 | # Builds 33 | *.apk 34 | *.unitypackage 35 | NoiseNodeEditor/Assets/LibNoise.Unity 36 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "NoiseNodeEditor/Assets/LibNoise.Unity"] 2 | path = NoiseNodeEditor/Assets/LibNoise.Unity 3 | url = https://github.com/jswigart/LibNoise.Unity 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 jswigart 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/LibNoise.Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9bcb837cd5875443ad04a302e7f4b74 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1a35eed522239241b7d9ca0ce98ce92 3 | folderAsset: yes 4 | timeCreated: 1497727198 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/NodeEditorSkin.guiskin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Node_Editor_LibNoise/NodeEditorSkin.guiskin -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/NodeEditorSkin.guiskin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 550820e84e85bb24b97c19d4a0877009 3 | timeCreated: 1497733307 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 11400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a731204141ccaee499babff4e1f1b028 3 | folderAsset: yes 4 | timeCreated: 1497727198 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/AsyncWorkQueue.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | 7 | #if UNITY_EDITOR 8 | using UnityEditor; 9 | #endif 10 | 11 | [ExecuteInEditMode] 12 | public class AsyncWorkQueue : MonoBehaviour 13 | { 14 | //public int ThreadCount = 2; 15 | 16 | //Queue _asyncWorkQueue = new Queue(); 17 | Queue _mainWorkQueue = new Queue(); 18 | 19 | private static AsyncWorkQueue Instance { get; set; } 20 | 21 | AsyncWorkQueue() 22 | { 23 | Instance = this; 24 | } 25 | 26 | // Use this for initialization 27 | void Start() 28 | { 29 | } 30 | 31 | private void OnEnable() 32 | { 33 | #if UNITY_EDITOR 34 | EditorApplication.update -= ServiceMainThread; 35 | EditorApplication.update += ServiceMainThread; 36 | #endif 37 | } 38 | 39 | private void OnDisable() 40 | { 41 | #if UNITY_EDITOR 42 | EditorApplication.update -= ServiceMainThread; 43 | #endif 44 | } 45 | 46 | void ServiceMainThread() 47 | { 48 | lock (_mainWorkQueue) 49 | { 50 | if (_mainWorkQueue.Count > 0) 51 | { 52 | var func = _mainWorkQueue.Dequeue(); 53 | if (func != null) 54 | func(); 55 | } 56 | } 57 | } 58 | 59 | // Update is called once per frame 60 | void Update() 61 | { 62 | ServiceMainThread(); 63 | } 64 | 65 | static void ThreadProc(object stateInfo) 66 | { 67 | WorkUnit unit = stateInfo as WorkUnit; 68 | 69 | unit.DoWork(); 70 | } 71 | 72 | class WorkUnit 73 | { 74 | public string Name; 75 | public Action DoWork; 76 | } 77 | 78 | static public void QueueBackgroundWork(string name, Action doWork) 79 | { 80 | if (Instance != null) 81 | { 82 | WorkUnit unit = new WorkUnit(); 83 | unit.Name = name; 84 | unit.DoWork = doWork; 85 | 86 | ThreadPool.QueueUserWorkItem(ThreadProc, unit); 87 | } 88 | else 89 | Debug.LogErrorFormat("QueueBackgroundWork called with no AsyncWorkQueue instantiated"); 90 | } 91 | 92 | static public void QueueMainThreadWork(Action doWork) 93 | { 94 | if (Instance != null) 95 | { 96 | lock (Instance._mainWorkQueue) 97 | { 98 | Instance._mainWorkQueue.Enqueue(doWork); 99 | } 100 | } 101 | else 102 | Debug.LogErrorFormat("QueueMainThreadWork called with no AsyncWorkQueue instantiated"); 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/AsyncWorkQueue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cee62c6f3eae574ebad0e49c7d9eaba 3 | timeCreated: 1507761708 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3669368e1e8caf40bec0c3d401a0ba7 3 | folderAsset: yes 4 | timeCreated: 1497745456 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorBillow.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Billow")] 10 | public class NodeModuleGeneratorBillow : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorBillow).Name.ToLower(); } } 13 | 14 | public float Frequency = 1.0f; 15 | public float Lacunarity = 1.0f; 16 | public float Persistence = 1.0f; 17 | public int OctaveCount = 2; 18 | public int Seed = 0; 19 | public LibNoise.QualityMode Quality; 20 | 21 | Billow _module = new Billow(); 22 | 23 | public NodeModuleGeneratorBillow() 24 | { 25 | // pull the defaults from the noise module 26 | Frequency = (float)_module.Frequency; 27 | Lacunarity = (float)_module.Lacunarity; 28 | Persistence = (float)_module.Persistence; 29 | OctaveCount = _module.OctaveCount; 30 | Seed = _module.Seed; 31 | Quality = _module.Quality; 32 | 33 | InitModule(_module); 34 | } 35 | 36 | protected override void PreGenerate() 37 | { 38 | _module.Frequency = (float)Frequency; 39 | _module.Lacunarity = (float)Lacunarity; 40 | _module.Persistence = (float)Persistence; 41 | _module.OctaveCount = OctaveCount; 42 | _module.Seed = Seed; 43 | _module.Quality = Quality; 44 | } 45 | 46 | public override Node Create(Vector2 pos) 47 | { 48 | NodeModuleGeneratorBillow node = CreateInstance(); 49 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 50 | node.name = "Billow"; 51 | node.NodeWidth = 300.0f; 52 | node.NodeHeight = 500.0f; 53 | node.CreateOutput("Output", "Module", NodeSide.Right); 54 | 55 | return node; 56 | } 57 | 58 | protected override void NodeGUIProperties() 59 | { 60 | GUILayout.BeginVertical(); 61 | 62 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 63 | Lacunarity = RTEditorGUI.FloatField(new GUIContent("Lacunarity", "Set Lacunarity"), Lacunarity); 64 | Persistence = RTEditorGUI.FloatField(new GUIContent("Persistence", "Set Persistence"), Persistence); 65 | OctaveCount = RTEditorGUI.IntField(new GUIContent("OctaveCount", "How many octaves to generate"), OctaveCount); 66 | Seed = RTEditorGUI.IntField(new GUIContent("Seed", "Random Seed"), Seed); 67 | 68 | #if UNITY_EDITOR 69 | Quality = (LibNoise.QualityMode)UnityEditor.EditorGUILayout.EnumPopup(new GUIContent("Quality", "Quality Mode for noise"), Quality); 70 | #else 71 | GUILayout.Label (new GUIContent ("Quality: " + Quality.ToString (), "Quality Mode for noise")); 72 | #endif 73 | 74 | GUILayout.EndVertical(); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorBillow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bdd3323dbdc66f4db3fac92d0450d99 3 | timeCreated: 1497738994 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorChecker.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Checker")] 10 | public class NodeModuleGeneratorChecker : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorChecker).Name.ToLower(); } } 13 | 14 | Checker _module = new Checker(); 15 | 16 | public NodeModuleGeneratorChecker() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | protected override void PreGenerate() 22 | { 23 | } 24 | 25 | public override Node Create(Vector2 pos) 26 | { 27 | NodeModuleGeneratorChecker node = CreateInstance(); 28 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 29 | node.name = "Checker"; 30 | node.NodeWidth = 300.0f; 31 | node.NodeHeight = 500.0f; 32 | node.CreateOutput("Output", "Module", NodeSide.Right); 33 | 34 | return node; 35 | } 36 | 37 | protected override void NodeGUIProperties() 38 | { 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorChecker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59ec270b8251de241bacd7dc4a44f927 3 | timeCreated: 1497739120 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorConst.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Const")] 10 | public class NodeModuleGeneratorConst : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorConst).Name.ToLower(); } } 13 | 14 | public float Value = 1.0f; 15 | 16 | Const _module = new Const(); 17 | 18 | public NodeModuleGeneratorConst() 19 | { 20 | // pull the defaults from the noise module 21 | Value = (float)_module.Value; 22 | 23 | InitModule(_module); 24 | } 25 | 26 | protected override void PreGenerate() 27 | { 28 | _module.Value = (float)Value; 29 | } 30 | 31 | public override Node Create(Vector2 pos) 32 | { 33 | NodeModuleGeneratorConst node = CreateInstance(); 34 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 35 | node.name = "Const"; 36 | node.NodeWidth = 300.0f; 37 | node.NodeHeight = 500.0f; 38 | node.CreateOutput("Output", "Module", NodeSide.Right); 39 | 40 | return node; 41 | } 42 | 43 | protected override void NodeGUIProperties() 44 | { 45 | GUILayout.BeginVertical(); 46 | 47 | Value = RTEditorGUI.FloatField(new GUIContent("Value", "Constant Value"), Value); 48 | 49 | GUILayout.EndVertical(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorConst.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba66863df45d65344b10d4ba90ab6644 3 | timeCreated: 1511129097 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorGradient.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Gradient")] 10 | public class NodeModuleGeneratorGradient : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorGradient).Name.ToLower(); } } 13 | 14 | private float _min; 15 | private float _max; 16 | 17 | LibNoise.Generator.Gradient _module = new LibNoise.Generator.Gradient(); 18 | 19 | public NodeModuleGeneratorGradient() 20 | { 21 | InitModule(_module); 22 | 23 | _min = (float)_module.Min; 24 | _max = (float)_module.Max; 25 | } 26 | 27 | protected override void PreGenerate() 28 | { 29 | _module.Min = _min; 30 | _module.Max = _max; 31 | } 32 | 33 | public override Node Create(Vector2 pos) 34 | { 35 | NodeModuleGeneratorGradient node = CreateInstance(); 36 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 37 | node.name = "Gradient"; 38 | node.NodeWidth = 300.0f; 39 | node.NodeHeight = 500.0f; 40 | node.CreateOutput("Output", "Module", NodeSide.Right); 41 | 42 | return node; 43 | } 44 | 45 | protected override void NodeGUIProperties() 46 | { 47 | using (var horizontalScope = new GUILayout.HorizontalScope("box")) 48 | { 49 | GUILayout.FlexibleSpace(); 50 | const float sz = 70.0f; 51 | _min = RTEditorGUI.FloatField("Min", _min, GUILayout.Width(sz)); 52 | _max = RTEditorGUI.FloatField("Max", _max, GUILayout.Width(sz)); 53 | GUILayout.FlexibleSpace(); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorGradient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11236d4ab41b639459a8716d0f79e5d2 3 | timeCreated: 1511124736 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorPerlin.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Perlin")] 10 | public class NodeModuleGeneratorPerlin : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorPerlin).Name.ToLower(); } } 13 | 14 | public float Frequency = 1.0f; 15 | public float Lacunarity = 1.0f; 16 | public float Persistence = 1.0f; 17 | public int OctaveCount = 2; 18 | public int Seed = 0; 19 | public LibNoise.QualityMode Quality; 20 | 21 | Perlin _module = new Perlin(); 22 | 23 | public NodeModuleGeneratorPerlin() 24 | { 25 | // pull the defaults from the noise module 26 | Frequency = (float)_module.Frequency; 27 | Lacunarity = (float)_module.Lacunarity; 28 | Persistence = (float)_module.Persistence; 29 | OctaveCount = _module.OctaveCount; 30 | Seed = _module.Seed; 31 | Quality = _module.Quality; 32 | 33 | InitModule(_module); 34 | } 35 | 36 | protected override void PreGenerate() 37 | { 38 | _module.Frequency = (float)Frequency; 39 | _module.Lacunarity = (float)Lacunarity; 40 | _module.Persistence = (float)Persistence; 41 | _module.OctaveCount = OctaveCount; 42 | _module.Seed = Seed; 43 | _module.Quality = Quality; 44 | } 45 | 46 | public override Node Create(Vector2 pos) 47 | { 48 | NodeModuleGeneratorPerlin node = CreateInstance(); 49 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 50 | node.name = "Perlin"; 51 | node.NodeWidth = 300.0f; 52 | node.NodeHeight = 500.0f; 53 | node.CreateOutput("Output", "Module", NodeSide.Right); 54 | 55 | return node; 56 | } 57 | 58 | protected override void NodeGUIProperties() 59 | { 60 | GUILayout.BeginVertical(); 61 | 62 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 63 | Lacunarity = RTEditorGUI.FloatField(new GUIContent("Lacunarity", "Set Lacunarity"), Lacunarity); 64 | Persistence = RTEditorGUI.FloatField(new GUIContent("Persistence", "Set Persistence"), Persistence); 65 | OctaveCount = RTEditorGUI.IntField(new GUIContent("OctaveCount", "How many octaves to generate"), OctaveCount); 66 | Seed = RTEditorGUI.IntField(new GUIContent("Seed", "Random Seed"), Seed); 67 | 68 | #if UNITY_EDITOR 69 | Quality = (LibNoise.QualityMode)UnityEditor.EditorGUILayout.EnumPopup(new GUIContent("Quality", "Quality Mode for noise"), Quality); 70 | #else 71 | GUILayout.Label (new GUIContent ("Quality: " + Quality.ToString (), "Quality Mode for noise")); 72 | #endif 73 | GUILayout.EndVertical(); 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorPerlin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbfeb6ac73a05be4a999cbb5fabd5ada 3 | timeCreated: 1497737528 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorRidgedMultiFractal.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/RidgedMultiFractal")] 10 | public class NodeModuleGeneratorRidgedMultiFractal : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorRidgedMultiFractal).Name.ToLower(); } } 13 | 14 | public float Frequency = 1.0f; 15 | public float Lacunarity = 1.0f; 16 | public int OctaveCount = 2; 17 | public int Seed = 0; 18 | 19 | public LibNoise.QualityMode Quality; 20 | 21 | RidgedMultifractal _module = new RidgedMultifractal(); 22 | 23 | public NodeModuleGeneratorRidgedMultiFractal() 24 | { 25 | // pull the defaults from the noise module 26 | Frequency = (float)_module.Frequency; 27 | Lacunarity = (float)_module.Lacunarity; 28 | OctaveCount = _module.OctaveCount; 29 | Seed = _module.Seed; 30 | Quality = _module.Quality; 31 | 32 | InitModule(_module); 33 | } 34 | 35 | protected override void PreGenerate() 36 | { 37 | _module.Frequency = (float)Frequency; 38 | _module.Lacunarity = (float)Lacunarity; 39 | _module.OctaveCount = OctaveCount; 40 | _module.Seed = Seed; 41 | _module.Quality = Quality; 42 | } 43 | 44 | public override Node Create(Vector2 pos) 45 | { 46 | NodeModuleGeneratorRidgedMultiFractal node = CreateInstance(); 47 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 48 | node.name = "RidgedMultiFractal"; 49 | node.NodeWidth = 300.0f; 50 | node.NodeHeight = 500.0f; 51 | node.CreateOutput("Output", "Module", NodeSide.Right); 52 | 53 | return node; 54 | } 55 | 56 | protected override void NodeGUIProperties() 57 | { 58 | GUILayout.BeginVertical(); 59 | 60 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 61 | Lacunarity = RTEditorGUI.FloatField(new GUIContent("Lacunarity", "Set Lacunarity"), Lacunarity); 62 | OctaveCount = RTEditorGUI.IntField(new GUIContent("OctaveCount", "How many octaves to generate"), OctaveCount); 63 | Seed = RTEditorGUI.IntField(new GUIContent("Seed", "Random Seed"), Seed); 64 | 65 | #if UNITY_EDITOR 66 | Quality = (LibNoise.QualityMode)UnityEditor.EditorGUILayout.EnumPopup(new GUIContent("Quality", "Quality Mode for noise"), Quality); 67 | #else 68 | GUILayout.Label (new GUIContent ("Quality: " + Quality.ToString (), "Quality Mode for noise")); 69 | #endif 70 | GUILayout.EndVertical(); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorRidgedMultiFractal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa3b2d4c0e92b6d40a0d26f2f2dbecbe 3 | timeCreated: 1497739307 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorSpheres.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Spheres")] 10 | public class NodeModuleGeneratorSpheres : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorSpheres).Name.ToLower(); } } 13 | 14 | public float Frequency = 1.0f; 15 | 16 | Spheres _module = new Spheres(); 17 | 18 | public NodeModuleGeneratorSpheres() 19 | { 20 | // pull the defaults from the noise module 21 | Frequency = (float)_module.Frequency; 22 | 23 | InitModule(_module); 24 | } 25 | 26 | protected override void PreGenerate() 27 | { 28 | _module.Frequency = (float)Frequency; 29 | } 30 | 31 | public override Node Create(Vector2 pos) 32 | { 33 | NodeModuleGeneratorSpheres node = CreateInstance(); 34 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 35 | node.name = "Spheres"; 36 | node.NodeWidth = 300.0f; 37 | node.NodeHeight = 500.0f; 38 | node.CreateOutput("Output", "Module", NodeSide.Right); 39 | 40 | return node; 41 | } 42 | 43 | protected override void NodeGUIProperties() 44 | { 45 | GUILayout.BeginVertical(); 46 | 47 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 48 | 49 | GUILayout.EndVertical(); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorSpheres.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fcb784e39d3e73469efa56b99f2e73d 3 | timeCreated: 1497739307 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorVoronoi.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Generator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Generator/Voronoi")] 10 | public class NodeModuleGeneratorVoronoi : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleGeneratorVoronoi).Name.ToLower(); } } 13 | 14 | public float Displacement = 1.0f; 15 | public float Frequency = 1.0f; 16 | public int Seed = 0; 17 | public bool UseDistance; 18 | 19 | Voronoi _module = new Voronoi(); 20 | 21 | public NodeModuleGeneratorVoronoi() 22 | { 23 | // pull the defaults from the noise module 24 | Displacement = (float)_module.Displacement; 25 | Frequency = (float)_module.Frequency; 26 | Seed = _module.Seed; 27 | UseDistance = _module.UseDistance; 28 | 29 | InitModule(_module); 30 | } 31 | 32 | protected override void PreGenerate() 33 | { 34 | _module.Frequency = (float)Frequency; 35 | _module.Displacement = (float)Frequency; 36 | _module.Seed = Seed; 37 | _module.UseDistance = UseDistance; 38 | } 39 | 40 | public override Node Create(Vector2 pos) 41 | { 42 | NodeModuleGeneratorVoronoi node = CreateInstance(); 43 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 44 | node.name = "Voronoi"; 45 | node.NodeWidth = 300.0f; 46 | node.NodeHeight = 500.0f; 47 | node.CreateOutput("Output", "Module", NodeSide.Right); 48 | 49 | return node; 50 | } 51 | 52 | protected override void NodeGUIProperties() 53 | { 54 | GUILayout.BeginVertical(); 55 | 56 | Displacement = RTEditorGUI.FloatField(new GUIContent("Displacement", "Displacement value of voronoi cells"), Frequency); 57 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 58 | Seed = RTEditorGUI.IntField(new GUIContent("Seed", "Random Seed"), Seed); 59 | UseDistance = RTEditorGUI.Toggle(UseDistance, new GUIContent("UseDistance", "Apply Distance to Seed point to output value")); 60 | 61 | GUILayout.EndVertical(); 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Generators/NodeModuleGeneratorVoronoi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b07ec168264f3e147bfb190f073bdd4d 3 | timeCreated: 1497739307 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/NodeModuleBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c66e305ec8d36f42b6820e18b1842ef 3 | timeCreated: 1497727392 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/NodeModuleCellularAutomata.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28b65212827aed64da12e83d9a7926ea 3 | timeCreated: 1522430357 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/NodeModuleViewer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e94ed1ea19b9e734b8dea832fc081d22 3 | timeCreated: 1497749448 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69baf6a26430bcb4c998ffbc6f1b3c5a 3 | folderAsset: yes 4 | timeCreated: 1497745474 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorAbs.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Abs")] 10 | public class NodeModuleOperatorAbs : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorAbs).Name.ToLower(); } } 13 | 14 | Abs _module = new Abs(); 15 | 16 | public NodeModuleOperatorAbs() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorAbs node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Abs"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 30 | node.CreateOutput("Output", "Module", NodeSide.Right); 31 | 32 | return node; 33 | } 34 | 35 | protected override void NodeGUIProperties() 36 | { 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorAbs.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 047bfc5d975685640af15bd61ec8a722 3 | timeCreated: 1497739786 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorAdd.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Add")] 10 | public class NodeModuleOperatorAdd : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorAdd).Name.ToLower(); } } 13 | 14 | Add _module = new Add(); 15 | 16 | public NodeModuleOperatorAdd() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorAdd node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Add"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorAdd.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ace00b64b4fbb7547a7f2fe2b6ca6ee8 3 | timeCreated: 1497737528 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorBlend.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Blend")] 10 | public class NodeModuleOperatorBlend : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorBlend).Name.ToLower(); } } 13 | 14 | Blend _module = new Blend(); 15 | 16 | public NodeModuleOperatorBlend() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorBlend node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Blend"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | 32 | node.CreateInput("Blend", "Module", NodeSide.Left, 20); 33 | 34 | node.CreateOutput("Output", "Module", NodeSide.Right); 35 | 36 | return node; 37 | } 38 | 39 | protected override void NodeGUIProperties() 40 | { 41 | } 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorBlend.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dbe8942610179544fa7e11b9af7f7a00 3 | timeCreated: 1497739786 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorClamp.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Clamp")] 10 | public class NodeModuleOperatorClamp : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorClamp).Name.ToLower(); } } 13 | 14 | public float Min = 0.0f; 15 | public float Max = 1.0f; 16 | 17 | Clamp _module = new Clamp(); 18 | 19 | public NodeModuleOperatorClamp() 20 | { 21 | InitModule(_module); 22 | 23 | Min = (float)_module.Minimum; 24 | Max = (float)_module.Maximum; 25 | } 26 | 27 | protected override void PreGenerate() 28 | { 29 | _module.Minimum = (float)Min; 30 | _module.Maximum = (float)Max; 31 | } 32 | 33 | public override Node Create(Vector2 pos) 34 | { 35 | NodeModuleOperatorClamp node = CreateInstance(); 36 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 37 | node.name = "Clamp"; 38 | node.NodeWidth = 300.0f; 39 | node.NodeHeight = 500.0f; 40 | 41 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 42 | node.CreateOutput("Output", "Module", NodeSide.Right); 43 | 44 | return node; 45 | } 46 | 47 | protected override void NodeGUIProperties() 48 | { 49 | Min = RTEditorGUI.FloatField(new GUIContent("Minimum", "Min clamp value"), Min); 50 | Max = RTEditorGUI.FloatField(new GUIContent("Maximum", "Max clamp value"), Max); 51 | } 52 | } 53 | } 54 | 55 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorClamp.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eaf5d5d0da4db6a47a85b60416ca370d 3 | timeCreated: 1497741258 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorCurve.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Curve")] 10 | public class NodeModuleOperatorCurve : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorCurve).Name.ToLower(); } } 13 | 14 | // todo: expose a curve editor 15 | 16 | Curve _module = new Curve(); 17 | 18 | public NodeModuleOperatorCurve() 19 | { 20 | InitModule(_module); 21 | } 22 | 23 | public override Node Create(Vector2 pos) 24 | { 25 | NodeModuleOperatorCurve node = CreateInstance(); 26 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 27 | node.name = "Curve"; 28 | node.NodeWidth = 300.0f; 29 | node.NodeHeight = 500.0f; 30 | 31 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 32 | 33 | node.CreateOutput("Output", "Module", NodeSide.Right); 34 | 35 | return node; 36 | } 37 | 38 | protected override void NodeGUIProperties() 39 | { 40 | } 41 | } 42 | } 43 | 44 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorCurve.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e2c742cf32450d49b98af8def23157a 3 | timeCreated: 1497741258 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorDisplace.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Displace")] 10 | public class NodeModuleOperatorDisplace : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorDisplace).Name.ToLower(); } } 13 | 14 | Displace _module = new Displace(); 15 | 16 | public NodeModuleOperatorDisplace() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorDisplace node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Displace"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Displace X", "Module", NodeSide.Left, 20); 31 | node.CreateInput("Displace Y", "Module", NodeSide.Left, 20); 32 | node.CreateInput("Displace Z", "Module", NodeSide.Left, 20); 33 | 34 | node.CreateOutput("Output", "Module", NodeSide.Right); 35 | 36 | return node; 37 | } 38 | 39 | protected override void NodeGUIProperties() 40 | { 41 | } 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorDisplace.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b9a60d7485183748845bf8d49c63178 3 | timeCreated: 1497741258 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorExponent.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Exponent")] 10 | public class NodeModuleOperatorExponent : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorExponent).Name.ToLower(); } } 13 | 14 | Exponent _module = new Exponent(); 15 | 16 | public NodeModuleOperatorExponent() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorExponent node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Exponent"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 30 | node.CreateOutput("Output", "Module", NodeSide.Right); 31 | 32 | return node; 33 | } 34 | 35 | protected override void NodeGUIProperties() 36 | { 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorExponent.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cd01a08729bf2d4492534bffe5020d0 3 | timeCreated: 1497741479 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorInvert.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Invert")] 10 | public class NodeModuleOperatorInvert : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorInvert).Name.ToLower(); } } 13 | 14 | Invert _module = new Invert(); 15 | 16 | public NodeModuleOperatorInvert() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorInvert node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Invert"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 30 | node.CreateOutput("Output", "Module", NodeSide.Right); 31 | 32 | return node; 33 | } 34 | 35 | protected override void NodeGUIProperties() 36 | { 37 | } 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorInvert.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19e8621bded229c4fbefec730a9ae690 3 | timeCreated: 1497741479 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMax.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Max")] 10 | public class NodeModuleOperatorMax : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorMax).Name.ToLower(); } } 13 | 14 | Max _module = new Max(); 15 | 16 | public NodeModuleOperatorMax() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorMax node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Max"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMax.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17de9bf5741cf574b9df8fda39741049 3 | timeCreated: 1497741479 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMin.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Min")] 10 | public class NodeModuleOperatorMin : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorMin).Name.ToLower(); } } 13 | 14 | Min _module = new Min(); 15 | 16 | public NodeModuleOperatorMin() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorMin node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Min"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMin.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1960ab833a86c3b4c97673267d8da800 3 | timeCreated: 1497741479 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMultiply.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Multiply")] 10 | public class NodeModuleOperatorMultiply : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorMultiply).Name.ToLower(); } } 13 | 14 | Multiply _module = new Multiply(); 15 | 16 | public NodeModuleOperatorMultiply() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorMultiply node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Multiply"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorMultiply.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7221405bca69e3c468a073e41b8b0213 3 | timeCreated: 1497741531 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorPower.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Power")] 10 | public class NodeModuleOperatorPower : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorPower).Name.ToLower(); } } 13 | 14 | Power _module = new Power(); 15 | 16 | public NodeModuleOperatorPower() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorPower node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Power"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorPower.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f356ef1b41b77524499fedf54747a6bb 3 | timeCreated: 1497741847 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorRotate.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Rotate")] 10 | public class NodeModuleOperatorRotate : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorRotate).Name.ToLower(); } } 13 | 14 | public float RotateX = 0.0f; 15 | public float RotateY = 0.0f; 16 | public float RotateZ = 0.0f; 17 | 18 | Rotate _module = new Rotate(); 19 | 20 | public NodeModuleOperatorRotate() 21 | { 22 | InitModule(_module); 23 | 24 | RotateX = (float)_module.X; 25 | RotateY = (float)_module.Y; 26 | RotateZ = (float)_module.Z; 27 | } 28 | 29 | protected override void PreGenerate() 30 | { 31 | _module.X = RotateX; 32 | _module.Y = RotateY; 33 | _module.Z = RotateZ; 34 | } 35 | 36 | public override Node Create(Vector2 pos) 37 | { 38 | NodeModuleOperatorRotate node = CreateInstance(); 39 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 40 | node.name = "Rotate"; 41 | node.NodeWidth = 300.0f; 42 | node.NodeHeight = 500.0f; 43 | 44 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 45 | node.CreateOutput("Output", "Module", NodeSide.Right); 46 | 47 | return node; 48 | } 49 | 50 | protected override void NodeGUIProperties() 51 | { 52 | RotateX = RTEditorGUI.FloatField(new GUIContent("Rotate X", "Rotation around X Axis"), RotateX); 53 | RotateY = RTEditorGUI.FloatField(new GUIContent("Rotate Y", "Rotation around Y Axis"), RotateX); 54 | RotateZ = RTEditorGUI.FloatField(new GUIContent("Rotate Z", "Rotation around Z Axis"), RotateX); 55 | } 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorRotate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6a13e9f267d63b47b51e5c38d5ca5a4 3 | timeCreated: 1497741847 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorScale.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Scale")] 10 | public class NodeModuleOperatorScale : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorScale).Name.ToLower(); } } 13 | 14 | public float ScaleX = 0.0f; 15 | public float ScaleY = 0.0f; 16 | public float ScaleZ = 0.0f; 17 | 18 | Scale _module = new Scale(); 19 | 20 | public NodeModuleOperatorScale() 21 | { 22 | InitModule(_module); 23 | 24 | ScaleX = (float)_module.X; 25 | ScaleY = (float)_module.Y; 26 | ScaleZ = (float)_module.Z; 27 | } 28 | 29 | protected override void PreGenerate() 30 | { 31 | _module.X = ScaleX; 32 | _module.Y = ScaleY; 33 | _module.Z = ScaleZ; 34 | } 35 | 36 | public override Node Create(Vector2 pos) 37 | { 38 | NodeModuleOperatorScale node = CreateInstance(); 39 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 40 | node.name = "Scale"; 41 | node.NodeWidth = 300.0f; 42 | node.NodeHeight = 500.0f; 43 | 44 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 45 | node.CreateOutput("Output", "Module", NodeSide.Right); 46 | 47 | return node; 48 | } 49 | 50 | protected override void NodeGUIProperties() 51 | { 52 | ScaleX = RTEditorGUI.FloatField(new GUIContent("Scale X", "Scale on X Axis"), ScaleX); 53 | ScaleY = RTEditorGUI.FloatField(new GUIContent("Scale Y", "Scale on around Y Axis"), ScaleY); 54 | ScaleZ = RTEditorGUI.FloatField(new GUIContent("Scale Z", "Scale on around Z Axis"), ScaleZ); 55 | } 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorScale.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 018034bbf0de4c64b834ef0512ff84f9 3 | timeCreated: 1497742480 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorScaleBias.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/ScaleBias")] 10 | public class NodeModuleOperatorScaleBias : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorScaleBias).Name.ToLower(); } } 13 | 14 | public float Scale = 0.0f; 15 | public float Bias = 0.0f; 16 | 17 | ScaleBias _module = new ScaleBias(); 18 | 19 | public NodeModuleOperatorScaleBias() 20 | { 21 | InitModule(_module); 22 | 23 | Scale = (float)_module.Scale; 24 | Bias = (float)_module.Bias; 25 | } 26 | 27 | protected override void PreGenerate() 28 | { 29 | _module.Scale = Scale; 30 | _module.Bias = Bias; 31 | } 32 | 33 | public override Node Create(Vector2 pos) 34 | { 35 | NodeModuleOperatorScaleBias node = CreateInstance(); 36 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 37 | node.name = "ScaleBias"; 38 | node.NodeWidth = 300.0f; 39 | node.NodeHeight = 500.0f; 40 | 41 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 42 | node.CreateOutput("Output", "Module", NodeSide.Right); 43 | 44 | return node; 45 | } 46 | 47 | protected override void NodeGUIProperties() 48 | { 49 | Scale = RTEditorGUI.FloatField(new GUIContent("Scale", "Scale to apply"), Scale); 50 | Bias = RTEditorGUI.FloatField(new GUIContent("Bias", "Bias to apply with scale"), Bias); 51 | } 52 | } 53 | } 54 | 55 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorScaleBias.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73ab1d8b816ea3d4296b6d52601c157c 3 | timeCreated: 1497742480 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorSelect.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Select")] 10 | public class NodeModuleOperatorSelect : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorSelect).Name.ToLower(); } } 13 | 14 | public float Min = 0.0f; 15 | public float Max = 1.0f; 16 | public float FallOff = 1.0f; 17 | 18 | Select _module = new Select(); 19 | 20 | public NodeModuleOperatorSelect() 21 | { 22 | InitModule(_module); 23 | 24 | Min = (float)_module.Minimum; 25 | Max = (float)_module.Maximum; 26 | FallOff = (float)_module.FallOff; 27 | } 28 | 29 | protected override void PreGenerate() 30 | { 31 | _module.Minimum = Min; 32 | _module.Maximum = Max; 33 | _module.FallOff = FallOff; 34 | } 35 | 36 | public override Node Create(Vector2 pos) 37 | { 38 | NodeModuleOperatorSelect node = CreateInstance(); 39 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 40 | node.name = "Select"; 41 | node.NodeWidth = 300.0f; 42 | node.NodeHeight = 500.0f; 43 | 44 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 45 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 46 | 47 | node.CreateInput("Controller", "Module", NodeSide.Left, 20); 48 | 49 | node.CreateOutput("Output", "Module", NodeSide.Right); 50 | 51 | return node; 52 | } 53 | 54 | protected override void NodeGUIProperties() 55 | { 56 | Min = RTEditorGUI.FloatField(new GUIContent("Minimum", "Min clamp value"), Min); 57 | Max = RTEditorGUI.FloatField(new GUIContent("Maximum", "Max clamp value"), Max); 58 | FallOff = RTEditorGUI.FloatField(new GUIContent("Falloff", "Falloff value at edge transition"), FallOff); 59 | } 60 | } 61 | } 62 | 63 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorSelect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5d8d9e16467cf974f82fc35d08180b37 3 | timeCreated: 1497742480 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorSubtract.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Subtract")] 10 | public class NodeModuleOperatorSubtract : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorSubtract).Name.ToLower(); } } 13 | 14 | Subtract _module = new Subtract(); 15 | 16 | public NodeModuleOperatorSubtract() 17 | { 18 | InitModule(_module); 19 | } 20 | 21 | public override Node Create(Vector2 pos) 22 | { 23 | NodeModuleOperatorSubtract node = CreateInstance(); 24 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 25 | node.name = "Subtract"; 26 | node.NodeWidth = 300.0f; 27 | node.NodeHeight = 500.0f; 28 | 29 | node.CreateInput("Input 1", "Module", NodeSide.Left, 20); 30 | node.CreateInput("Input 2", "Module", NodeSide.Left, 20); 31 | node.CreateOutput("Output", "Module", NodeSide.Right); 32 | 33 | return node; 34 | } 35 | 36 | protected override void NodeGUIProperties() 37 | { 38 | } 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorSubtract.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3678db79d12d5ab4fb5d799c760bbe53 3 | timeCreated: 1497742480 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTerrace.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Terrace")] 10 | public class NodeModuleOperatorTerrace : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorTerrace).Name.ToLower(); } } 13 | 14 | public bool Inverted = false; 15 | 16 | Terrace _module = new Terrace(); 17 | 18 | public NodeModuleOperatorTerrace() 19 | { 20 | InitModule(_module); 21 | 22 | Inverted = _module.IsInverted; 23 | } 24 | 25 | protected override void PreGenerate() 26 | { 27 | _module.IsInverted = Inverted; 28 | } 29 | 30 | public override Node Create(Vector2 pos) 31 | { 32 | NodeModuleOperatorTerrace node = CreateInstance(); 33 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 34 | node.name = "Terrace"; 35 | node.NodeWidth = 300.0f; 36 | node.NodeHeight = 500.0f; 37 | 38 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 39 | node.CreateOutput("Output", "Module", NodeSide.Right); 40 | 41 | return node; 42 | } 43 | 44 | protected override void NodeGUIProperties() 45 | { 46 | Inverted = RTEditorGUI.Toggle(Inverted, new GUIContent("Inverted", "Invert the curve")); 47 | } 48 | } 49 | } 50 | 51 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTerrace.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f0095a379ce43b43a21b137b0dd83f6 3 | timeCreated: 1497742480 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTranslate.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Translate")] 10 | public class NodeModuleOperatorTranslate : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorTranslate).Name.ToLower(); } } 13 | 14 | public float TranslateX = 0.0f; 15 | public float TranslateY = 0.0f; 16 | public float TranslateZ = 0.0f; 17 | 18 | Translate _module = new Translate(); 19 | 20 | public NodeModuleOperatorTranslate() 21 | { 22 | InitModule(_module); 23 | 24 | TranslateX = (float)_module.X; 25 | TranslateY = (float)_module.Y; 26 | TranslateZ = (float)_module.Z; 27 | } 28 | 29 | protected override void PreGenerate() 30 | { 31 | _module.X = TranslateX; 32 | _module.Y = TranslateY; 33 | _module.Z = TranslateZ; 34 | } 35 | 36 | public override Node Create(Vector2 pos) 37 | { 38 | NodeModuleOperatorTranslate node = CreateInstance(); 39 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 40 | node.name = "Translate"; 41 | node.NodeWidth = 300.0f; 42 | node.NodeHeight = 500.0f; 43 | 44 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 45 | node.CreateOutput("Output", "Module", NodeSide.Right); 46 | 47 | return node; 48 | } 49 | 50 | protected override void NodeGUIProperties() 51 | { 52 | TranslateX = RTEditorGUI.FloatField(new GUIContent("Translate X", "Translate around X Axis"), TranslateX); 53 | TranslateY = RTEditorGUI.FloatField(new GUIContent("Translate Y", "Translate around Y Axis"), TranslateX); 54 | TranslateZ = RTEditorGUI.FloatField(new GUIContent("Translate Z", "Translate around Z Axis"), TranslateX); 55 | } 56 | } 57 | } 58 | 59 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTranslate.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9205151c9fab0646a496f1c96b327c1 3 | timeCreated: 1497742969 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTurbulence.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using LibNoise.Operator; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace LibNoiseNodes 7 | { 8 | [System.Serializable] 9 | [Node(false, "Noise/Operator/Turbulence")] 10 | public class NodeModuleOperatorTurbulence : NodeModuleBase 11 | { 12 | public override string GetID { get { return typeof(NodeModuleOperatorTurbulence).Name.ToLower(); } } 13 | 14 | public float Frequency = 1.0f; 15 | public float Power = 1.0f; 16 | public int Roughness = 1; 17 | public int Seed = 0; 18 | 19 | Turbulence _module = new Turbulence(); 20 | 21 | public NodeModuleOperatorTurbulence() 22 | { 23 | // pull the defaults from the noise module 24 | Frequency = (float)_module.Frequency; 25 | Power = (float)_module.Power; 26 | Roughness = _module.Roughness; 27 | Seed = _module.Seed; 28 | 29 | InitModule(_module); 30 | } 31 | 32 | protected override void PreGenerate() 33 | { 34 | _module.Frequency = Frequency; 35 | _module.Power = Power; 36 | _module.Roughness = Roughness; 37 | _module.Seed = Seed; 38 | } 39 | 40 | public override Node Create(Vector2 pos) 41 | { 42 | NodeModuleOperatorTurbulence node = CreateInstance(); 43 | node.rect = new Rect(pos.x, pos.y, NodeWidth, NodeHeight); 44 | node.name = "Turbulence"; 45 | node.NodeWidth = 300.0f; 46 | node.NodeHeight = 500.0f; 47 | node.CreateInput("Input", "Module", NodeSide.Left, 20); 48 | node.CreateOutput("Output", "Module", NodeSide.Right); 49 | 50 | return node; 51 | } 52 | 53 | protected override void NodeGUIProperties() 54 | { 55 | GUILayout.BeginVertical(); 56 | 57 | Frequency = RTEditorGUI.FloatField(new GUIContent("Frequency", "Frequency of the first octave"), Frequency); 58 | Power = RTEditorGUI.FloatField(new GUIContent("Power", "Set Power"), Power); 59 | Roughness = RTEditorGUI.IntField(new GUIContent("Roughness", "Set Roughness"), Roughness); 60 | Seed = RTEditorGUI.IntField(new GUIContent("Seed", "Random Seed"), Seed); 61 | 62 | GUILayout.EndVertical(); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Node_Editor_LibNoise/Nodes/Operators/NodeModuleOperatorTurbulence.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0eb869021e9b5541afc20212c0e1d3b 3 | timeCreated: 1497743078 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6936b4a32ec01824faa24e085cbc0f2a 3 | folderAsset: yes 4 | timeCreated: 1497731402 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40714374c4dd57e46b8d2cc7fd7e3ac8 3 | folderAsset: yes 4 | timeCreated: 1497731402 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e00072b9f44866e4a8a19d8498159a46 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04c0ca3909e273d47a08c1e638539052 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d26f4ee64c9ce440938a0c34677955c 3 | folderAsset: yes 4 | timeCreated: 1497727031 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/AddingInputControls.md: -------------------------------------------------------------------------------- 1 | 2 | # Custom Input Controls 3 | 4 | *NOTE: In the latest development branch, the Input system has been completely revamped. The following is not valid for older versions!*
5 | For your Editor Extension you might want to add custom controls or functions to the context clicks of both the canvas and the editor. 6 | Using the new dynamic Input system it is very easy to do just that using four provided attributes which can be stacked as you wish. 7 | Before explaining these in detail, it might be worth checking the default controls out in `NodeEditorInputControls`! 8 |
9 | 10 | #### NodeEditorInputInfo 11 | 12 | The primary information container, `NodeEditorInputInfo`, contains all informations about an event including the editorState, the mouse position or the invoking event. 13 | It is used to provide all necessary information to the dynamic input handlers. 14 |
15 | 16 | #### EventHandler Attribute 17 | 18 | The `EventHandlerAttribute` is used to handle arbitrary events for the Node Editor and is the most flexible attribute. 19 | Some default controls like Node dragging, panning, zooming and Node connecting could only be implemented using this attribute. 20 | Tagging a static function with this attribute makes it get called when the specified 'EventType' occurs (or always when no event specified). 21 | The optional variable `priority`, next to the constructor variations, primarily defines the order of execution, but also a way to execute the input after the GUI (priority >= 100). 22 | The method signature **must** be as follows:[ Return: Void; Params: NodeEditorInputInfo ] 23 |
24 | 25 | #### Hotkey Attribute 26 | 27 | The `HotkeyAttribute` is used to provide a simple interface for hotkeys for the Node Editor. 28 | Some default controls like Navigating ('N') and Snapping ('Control') are implemented using this attribute 29 | It allows you to specify a `KeyCode` / `EventModifier` combination with a limiting `EventType` to specify when the tagged static function gets called. 30 | Again, the optional variable `priority` can be specified. Refer to the `EventHandlerAttribute` for it's effect. 31 | The method signature **must** be as follows:[ Return: Void; Params: NodeEditorInputInfo ] 32 |
33 | 34 | #### ContextEntry Attribute 35 | 36 | The `ContextAttribute` is used to register context entries for the Node`Editor. 37 | The tagged function is called when the context element at the specified path is selected. 38 | In which context menu to add this element is specified by the type, like the node context click or the canvas context click. 39 | The method signature **must** be as follows:[ Return: Void; Params: NodeEditorInputInfo ] 40 |
41 | 42 | #### ContextFiller Attribute 43 | 44 | The `ContextFillerAttribute` is used to register context entries in the Node Editor in a dynamic, conditional or procedural way. 45 | This function will be called to fill the passed context `GenericMenu` in any way it likes to. 46 | Again the type specifies the context menu to fill. 47 | The method signature **must** be as follows:[ Return: Void; Params: NodeEditorInputInfo, GenericMenu ] 48 | 49 | 50 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/AddingInputControls.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffb229e77787f7040824966e8b9f146b 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/AddingNodeCanvasTypes.md: -------------------------------------------------------------------------------- 1 | 2 | # Custom NodeCanvas 3 | 4 | *NOTE: This is experimental and has not reached it's final state yet, many more features to come! This sections is very WIP!*
5 | It is possible to create custom NodeCanvas types to limit specific nodes to. For example, you can create a Dialogue canvas type with own, specific properties and even own traversal routines. 6 | Simply extend the NodeCanvas class and change properties. An example can be found on the branch *[Examples/Dialogue System](https://github.com/Baste-RainGames/Node_Editor/tree/Examples/Dialogue-System)* 7 | 8 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/AddingNodeCanvasTypes.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fcf2405284b531243bda20e7fb7c15ad 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/BuildingAnEditor.md: -------------------------------------------------------------------------------- 1 | 2 | # Building a custom Editor 3 | 4 | The provided Editor Window serves as the default Node Canvas Explorer for all dependant extensions that gets the job done. 5 | But in order to make extensions that are built on top of this Framework unique, you'll sooner or later need to built your own Editor Interface. 6 | The following outlines the most important things to consider in order to build a basic Node Editor Interface in both Runtime and the Editor. 7 | 8 |
9 | 10 | ### The Canvas and Editor States 11 | 12 | The Editor obviously has to stores the currently opened NodeCanvas and it's NodeEditorState in the first place. 13 | For a detailed explanation of these, please look up the [Framework Overview](../FrameworkOverview.md).
14 | `NodeEditorUserCache` is a wrapper class to aid your extension managing the canvas and editor state. For the majority of cases, it is perfectly fine. 15 | The easy API for saving/loading and even caching in the editor works both in the editor and at runtime. 16 | 17 |
18 | 19 | ### The Canvas GUI 20 | 21 | For the GUI to look the same in the whole window and to allow for custom popups in your GUI, you first need to call `NodeEditorGUI.StartNodeGUI`. At the end you need to call `NodeEditorGUI.EndNodeGUI`.
22 | Before you can draw the canvas area, first make sure a canvas is loaded and assign the rect for the canvas area to your `NodeEditorState.canvasRect` property. 23 | Also, not that modifying the `GUI.matrix` scale while when drawing the canvas area is not yet supported.
24 | In order to best account for errors that may be thrown, the drawing function should be embedded in a try-catch block that unloads the canvas when an error was thrown. 25 | Make sure you only catch `UnityExceptions` though, because of a Unity bug all pickers like `ColorField`, `CurveField` or `ObjectField` will throw an error when inside a `System.Exception` try-catch-block.
26 | In this try-catch-block you can safely call `NodeEditor.DrawCanvas`, passing both the `NodeCanvas` and the `EditorState`, in order to draw the canvas in the specified area. 27 | All additional interface elements like toolbar, side panel, etc. are up to you to handle, and are easily filled using the API of the Framework. 28 | 29 |
30 | 31 | ### Custom GUI Skin 32 | 33 | The GUISkin of the Node Editor can currently only be changed by modifying the `NodeEditorGUI` source file or by replacing the textures. 34 | For the future a more extensive and separated control over the GUISkin is planned. -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/BuildingAnEditor.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3979bb6092649524e8942ddb983d59fe 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/CustomConnectionTypes.md: -------------------------------------------------------------------------------- 1 | 2 | # Custom ConnectionTypes 3 | 4 | Implementing custom ConnectionTypes is similar to Node implementation, as it uses the same fetching system: 5 | Declare a class inheriting from the `IConnectionTypeDeclaration` interface and specify it's properties. 6 | 7 |
8 | ![ConnectionType with IConnectionTypeDeclaration] (/img/ConnectionTypes.png "ConnectionTypes.cs: Top: IConnectionTypeDeclaration; Bottom: Built-in Float type") 9 |
10 | ConnectionTypes.cs: Top: IConnectionTypeDeclaration; Bottom: Built-in Float type 11 |
12 | 13 | - The `string Identifier` is used to address the type 14 | - The `Type Type` is the type this declaration representates and which is used to check for connection compability 15 | - The `Color Color` is the color associated with the type, in which the knob textures as well as the connections are tinted with 16 | - The strings `InKnobTex` and `OutKnobTex` are the paths to the knob textures relative to '_Node\_Editor/Resources_'. Defaults are '_Textures/In\_Knob.png_' and '_Textures/Out\_Knob.png_' 17 | 18 | Do not that the names may differ in previous versions! -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/CustomConnectionTypes.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64d468a9b710a8a4097535f34422970d 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/CustomNodes.md: -------------------------------------------------------------------------------- 1 | 2 | # Custom Nodes 3 | 4 | The implementation of additional, custom nodes is fairly easy. You have to create a script anywhere in the project extending the `NodeEditorFramework.Node` class. 5 | It will provide the Framework all needed information about the node itself, the optional `Node` attribute contains information about the presentation in the editor. 6 | The Framework will search all script assemblies for additional nodes, so extra setup is not required. If you do need a custom assembly to be included, you can add it manually in `NodeTypes.cs`. 7 | 8 | The following outlines the necessary Node members. You can take reference from the ExampleNode found in '*Plugins/Node_Editor/Nodes/Example*'. 9 | First to mention is that even though the Framework is programmed in C#, you can add nodes in UnityScript with the limitation that they have to be compiled in phase 2,3 or 4, 10 | as described [here](http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html). Therefore the following members are described language independently. 11 | 12 | - import/use `NodeEditorFramework` 13 | - Class extending `Node` 14 | - _Optional_: Attribute `Node` *[params: [Bool] hide; [String] contextPath; optional [Type] canvasType]* 15 | - Unique Node ID; declare: `ID` *[constant string]*; expose: property `GetID`*[Override]* 16 | - _Optional_: Behaviour Options 17 | - `AllowRecursion` *[override, default: false]* 18 | - `ContinueCalculation` *[override, default: true]* 19 | - `AcceptsTransitions` *[override, default: false]* 20 | - Method `Create` *[override; Params: [Vector2] position; Returns : [Node] created node]* 21 | - Create a new Node of your type using `CreateInstance` and assign it's property `rect` using the position parameter 22 | - Add connections using `CreateInput`/`CreateOutput` or `NodeInput.Create`/`NodeOuput.Create` *[Params: name; type ID; side; position]* 23 | - Perform any other additional setup steps and return your created node 24 | - Method `NodeGUI` *[protected (internal) override]* 25 | - Draw your Node's GUI; you may use GUILayout functions 26 | - Access the Inputs/Outputs using the respective arrays in the order of creation. 27 | Use their methods `DisplayLayout` or `SetPosition` to position (and draw) them. 28 | - Method `Calculate` *[override]* 29 | - The methods `allInputsReady`, `hasUnassignedInputs` and `descendantsCalculated` 30 | may help to check if the node is ready, based on the needs and purposes of it. 31 | - Get the input values by calling `GetValue` on the NodeInputs and set the output values with `SetValue` the same way. 32 | - Return _true_ when you're done calculating and _false_ when you are not ready yet and need another attempt. 33 | But be aware, you cannot yield calculation that way, after a maximum of a _thousand_ repeated tries the calculation will be aborted! 34 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/CustomNodes.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9632a9dd28fffbc4c8ad06f036094766 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/EventsCallbacks.md: -------------------------------------------------------------------------------- 1 | 2 | # Events 3 | 4 | The Framework supports a collection of events which might be important during the editing process. 5 | Those Events can either be received by subscribing to the appropriate delegate in the NodeEditorCallbacks class 6 | or by extending from NodeEditorCallbackReceiver (which is a MonoBehaviour) and overriding the appropriate method. 7 | Both classes can be found in `NodeEditorCallbackReceiver`
8 | ##### Current Events 9 | 10 | - `OnEditorStartup` : The Node Editor gets initiated (can also happen when switching scene or playmode) 11 | - `OnLoadCanvas` (NodeCanvas): The passed canvas has been loaded as a copy 12 | - `OnLoadEditorState` (NodeEditorState): The passed editorState has been loaded as a copy 13 | - `OnSaveCanvas` (NodeCanvas): The passed canvas has been saved as a copy 14 | - `OnSaveEditorState` (NodeEditorState): The passed editorState has been saved as a copy 15 |

16 | - `OnAddNode` (Node): The passed node has been created or duplicated 17 | - `OnDeleteNode` (Node): The passed node will get deleted 18 | - `OnMoveNode` (Node): The passed node has been moved by the user 19 |

20 | - `OnAddConnection` (NodeInput): A new connection has been added to the passed input. If it had a connection before, *OnRemoveConnection* has been called, too 21 | - `OnRemoveConnection` (NodeInput): The connection will get removed from this input 22 |

23 | ##### WIP Transitioning System: 24 | - `OnAddTransition` (Transition): The passed transition has been created 25 | - `OnRemoveTransition` (Transition): The passed transition will be removed 26 | 27 |
28 | 29 | -> Some of the Node-specific callbacks can also be accessed from the Node directly by overriding the appropriate method. 30 |
31 | -> You can always implement additional callbacks or request them to be implemented! 32 | 33 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/EventsCallbacks.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 299ae91dbea5aa64da194dddee01c9d4 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/index.md: -------------------------------------------------------------------------------- 1 | 2 | # Building Extensions - Overview 3 | 4 | These pages will guide you to create your own extension without touching the framework code. 5 | This is possible by dynamically fetching extending content from all assemblies and even enables user extensions. 6 |
7 | If you want/need to create modify the framework for your extension, you can refer to the [Framework Overview](../FrameworkOverview.md) to get a glimpse on how each framework part works. 8 | 9 |
10 | 11 | ## Covered Topics 12 |
13 | 14 | - __ [Custom Nodes](CustomNodes.md)__ - Implementation of custom Nodes 15 |

16 | - __ [Custom ConnectionTypes](CustomConnectionTypes.md)__ - Defining custom ConnectinTypes in order to pass custom types with customized visualization 17 |

18 | - __ [Adding NodeCanvas Types](AddingNodeCanvasTypes.md)__ - Implementation of custom NodeCanvas Types for customized situations 19 |

20 | - __ [Adding Input Controls](AddingInputControls.md)__ - Addition of Input Controls to the dynamic Input System with Attribbutes 21 |

22 | - __ [Building an Editor](BuildingAnEditor.md)__ - Building of a custom Editor Window or other user of the Node Editor Framework 23 |

24 | - __ [Event & Callbacks](EventsCallbacks.md)__ - Making use of the framework events and callbacks 25 |

26 |
-------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/BuildingExtensions/index.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e2065c8eaba43d4ca21dcf3eb334870 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/FrameworkOverview.md: -------------------------------------------------------------------------------- 1 | 2 | # Framework Overview 3 | 4 | *(NOTE: This page is WIP)* 5 | 6 | This section aims to bring you a decent overview on how the framework is structured, so you can get to modify it quickly. 7 | This does not necessarily include implementation details – code sections that need extra detailing are commented. 8 | Also, this section is not only for those planning to get into the code, but for everyone to get an overview what he's working with:) 9 | 10 |
11 | 12 | ### `NodeCanvas` and `NodeEditorState` 13 | 14 | Those two components essentially make up the save file you can load up into the Editor. 15 | Basically, the canvas stores all the nodes and any additional information directly related to the Canvas. 16 | In contrary, the `EditorState` holds all information on the state, or in other words, on how the Canvas is presented. 17 | This includes zoom and pan values, selected Nodes, the canvasRect, etc. Not all of these values are actually saved with the asset, though. 18 | That structure allows for multiple 'views' on the same Canvas and editing it simultaneously. 19 | 20 |
21 | 22 | ### The `DrawCanvas` function 23 | 24 | This function acts very similar to any other GUI control, with a few exceptions, and is responsible for drawing the Canvas. 25 | On the first glance it's just a wrapper for `DrawSubCanvas`, with the exception that it holds the `OverlayGUI` and `NodeGUISkin` code. 26 | `DrawSubCanvas` is used in the future for Nested Canvases, as the name proposes. 27 | 28 | First of all, the background texture is splattered across the canvas area based on zoom and pan values. 29 | Then, the function `NodeEditorInputSystem.HandleInputEvents` invokes all dynamic input handlers of the input system to catch all kinds of Input events. 30 | 31 | Afterwards the scale area gets initiated with a call to the custom solution `GUIScaleUtility.BeginScale`.
32 | Any GUI code afterwards is getting scaled appropriately. 33 | That means that now all elements that need to be scaled are drawn, including connections, node transitions, connections, bodies and knobs.
34 | Thereafter, the scale area gets closed again with another call to `GUIScaleUtility.EndScale`. 35 | 36 | The `NodeEditorInputSystem.HandleLateInputEvents` function then invokes the dynamic input handlers similar to the version before, 37 | with the exception that only those that have to be handled after GUI are invoked. 38 | 39 |
40 | 41 | #### Framework Part explanations planned 42 | - Dynamic Input System at `NodeEditorInputSystem` 43 | - ConnectionType and Node fetching at `NodeTypes` and `ConnectionTypes` 44 | - Knob Behaviour and Possibilities at `NodeKnob` 45 | - Event/Callback System at `NodeEditorCallbackReceiver` 46 | - Save System at `NodeEditorSaveManager` 47 | - Various Utilities like `GUIScaleUtility` 48 | - Calculation System at `NodeEditor` 49 | - Transitioning System including UnityFunc if they are ready 50 | - Runtime GUI and limitations at `RTEditorGUI` mostly 51 | - Experimental/Conceptional custom NodeCanvases and traversal algorithms 52 | 53 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/FrameworkOverview.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78af82da815a79942b5b02660628363a 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/GettingStarted.md: -------------------------------------------------------------------------------- 1 | 2 | # Getting Started 3 | 4 |
5 | 6 | ## Installation 7 | Installing is as simple as dragging and dropping the *Editor* and *Node_Editor* folders into your project at *Assets/Plugins*. It will work anywhere but would require a change in source for long term usage. 8 | You are then able to open the window at '*Window/Node Editor*' when there are no errors in the project. 9 | 10 | 11 |
12 | 13 | ## Examples 14 | 15 | ### Editor & Canvas 16 | You can start off by opening the Editor Window at '*Window/Node Editor*' and loading an example canvas, such as the *CalculationCanvas*. 17 | Use either the button at the top right or locate it in the project folder and double-click it. 18 | 19 | Using context-clicks you can manipulate the canvas, using drag'n'drop you can drag around and connect node outputs and inputs with each other. 20 | `Control` will snap nodes to the grid and `N` will help you navigate back to the origin or the selected node! 21 | 22 | ### Example Extensions 23 | For examples on simple extensions, check out all '*Examples/*'-Subbranches on the repository!
24 | One of the currently available examples is the [Texture Composer](https://github.com/Baste-RainGames/Node_Editor/tree/Examples/Texture_Composer), 25 | an example of adding Nodes and ConnectionTypes to extend the framework to simple texture manipulation capabilities.
26 | Another is the [Dialogue System](https://github.com/Baste-RainGames/Node_Editor/tree/Examples/Dialogue-System), 27 | which demonstrates the actual usage of a canvas at runtime to drive a simple dialogue. 28 | 29 | ### Example Runtime Usage 30 | For more general ideas on how to use the canvas at runtime, you can check out `RTCanvasCalculator`, which is a component that can 31 | calculate and debug the canvas at runtime and also implements some basic but useful helper functions to traverse the canvas at runtime.
32 | It is also possible to show the actual GUI at runtime, as `RuntimeNodeEditor` demonstrates. It works and looks very similar to the editor window 33 | with some limitations due to inaccessibility to the UnityEditor namespace. But aslong as the Nodes use `RTEditorGUI` for available UI controls 34 | and encapsulate all editor-only GUI parts into a preprocessor checks, it is totally possible to give your player access to a Node Editor:) -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/GettingStarted.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e77ebfc2f790024096ea5cdf19dc6d1 3 | timeCreated: 1497727030 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/extra.css: -------------------------------------------------------------------------------- 1 | ul.nav.navbar-nav:not(.navbar-right) > li:first-child { 2 | display: none; 3 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/extra.css.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d7bbbe1d6d83e74698c6e14ef519824 3 | timeCreated: 1497727030 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e6eb44c2c6b86946806db93bc3f3071 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/ConnectionTypes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/ConnectionTypes.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/ConnectionTypes.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 70c2ee5df831b8e4ca283eb73e31cac8 3 | timeCreated: 1497727035 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/NodeEditorTitle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/NodeEditorTitle.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/NodeEditorTitle.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15d8865f15025df4b9abe89f883d1d57 3 | timeCreated: 1497727035 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/favicon.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/img/favicon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec06c3c0a67ce1b47b7fdc477035e024 3 | timeCreated: 1497727035 4 | licenseType: Pro 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/index.md: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 | 6 | #Node Editor Framework 7 | 8 |
9 | 10 | A free and versatile Node Editor Framework for Unity 3D 11 | 12 |
13 | 14 | Node Editor Front Image 15 | 16 | [The Texture Composer example, available on the Repo](https://github.com/Baste-RainGames/Node_Editor/tree/Examples/Texture_Composer) 17 | 18 |
19 | 20 | __Links:__ 21 | 22 | [Github Repository](https://github.com/Baste-RainGames/Node_Editor) 23 |
24 | [Unity Forum Thread](http://forum.unity3d.com/threads/simple-node-editor.189230/#post-2134738) 25 | 26 |
27 | 28 | This documentation was originally created by __Seneral__. It is still a WIP. 29 |
30 | _Last update: (21.08.16)_ 31 | 32 |
33 | 34 |



35 | 36 | ## Preface 37 | 38 | This Documentation intends to give you an overview of the Node Editor. It was initially posted by me, [Seneral](http://forum.unity3d.com/members/seneral.638015/), 39 | back in May 2015 as a personal project on the [Unity Forums](http://forum.unity3d.com/threads/simple-node-editor.189230/#post-2134738). 40 | After receiving a great amount of positive feedback I continued improving and supporting it, now, with the help of the community, featuring a lot of major features you'd expect from a great Node Editor! 41 | 42 | The [Github Repository](https://github.com/Baste-RainGames/Node_Editor) was set up by [Baste](http://forum.unity3d.com/members/baste.185905/) 43 | during the early development, and now it's the main platform to share and contribute to Node Editor. 44 | 45 |

46 | 47 | ## Features 48 | 49 | The Node Editor has some unique features despite being Open-Source, which we're proud of featuring: 50 | 51 | - Full interface with all expected controls like zooming/panning 52 | - Flexible and interchangeable GUI 53 | - Canvas and Editor State system featuring alot of advanced controls 54 | - Super easy to extend with custom nodes, types and even controls without modifying the provided code 55 | - Powerful calculation system, soon revamped for complete flexibility 56 | - Extreme Node customization to create totally unique node appearances achieved by a custom windowing system 57 | - Growing Runtime support, including every bit from the EditorWindow 58 | 59 | The framework also shines with clean and easy to modify code. It's clearly separated in multiple parts, 60 | some of which can even be taken and used somewhere else, such as the unique, generic scaling approach! 61 | 62 |

63 | 64 | ## Contributing 65 | 66 | Since the initial start quite a few people took the time and motivation to contribute to the project which we all appreciate very much! 67 | You can check all contributions out on the contributions page. But also those who use, test and report bugs are very important for this project. 68 | 69 | If you wish to contribute, you may take a look at the [Issues page of Github](https://github.com/Baste-RainGames/Node_Editor/issues) as a rough guideline what is planned and how you can help. 70 | Of course, own ideas are just as fine. Make sure to let us know if you are making an extension using Node Editor, may it be big or small, and notify me about any problems you may encounter:) 71 | This is vital to the project! 72 | 73 | Also, you can always contact Seneral with a PM on the Forums for questions on the framework:) 74 | 75 |

76 | 77 | ## License 78 | 79 | This software is distributed under the [MIT License](license.md) 80 | 81 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/docs/index.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a447e3f7821d9ea43be8f19865a28f8c 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Node Editor Framework 2 | pages: 3 | - 'index.md' 4 | - Getting Started: 'GettingStarted.md' 5 | - Building Extensions: 6 | - 'Overview': 'BuildingExtensions/index.md' 7 | - 'Custom Nodes': 'BuildingExtensions/CustomNodes.md' 8 | - 'Custom ConnectionTypes': 'BuildingExtensions/CustomConnectionTypes.md' 9 | - 'Adding NodeCanvas Types': 'BuildingExtensions/AddingNodeCanvasTypes.md' 10 | - 'Adding Input Controls': 'BuildingExtensions/AddingInputControls.md' 11 | - 'Building an Editor': 'BuildingExtensions/BuildingAnEditor.md' 12 | - 'Events&Callbacks': 'BuildingExtensions/EventsCallbacks.md' 13 | - Framework Overview: 'FrameworkOverview.md' 14 | - License: 'license.md' 15 | repo_url: https://github.com/Baste-RainGames/Node_Editor 16 | site_description: "Node Editor Framework for Unity3D Documentation" 17 | site_favicon: "./img/favicon.png" 18 | theme: simplex 19 | 20 | extra_css: ['extra.css'] 21 | 22 | use_directory_urls: true -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Docs/mkdocs.yml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 964c19892273b024ca9c7bccc12df926 3 | timeCreated: 1497727030 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a784ba073129b0a4a8124d98a970deb0 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da852938107b2e34b8d23a32beb7631d 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/LastSession.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/LastSession.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/LastSession.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a863a0dd4e8a1e4418419d5b829a36af 3 | timeCreated: 1507770808 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 11400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/NodeEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db95a1ab32e0daf40a0293e71dcd5009 3 | timeCreated: 1497727032 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/RTCanvasCalculatorEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.Collections.Generic; 4 | using NodeEditorFramework; 5 | 6 | namespace NodeEditorFramework.Standard 7 | { 8 | [CustomEditor (typeof(RTCanvasCalculator))] 9 | public class RTCanvasCalculatorEditor : Editor 10 | { 11 | public RTCanvasCalculator RTCalc; 12 | 13 | public List inputNodes; 14 | 15 | public void OnEnable () 16 | { 17 | RTCalc = (RTCanvasCalculator)target; 18 | } 19 | 20 | public override void OnInspectorGUI () 21 | { 22 | RTCalc.canvas = EditorGUILayout.ObjectField ("Canvas", RTCalc.canvas, typeof(NodeCanvas), false) as NodeCanvas; 23 | if (RTCalc.canvas == null) 24 | return; 25 | 26 | if (GUILayout.Button ("Calculate and debug Output")) 27 | RTCalc.CalculateCanvas (); 28 | 29 | if (inputNodes == null) 30 | inputNodes = RTCalc.getInputNodes (); 31 | DisplayInputValues (); 32 | } 33 | 34 | private void DisplayInputValues () 35 | { 36 | foreach (Node inputNode in inputNodes) 37 | { 38 | string outID = "(IN) " + inputNode.name + ": "; 39 | foreach (NodeOutput output in inputNode.Outputs) 40 | outID += output.typeID + " " + (output.IsValueNull? "NULL" : output.GetValue ().ToString ()) + "; "; 41 | GUILayout.Label (outID); 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/RTCanvasCalculatorEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56b4a917a6eec9e40b63ec9b36dfa0ea 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/RTNodeEditorInspector.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | using System.Collections.Generic; 4 | using NodeEditorFramework; 5 | 6 | namespace NodeEditorFramework.Standard 7 | { 8 | [CustomEditor (typeof(RTNodeEditor))] 9 | public class RTNodeEditorInspector : Editor 10 | { 11 | public RTNodeEditor RTNE; 12 | 13 | public void OnEnable () 14 | { 15 | RTNE = (RTNodeEditor)target; 16 | } 17 | 18 | public override void OnInspectorGUI () 19 | { 20 | RTNE.canvas = EditorGUILayout.ObjectField ("Canvas", RTNE.canvas, typeof(NodeCanvas), false) as NodeCanvas; 21 | 22 | RTNE.screenSize = !EditorGUILayout.BeginToggleGroup (new GUIContent ("Specify Rect", "Specify Rects explicitly instead of adapting to the screen size"), !RTNE.screenSize); 23 | RTNE.specifiedRootRect = EditorGUILayout.RectField (new GUIContent ("Root Rect", "The root/group rect of the actual canvas rect. If left blank it is ignored."), RTNE.specifiedRootRect); 24 | RTNE.specifiedCanvasRect = EditorGUILayout.RectField (new GUIContent ("Canvas Rect", "The rect of the canvas."), RTNE.specifiedCanvasRect); 25 | EditorGUILayout.EndToggleGroup (); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Editor/Node_Editor/RTNodeEditorInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 178ce0dca6382224b9a453c398e46edc 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4b11207650007a4eba87c2acddb517a 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a70439a4a7f13ae4b991b85855684d27 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Example/RTCanvasCalculator.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using NodeEditorFramework; 6 | 7 | namespace NodeEditorFramework.Standard 8 | { 9 | /// 10 | /// Example of accessing and using the canvas at runtime 11 | /// 12 | public class RTCanvasCalculator : MonoBehaviour 13 | { 14 | public NodeCanvas canvas; 15 | 16 | /// 17 | /// Assures the canvas is loaded 18 | /// 19 | public void AssureCanvas () 20 | { 21 | if (canvas == null) 22 | throw new UnityException ("No canvas specified to calculate on " + name + "!"); 23 | } 24 | 25 | /// 26 | /// Calculates the currently loaded canvas and debugs the various outputs 27 | /// 28 | public void CalculateCanvas () 29 | { 30 | AssureCanvas (); 31 | NodeEditor.RecalculateAll (canvas); 32 | DebugOutputResults (); 33 | } 34 | 35 | /// 36 | /// Debugs the values of all possible output nodes 37 | /// Could be done more precisely but it atleast shows how to get them 38 | /// 39 | private void DebugOutputResults () 40 | { 41 | AssureCanvas (); 42 | List outputNodes = getOutputNodes (); 43 | foreach (Node outputNode in outputNodes) 44 | { 45 | string outID = "(OUT) " + outputNode.name + ": "; 46 | if (outputNode.Outputs.Count == 0) 47 | { // If the node has no outputs, display it's inputs, because that's what the output node works with 48 | foreach (NodeInput input in outputNode.Inputs) 49 | outID += input.typeID + " " + (input.IsValueNull? "NULL" : input.GetValue ().ToString ()) + "; "; 50 | } 51 | else 52 | { // Else display the final output of the output node 53 | foreach (NodeOutput output in outputNode.Outputs) 54 | outID += output.typeID + " " + (output.IsValueNull? "NULL" : output.GetValue ().ToString ()) + "; "; 55 | } 56 | Debug.Log (outID); 57 | } 58 | } 59 | 60 | /// 61 | /// Gets all nodes that either have no inputs or no input connections assigned 62 | /// 63 | public List getInputNodes () 64 | { 65 | AssureCanvas (); 66 | return canvas.nodes.Where ((Node node) => (node.Inputs.Count == 0 && node.Outputs.Count != 0) || node.Inputs.TrueForAll ((NodeInput input) => input.connection == null)).ToList (); 67 | } 68 | 69 | /// 70 | /// Gets all nodes that either have no output or no output connections leading to a followup node 71 | /// 72 | public List getOutputNodes () 73 | { 74 | AssureCanvas (); 75 | return canvas.nodes.Where ((Node node) => (node.Outputs.Count == 0 && node.Inputs.Count != 0) || node.Outputs.TrueForAll ((NodeOutput output) => output.connections.Count == 0)).ToList (); 76 | } 77 | } 78 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Example/RTCanvasCalculator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11b12ccbf5533274f9abf5008f057a67 3 | timeCreated: 1472742778 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Example/RTNodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 058701fb26fe9874f8dffda7e66a0fe9 3 | timeCreated: 1450128681 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 125fbf7f65512d64eb47fdf227e684cf 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/ConnectionTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4be5c7fe89350d249b9fd20d52cfb700 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/Node.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6b5fe394e83d344c990206132b84a28 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvas.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace NodeEditorFramework 6 | { 7 | [NodeCanvasType("Default")] 8 | public class NodeCanvas : ScriptableObject 9 | { // Just contains the nodes and global canvas stuff; an associated NodeEditorState holds the actual state now 10 | public virtual string canvasName { get { return "Calculation Canvas"; } } 11 | 12 | public List nodes = new List (); 13 | 14 | public NodeEditorState[] editorStates = new NodeEditorState[0]; 15 | 16 | public bool livesInScene = false; 17 | 18 | public virtual void BeforeSavingCanvas () { } 19 | 20 | /// 21 | /// Will validate this canvas for any broken nodes or references and cleans them. 22 | /// 23 | public void Validate () 24 | { 25 | if (nodes == null) 26 | { 27 | Debug.LogWarning ("NodeCanvas '" + name + "' nodes were erased and set to null! Automatically fixed!"); 28 | nodes = new List (); 29 | } 30 | for (int nodeCnt = 0; nodeCnt < nodes.Count; nodeCnt++) 31 | { 32 | Node node = nodes[nodeCnt]; 33 | if (node == null) 34 | { 35 | Debug.LogWarning ("NodeCanvas '" + name + "' contained broken (null) nodes! Automatically fixed!"); 36 | nodes.RemoveAt (nodeCnt); 37 | nodeCnt--; 38 | continue; 39 | } 40 | for (int knobCnt = 0; knobCnt < node.nodeKnobs.Count; knobCnt++) 41 | { 42 | NodeKnob nodeKnob = node.nodeKnobs[knobCnt]; 43 | if (nodeKnob == null) 44 | { 45 | Debug.LogWarning ("NodeCanvas '" + name + "' Node '" + node.name + "' contained broken (null) NodeKnobs! Automatically fixed!"); 46 | node.nodeKnobs.RemoveAt (knobCnt); 47 | knobCnt--; 48 | continue; 49 | } 50 | 51 | if (nodeKnob is NodeInput) 52 | { 53 | NodeInput input = nodeKnob as NodeInput; 54 | if (input.connection != null && input.connection.body == null) 55 | { // References broken node; Clear connection 56 | input.connection = null; 57 | } 58 | // for (int conCnt = 0; conCnt < (nodeKnob as NodeInput).connection.Count; conCnt++) 59 | } 60 | else if (nodeKnob is NodeOutput) 61 | { 62 | NodeOutput output = nodeKnob as NodeOutput; 63 | for (int conCnt = 0; conCnt < output.connections.Count; conCnt++) 64 | { 65 | NodeInput con = output.connections[conCnt]; 66 | if (con == null || con.body == null) 67 | { // Broken connection; Clear connection 68 | output.connections.RemoveAt (conCnt); 69 | conCnt--; 70 | } 71 | } 72 | } 73 | } 74 | } 75 | 76 | if (editorStates == null) 77 | { 78 | Debug.LogWarning ("NodeCanvas '" + name + "' editorStates were erased! Automatically fixed!"); 79 | editorStates = new NodeEditorState[0]; 80 | } 81 | editorStates = editorStates.Where ((NodeEditorState state) => state != null).ToArray (); 82 | foreach (NodeEditorState state in editorStates) 83 | { 84 | if (!nodes.Contains (state.selectedNode)) 85 | state.selectedNode = null; 86 | } 87 | } 88 | } 89 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvas.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e0c2324a9ab1224ebe3edad393e3544 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvasManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | using UnityEngine; 7 | 8 | using NodeEditorFramework.Utilities; 9 | 10 | namespace NodeEditorFramework 11 | { 12 | public class NodeCanvasManager 13 | { 14 | public static Dictionary CanvasTypes; 15 | private static Action _callBack; 16 | 17 | public static void GetAllCanvasTypes() 18 | { 19 | CanvasTypes = new Dictionary(); 20 | 21 | IEnumerable scriptAssemblies = AppDomain.CurrentDomain.GetAssemblies() 22 | .Where((Assembly assembly) => assembly.FullName.Contains("Assembly")); 23 | foreach (Assembly assembly in scriptAssemblies) 24 | { 25 | foreach (Type type in assembly.GetTypes() 26 | .Where( T => T.IsClass && !T.IsAbstract && 27 | T.GetCustomAttributes(typeof (NodeCanvasTypeAttribute), false).Length > 0)) 28 | { 29 | object[] nodeAttributes = type.GetCustomAttributes(typeof (NodeCanvasTypeAttribute), false); 30 | NodeCanvasTypeAttribute attr = nodeAttributes[0] as NodeCanvasTypeAttribute; 31 | CanvasTypes.Add(type, new NodeCanvasTypeData() {CanvasType = type, DisplayString = attr.Name}); 32 | } 33 | } 34 | } 35 | 36 | private static void CreateNewCanvas(object userdata) 37 | { 38 | NodeCanvasTypeData data = (NodeCanvasTypeData)userdata; 39 | _callBack(data.CanvasType); 40 | } 41 | 42 | public static void FillCanvasTypeMenu(ref GenericMenu menu, Action newNodeCanvas) 43 | { 44 | _callBack = newNodeCanvas; 45 | foreach (KeyValuePair data in CanvasTypes) 46 | { 47 | menu.AddItem(new GUIContent(data.Value.DisplayString), false, CreateNewCanvas, (object)data.Value); 48 | } 49 | } 50 | 51 | public static bool CheckCanvasCompability (Node node, Type canvasType) 52 | { 53 | NodeData data = NodeTypes.getNodeData (node); 54 | return data.limitToCanvasTypes == null || data.limitToCanvasTypes.Length == 0 || data.limitToCanvasTypes.Contains (canvasType); 55 | } 56 | } 57 | 58 | public struct NodeCanvasTypeData 59 | { 60 | public string DisplayString; 61 | public Type CanvasType; 62 | } 63 | 64 | public class NodeCanvasTypeAttribute : Attribute 65 | { 66 | public string Name; 67 | 68 | public NodeCanvasTypeAttribute(string displayName) 69 | { 70 | Name = displayName; 71 | } 72 | } 73 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvasManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3ac1ecc7eb0a6a4bae51b6e18010b92 3 | timeCreated: 1469444159 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvasSceneSave.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using NodeEditorFramework; 3 | 4 | public class NodeCanvasSceneSave : MonoBehaviour 5 | { 6 | public NodeCanvas savedNodeCanvas; 7 | } 8 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeCanvasSceneSave.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f1cd8579a6c9ec4b85d9d62cd5ba58b 3 | timeCreated: 1464014559 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b01efe70ff3f8d84da16ee5d254540a9 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorCallbackReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f72444d2da0ade14aba9ff3102d17243 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorGUI.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace NodeEditorFramework 7 | { 8 | public static class NodeEditorGUI 9 | { 10 | // static GUI settings, textures and styles 11 | public static int knobSize = 16; 12 | 13 | public static Color NE_LightColor = new Color (0.4f, 0.4f, 0.4f); 14 | public static Color NE_TextColor = new Color (0.7f, 0.7f, 0.7f); 15 | 16 | public static Texture2D Background; 17 | public static Texture2D AALineTex; 18 | public static Texture2D GUIBox; 19 | public static Texture2D GUIButton; 20 | public static Texture2D GUIBoxSelection; 21 | 22 | public static GUISkin nodeSkin; 23 | public static GUISkin defaultSkin; 24 | 25 | public static GUIStyle nodeLabel; 26 | public static GUIStyle nodeLabelBold; 27 | public static GUIStyle nodeLabelSelected; 28 | 29 | public static GUIStyle nodeBox; 30 | public static GUIStyle nodeBoxBold; 31 | 32 | public static bool Init () 33 | { 34 | // Textures 35 | Background = ResourceManager.LoadTexture ("Textures/background.png"); 36 | AALineTex = ResourceManager.LoadTexture ("Textures/AALine.png"); 37 | GUIBox = ResourceManager.LoadTexture ("Textures/NE_Box.png"); 38 | GUIButton = ResourceManager.LoadTexture ("Textures/NE_Button.png"); 39 | GUIBoxSelection = ResourceManager.LoadTexture ("Textures/BoxSelection.png"); 40 | 41 | if (!Background || !AALineTex || !GUIBox || !GUIButton) 42 | return false; 43 | 44 | // Skin & Styles 45 | nodeSkin = Object.Instantiate (GUI.skin); 46 | 47 | // Label 48 | nodeSkin.label.normal.textColor = NE_TextColor; 49 | nodeLabel = nodeSkin.label; 50 | // Box 51 | nodeSkin.box.normal.textColor = NE_TextColor; 52 | nodeSkin.box.normal.background = GUIBox; 53 | nodeBox = nodeSkin.box; 54 | // Button 55 | nodeSkin.button.normal.textColor = NE_TextColor; 56 | nodeSkin.button.normal.background = GUIButton; 57 | // TextArea 58 | nodeSkin.textArea.normal.background = GUIBox; 59 | nodeSkin.textArea.active.background = GUIBox; 60 | // Bold Label 61 | nodeLabelBold = new GUIStyle (nodeLabel); 62 | nodeLabelBold.fontStyle = FontStyle.Bold; 63 | // Selected Label 64 | nodeLabelSelected = new GUIStyle (nodeLabel); 65 | nodeLabelSelected.normal.background = RTEditorGUI.ColorToTex (1, NE_LightColor); 66 | // Bold Box 67 | nodeBoxBold = new GUIStyle (nodeBox); 68 | nodeBoxBold.fontStyle = FontStyle.Bold; 69 | 70 | return true; 71 | } 72 | 73 | public static void StartNodeGUI () 74 | { 75 | NodeEditor.checkInit(true); 76 | 77 | defaultSkin = GUI.skin; 78 | if (nodeSkin != null) 79 | GUI.skin = nodeSkin; 80 | OverlayGUI.StartOverlayGUI (); 81 | } 82 | 83 | public static void EndNodeGUI () 84 | { 85 | OverlayGUI.EndOverlayGUI (); 86 | GUI.skin = defaultSkin; 87 | } 88 | 89 | #region Connection Drawing 90 | 91 | /// 92 | /// Draws a node connection from start to end, horizontally 93 | /// 94 | public static void DrawConnection (Vector2 startPos, Vector2 endPos, Color col) 95 | { 96 | Vector2 startVector = startPos.x <= endPos.x? Vector2.right : Vector2.left; 97 | DrawConnection (startPos, startVector, endPos, -startVector, col); 98 | } 99 | /// 100 | /// Draws a node connection from start to end with specified vectors 101 | /// 102 | public static void DrawConnection (Vector2 startPos, Vector2 startDir, Vector2 endPos, Vector2 endDir, Color col) 103 | { 104 | #if NODE_EDITOR_LINE_CONNECTION 105 | DrawConnection (startPos, startDir, endPos, endDir, ConnectionDrawMethod.StraightLine, col); 106 | #else 107 | DrawConnection (startPos, startDir, endPos, endDir, ConnectionDrawMethod.Bezier, col); 108 | #endif 109 | } 110 | /// 111 | /// Draws a node connection from start to end with specified vectors 112 | /// 113 | public static void DrawConnection (Vector2 startPos, Vector2 startDir, Vector2 endPos, Vector2 endDir, ConnectionDrawMethod drawMethod, Color col) 114 | { 115 | if (drawMethod == ConnectionDrawMethod.Bezier) 116 | { 117 | float dirFactor = 80;//Mathf.Pow ((startPos-endPos).magnitude, 0.3f) * 20; 118 | //Debug.Log ("DirFactor is " + dirFactor + "with a bezier lenght of " + (startPos-endPos).magnitude); 119 | RTEditorGUI.DrawBezier (startPos, endPos, startPos + startDir * dirFactor, endPos + endDir * dirFactor, col * Color.gray, null, 3); 120 | } 121 | else if (drawMethod == ConnectionDrawMethod.StraightLine) 122 | RTEditorGUI.DrawLine (startPos, endPos, col * Color.gray, null, 3); 123 | } 124 | 125 | /// 126 | /// Gets the second connection vector that matches best, accounting for positions 127 | /// 128 | internal static Vector2 GetSecondConnectionVector (Vector2 startPos, Vector2 endPos, Vector2 firstVector) 129 | { 130 | if (firstVector.x != 0 && firstVector.y == 0) 131 | return startPos.x <= endPos.x? -firstVector : firstVector; 132 | else if (firstVector.y != 0 && firstVector.x == 0) 133 | return startPos.y <= endPos.y? -firstVector : firstVector; 134 | else 135 | return -firstVector; 136 | } 137 | 138 | #endregion 139 | } 140 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d45bec52de54d834e818ca0ccb994c1f 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorInputControls.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76a77818258cdde43a807b810eb57074 3 | timeCreated: 1466001829 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorInputSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b51ae3192829104296c1fc1bf4f4068 3 | timeCreated: 1466001829 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorSaveManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 536538853a8430243a2f38355c7d4bbd 3 | timeCreated: 1453840956 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorState.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections.Generic; 4 | using NodeEditorFramework; 5 | 6 | namespace NodeEditorFramework 7 | { 8 | public class NodeEditorState : ScriptableObject 9 | { // holds the state of a NodeCanvas inside a NodeEditor 10 | public NodeCanvas canvas; 11 | public NodeEditorState parentEditor; 12 | 13 | // Canvas options 14 | public bool drawing = true; // whether to draw the canvas 15 | 16 | // Selection State 17 | public Node selectedNode; // selected Node 18 | [NonSerialized] public Node focusedNode; // Node under mouse 19 | [NonSerialized] public NodeKnob focusedNodeKnob; // NodeKnob under mouse 20 | 21 | // Navigation State 22 | public Vector2 panOffset = new Vector2 (); // pan offset 23 | public float zoom = 1; // zoom; Ranges in 0.2er-steps from 0.6-2.0; applied 1/zoom; 24 | 25 | // Current Action 26 | [NonSerialized] public NodeOutput connectOutput; // connection this output 27 | [NonSerialized] public bool dragNode; // node dragging 28 | [NonSerialized] public bool panWindow; // window panning 29 | [NonSerialized] public Vector2 dragStart; // start mouse position for both node dragging and window panning 30 | [NonSerialized] public Vector2 dragPos; // start object position for both node dragging and window panning 31 | [NonSerialized] public Vector2 dragOffset; // offset for both node dragging and window panning 32 | [NonSerialized] public bool navigate; // navigation ('N') 33 | 34 | // Temporary variables 35 | public Vector2 zoomPos { get { return canvasRect.size/2; } } // zoom center in canvas space 36 | [NonSerialized] public Rect canvasRect; // canvas Rect 37 | [NonSerialized] public Vector2 zoomPanAdjust; // calculated value to offset elements with when zooming 38 | [NonSerialized] public List ignoreInput = new List (); // Rects inside the canvas to ignore input in (nested canvases, fE) 39 | } 40 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f6ab6487237ff124ea4c2aa5de9ce3fb 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeEditorUserCache.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bb1bb38f09a0534daf0b17a3e45693c 3 | timeCreated: 1466090292 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeInput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4caff27366054dd44a30ddb5be369acc 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeKnob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8735025346ca7142b24d4e6d07ba742 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeOutput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42e7026d0da7df848ab67d517ac12d74 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeTypes.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Linq; 4 | using System.Reflection; 5 | using System.Collections.Generic; 6 | using NodeEditorFramework; 7 | 8 | namespace NodeEditorFramework 9 | { 10 | /// 11 | /// Handles fetching and storing of all NodeDeclarations 12 | /// 13 | public static class NodeTypes 14 | { 15 | public static Dictionary nodes; 16 | 17 | /// 18 | /// Fetches every Node Declaration in the assembly and stores them in the nodes List. 19 | /// nodes List contains a default instance of each node type in the key and editor specific NodeData in the value 20 | /// 21 | public static void FetchNodes() 22 | { 23 | nodes = new Dictionary (); 24 | 25 | IEnumerable scriptAssemblies = AppDomain.CurrentDomain.GetAssemblies ().Where ((Assembly assembly) => assembly.FullName.Contains ("Assembly")); 26 | foreach (Assembly assembly in scriptAssemblies) 27 | { 28 | foreach (Type type in assembly.GetTypes().Where(T => T.IsClass && !T.IsAbstract && T.IsSubclassOf(typeof(Node)))) 29 | { 30 | object[] nodeAttributes = type.GetCustomAttributes(typeof(NodeAttribute), false); 31 | if(nodeAttributes.Length > 0) 32 | { 33 | NodeAttribute attr = nodeAttributes[0] as NodeAttribute; 34 | if (attr == null || !attr.hide) 35 | { 36 | Node node = ScriptableObject.CreateInstance(type.Name) as Node; // Create a 'raw' instance (not setup using the appropriate Create function) 37 | node = node.Create(Vector2.zero); // From that, call the appropriate Create Method to init the previously 'raw' instance 38 | nodes.Add(node, new NodeData(attr == null ? node.name : attr.contextText, attr.limitToCanvasTypes)); 39 | } 40 | } 41 | else 42 | { 43 | Debug.LogErrorFormat("Type {0} does not have NodeAttribute", type.Name); 44 | } 45 | } 46 | } 47 | } 48 | 49 | /// 50 | /// Returns the NodeData for the given Node 51 | /// 52 | public static NodeData getNodeData (Node node) 53 | { 54 | return nodes [getDefaultNode (node.GetID)]; 55 | } 56 | 57 | /// 58 | /// Returns the default node from the given nodeID. 59 | /// The default node is a dummy used to create other nodes (Due to various limitations creation has to be performed on Node instances) 60 | /// 61 | public static Node getDefaultNode (string nodeID) 62 | { 63 | return nodes.Keys.Single ((Node node) => node.GetID == nodeID); 64 | } 65 | 66 | /// 67 | /// Returns the default node from the node type. 68 | /// The default node is a dummy used to create other nodes (Due to various limitations creation has to be performed on Node instances) 69 | /// 70 | public static T getDefaultNode () where T : Node 71 | { 72 | return nodes.Keys.Single ((Node node) => node.GetType () == typeof (T)) as T; 73 | } 74 | 75 | /// 76 | /// Gets the compatible nodes that have atleast one NodeInput that can connect to the given nodeOutput 77 | /// 78 | public static List getCompatibleNodes (NodeOutput nodeOutput) 79 | { 80 | if (nodeOutput == null) 81 | throw new ArgumentNullException ("nodeOutput"); 82 | List compatibleNodes = new List (); 83 | foreach (Node node in NodeTypes.nodes.Keys) 84 | { // Check if any of the NodeInputs is able to connect to the given NodeOutput 85 | for (int inputCnt = 0; inputCnt < node.Inputs.Count; inputCnt++) 86 | { // Checking for compability, not using CanApplyConnection to leave out unnessecary dependancy checks 87 | NodeInput input = node.Inputs[inputCnt]; 88 | if (input == null) 89 | throw new UnityException ("Input " + inputCnt + " is null!"); 90 | if (input.typeData.Type.IsAssignableFrom (nodeOutput.typeData.Type)) 91 | { 92 | compatibleNodes.Add (node); 93 | break; 94 | } 95 | } 96 | } 97 | return compatibleNodes; 98 | } 99 | } 100 | 101 | /// 102 | /// The NodeData contains the additional, editor specific data of a node type 103 | /// 104 | public struct NodeData 105 | { 106 | public string adress; 107 | public Type[] limitToCanvasTypes; 108 | 109 | public NodeData (string name, Type[] limitedCanvasTypes) 110 | { 111 | adress = name; 112 | limitToCanvasTypes = limitedCanvasTypes; 113 | } 114 | } 115 | 116 | /// 117 | /// The NodeAttribute is used to specify editor specific data for a node type, later stored using a NodeData 118 | /// 119 | public class NodeAttribute : Attribute 120 | { 121 | public bool hide { get; private set; } 122 | public string contextText { get; private set; } 123 | public Type[] limitToCanvasTypes { get; private set; } 124 | 125 | public NodeAttribute (bool HideNode, string ReplacedContextText) 126 | { 127 | hide = HideNode; 128 | contextText = ReplacedContextText; 129 | limitToCanvasTypes = null; 130 | } 131 | 132 | public NodeAttribute (bool HideNode, string ReplacedContextText, Type[] limitedCanvasTypes) 133 | { 134 | hide = HideNode; 135 | contextText = ReplacedContextText; 136 | limitToCanvasTypes = limitedCanvasTypes; 137 | } 138 | } 139 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Framework/NodeTypes.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1cdfbc99cfb2a2c4db2bb4cbbec242fc 3 | timeCreated: 1449162341 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0f851d83be59da4ca731442fbd7e3a0 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9e2dbeffb9228f4ca8fad2165ec8b47 3 | folderAsset: yes 4 | timeCreated: 1469444158 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/AllAroundNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using NodeEditorFramework; 3 | 4 | namespace NodeEditorFramework.Standard 5 | { 6 | [Node (true, "Example/AllAround Node")] 7 | public class AllAroundNode : Node 8 | { 9 | public const string ID = "allaroundNode"; 10 | public override string GetID { get { return ID; } } 11 | 12 | public override bool AllowRecursion { get { return true; } } 13 | public override bool ContinueCalculation { get { return true; } } 14 | 15 | public override Node Create (Vector2 pos) 16 | { 17 | AllAroundNode node = CreateInstance (); 18 | 19 | node.rect = new Rect (pos.x, pos.y, 60, 60); 20 | node.name = "AllAround Node"; 21 | 22 | node.CreateInput ("Input Top", "Float", NodeSide.Top, 20); 23 | node.CreateInput ("Input Bottom", "Float", NodeSide.Bottom, 20); 24 | node.CreateInput ("Input Right", "Float", NodeSide.Right, 20); 25 | node.CreateInput ("Input Left", "Float", NodeSide.Left, 20); 26 | 27 | node.CreateOutput ("Output Top", "Float", NodeSide.Top, 40); 28 | node.CreateOutput ("Output Bottom", "Float", NodeSide.Bottom, 40); 29 | node.CreateOutput ("Output Right", "Float", NodeSide.Right, 40); 30 | node.CreateOutput ("Output Left", "Float", NodeSide.Left, 40); 31 | 32 | return node; 33 | } 34 | 35 | protected internal override void DrawNode () 36 | { 37 | Rect nodeRect = rect; 38 | nodeRect.position += NodeEditor.curEditorState.zoomPanAdjust + NodeEditor.curEditorState.panOffset; 39 | 40 | Rect bodyRect = new Rect (nodeRect.x, nodeRect.y, nodeRect.width, nodeRect.height); 41 | 42 | GUI.changed = false; 43 | GUILayout.BeginArea (bodyRect, GUI.skin.box); 44 | NodeGUI (); 45 | GUILayout.EndArea (); 46 | } 47 | 48 | protected internal override void NodeGUI () 49 | { 50 | 51 | } 52 | 53 | public override bool Calculate () 54 | { 55 | Outputs [0].SetValue (Inputs [0].GetValue ()); 56 | Outputs [1].SetValue (Inputs [1].GetValue ()); 57 | Outputs [2].SetValue (Inputs [2].GetValue ()); 58 | Outputs [3].SetValue (Inputs [3].GetValue ()); 59 | 60 | return true; 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/AllAroundNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec20c217ebe61744d82a69ad83ff2447 3 | timeCreated: 1444930712 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/ExampleNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using NodeEditorFramework; 3 | using NodeEditorFramework.Utilities; 4 | 5 | namespace NodeEditorFramework.Standard 6 | { 7 | [Node (true, "Example/Example Node")] 8 | public class ExampleNode : Node 9 | { 10 | public const string ID = "exampleNode"; 11 | public override string GetID { get { return ID; } } 12 | 13 | public override Node Create (Vector2 pos) 14 | { 15 | ExampleNode node = CreateInstance (); 16 | 17 | node.rect = new Rect (pos.x, pos.y, 150, 60); 18 | node.name = "Example Node"; 19 | 20 | node.CreateInput ("Value", "Float"); 21 | node.CreateOutput ("Output val", "Float"); 22 | 23 | return node; 24 | } 25 | 26 | protected internal override void NodeGUI () 27 | { 28 | GUILayout.Label ("This is a custom Node!"); 29 | 30 | GUILayout.BeginHorizontal (); 31 | GUILayout.BeginVertical (); 32 | 33 | Inputs [0].DisplayLayout (); 34 | 35 | GUILayout.EndVertical (); 36 | GUILayout.BeginVertical (); 37 | 38 | Outputs [0].DisplayLayout (); 39 | 40 | GUILayout.EndVertical (); 41 | GUILayout.EndHorizontal (); 42 | 43 | } 44 | 45 | public override bool Calculate () 46 | { 47 | if (!allInputsReady ()) 48 | return false; 49 | Outputs[0].SetValue (Inputs[0].GetValue () * 5); 50 | return true; 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/ExampleNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 039d2c5c84d9bf0489aecb2b0b669362 3 | timeCreated: 1447019305 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/FlowNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using NodeEditorFramework; 6 | using NodeEditorFramework.Utilities; 7 | 8 | namespace NodeEditorFramework.Standard 9 | { 10 | [Node (true, "Example/Flow Node")] 11 | public class FlowNode : Node 12 | { 13 | public const string ID = "flowNode"; 14 | public override string GetID { get { return ID; } } 15 | 16 | public override Node Create (Vector2 pos) 17 | { 18 | FlowNode node = CreateInstance (); 19 | 20 | node.rect = new Rect (pos.x, pos.y, 200, 180); 21 | node.name = "Flow Node"; 22 | 23 | // Flow connections 24 | node.CreateInput ("Flow", "Flow", NodeSide.Left, 10); 25 | node.CreateOutput ("Flow", "Flow", NodeSide.Right, 10); 26 | 27 | // Some Connections 28 | node.CreateInput ("Value", "Float"); 29 | node.CreateOutput ("Output val", "Float"); 30 | 31 | return node; 32 | } 33 | 34 | protected internal override void NodeGUI () 35 | { 36 | // Display Connections 37 | // Start counter at 1 to ignore flow connections 38 | for (int inCnt = 1; inCnt < Inputs.Count; inCnt++) 39 | Inputs[inCnt].DisplayLayout (); 40 | for (int outCnt = 1; outCnt < Outputs.Count; outCnt++) 41 | Outputs[outCnt].DisplayLayout (); 42 | 43 | // Get adjacent flow elements 44 | Node flowSource = Inputs[0].connection != null? Inputs[0].connection.body : null; 45 | List flowTargets = Outputs[0].connections.Select ((NodeInput input) => input.body).ToList (); 46 | 47 | // Display adjacent flow elements 48 | GUILayout.Label ("Flow Source: " + (flowSource != null? flowSource.name : "null")); 49 | GUILayout.Label ("Flow Targets:"); 50 | foreach (Node flowTarget in flowTargets) 51 | { 52 | GUILayout.Label ("-> " + flowTarget.name); 53 | } 54 | } 55 | 56 | public override bool Calculate () 57 | { 58 | // The following can NOT be used anymore until I implement conenction blocking though as the flow connections never have a value 59 | // if (!allInputsReady ()) 60 | // return false; 61 | 62 | // Do your calc stuff 63 | Outputs[1].SetValue (Inputs[1].GetValue () * 5); 64 | return true; 65 | } 66 | } 67 | 68 | // Connection Type only for visual purposes 69 | public class FlowType : IConnectionTypeDeclaration 70 | { 71 | public string Identifier { get { return "Flow"; } } 72 | public Type Type { get { return typeof(void); } } 73 | public Color Color { get { return Color.red; } } 74 | public string InKnobTex { get { return "Textures/In_Knob.png"; } } 75 | public string OutKnobTex { get { return "Textures/Out_Knob.png"; } } 76 | } 77 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/Example/FlowNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de03bdfc59265fe45ac36abd01b51a31 3 | timeCreated: 1456945132 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afb1359dccf514749b371df1516202b7 3 | folderAsset: yes 4 | timeCreated: 1497727031 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/CalcNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace NodeEditorFramework.Standard 7 | { 8 | [System.Serializable] 9 | [Node (true, "Float/Calculation")] 10 | public class CalcNode : Node 11 | { 12 | public enum CalcType { Add, Substract, Multiply, Divide } 13 | public CalcType type = CalcType.Add; 14 | 15 | public const string ID = "calcNode"; 16 | public override string GetID { get { return ID; } } 17 | 18 | public float Input1Val = 1f; 19 | public float Input2Val = 1f; 20 | 21 | public override Node Create (Vector2 pos) 22 | { 23 | CalcNode node = CreateInstance (); 24 | 25 | node.name = "Calc Node"; 26 | node.rect = new Rect (pos.x, pos.y, 200, 100); 27 | 28 | node.CreateInput ("Input 1", "Float"); 29 | node.CreateInput ("Input 2", "Float"); 30 | 31 | node.CreateOutput ("Output 1", "Float"); 32 | 33 | return node; 34 | } 35 | 36 | protected internal override void NodeGUI () 37 | { 38 | GUILayout.BeginHorizontal (); 39 | GUILayout.BeginVertical (); 40 | 41 | if (Inputs [0].connection != null) 42 | GUILayout.Label (Inputs [0].name); 43 | else 44 | Input1Val = RTEditorGUI.FloatField (GUIContent.none, Input1Val); 45 | InputKnob (0); 46 | // -- 47 | if (Inputs [1].connection != null) 48 | GUILayout.Label (Inputs [1].name); 49 | else 50 | Input2Val = RTEditorGUI.FloatField (GUIContent.none, Input2Val); 51 | InputKnob (1); 52 | 53 | GUILayout.EndVertical (); 54 | GUILayout.BeginVertical (); 55 | 56 | Outputs [0].DisplayLayout (); 57 | 58 | GUILayout.EndVertical (); 59 | GUILayout.EndHorizontal (); 60 | 61 | #if UNITY_EDITOR 62 | type = (CalcType)UnityEditor.EditorGUILayout.EnumPopup (new GUIContent ("Calculation Type", "The type of calculation performed on Input 1 and Input 2"), type); 63 | #else 64 | GUILayout.Label (new GUIContent ("Calculation Type: " + type.ToString (), "The type of calculation performed on Input 1 and Input 2")); 65 | #endif 66 | 67 | if (GUI.changed) 68 | NodeEditor.RecalculateFrom (this); 69 | } 70 | 71 | public override bool Calculate () 72 | { 73 | if (Inputs[0].connection != null) 74 | Input1Val = Inputs[0].connection.GetValue (); 75 | if (Inputs[1].connection != null) 76 | Input2Val = Inputs[1].connection.GetValue (); 77 | 78 | switch (type) 79 | { 80 | case CalcType.Add: 81 | Outputs[0].SetValue (Input1Val + Input2Val); 82 | break; 83 | case CalcType.Substract: 84 | Outputs[0].SetValue (Input1Val - Input2Val); 85 | break; 86 | case CalcType.Multiply: 87 | Outputs[0].SetValue (Input1Val * Input2Val); 88 | break; 89 | case CalcType.Divide: 90 | Outputs[0].SetValue (Input1Val / Input2Val); 91 | break; 92 | } 93 | 94 | return true; 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/CalcNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27a65ad2b155f0d40838ed81292e4df7 3 | timeCreated: 1447019305 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/DisplayNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using NodeEditorFramework; 4 | 5 | namespace NodeEditorFramework.Standard 6 | { 7 | [System.Serializable] 8 | [Node (true, "Float/Display")] 9 | public class DisplayNode : Node 10 | { 11 | public const string ID = "displayNode"; 12 | public override string GetID { get { return ID; } } 13 | 14 | [HideInInspector] 15 | public bool assigned = false; 16 | public float value = 0; 17 | 18 | public override Node Create (Vector2 pos) 19 | { // This function has to be registered in Node_Editor.ContextCallback 20 | DisplayNode node = CreateInstance (); 21 | 22 | node.name = "Display Node"; 23 | node.rect = new Rect (pos.x, pos.y, 150, 50); 24 | 25 | NodeInput.Create (node, "Value", "Float"); 26 | 27 | return node; 28 | } 29 | 30 | protected internal override void NodeGUI () 31 | { 32 | Inputs [0].DisplayLayout (new GUIContent ("Value : " + (assigned? value.ToString () : ""), "The input value to display")); 33 | } 34 | 35 | public override bool Calculate () 36 | { 37 | if (!allInputsReady ()) 38 | { 39 | value = 0; 40 | assigned = false; 41 | return false; 42 | } 43 | 44 | value = Inputs[0].connection.GetValue(); 45 | assigned = true; 46 | 47 | return true; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/DisplayNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39f5df92d12f07d45a4fcfb96e1b36d8 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/InputNode.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | using NodeEditorFramework; 4 | using NodeEditorFramework.Utilities; 5 | 6 | namespace NodeEditorFramework.Standard 7 | { 8 | [System.Serializable] 9 | [Node (true, "Float/Input")] 10 | public class InputNode : Node 11 | { 12 | public const string ID = "inputNode"; 13 | public override string GetID { get { return ID; } } 14 | 15 | public float value = 1f; 16 | 17 | public override Node Create (Vector2 pos) 18 | { 19 | InputNode node = CreateInstance (); 20 | 21 | node.name = "Input Node"; 22 | node.rect = new Rect (pos.x, pos.y, 200, 50);; 23 | 24 | NodeOutput.Create (node, "Value", "Float"); 25 | 26 | return node; 27 | } 28 | 29 | protected internal override void NodeGUI () 30 | { 31 | value = RTEditorGUI.FloatField (new GUIContent ("Value", "The input value of type float"), value); 32 | OutputKnob (0); 33 | 34 | if (GUI.changed) 35 | NodeEditor.RecalculateFrom (this); 36 | } 37 | 38 | public override bool Calculate () 39 | { 40 | Outputs[0].SetValue (value); 41 | return true; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Nodes/FloatCalc/InputNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3dd50b389073b148b5ec10e419dc073 3 | timeCreated: 1437395312 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c769b86eec9c000498f1bf5f8897ea13 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/GUITextureClip_ChannelControl.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Hidden/GUITextureClip_ChannelControl" 4 | { 5 | Properties 6 | { 7 | _MainTex ("Texture", Any) = "white" {} 8 | } 9 | 10 | SubShader 11 | { 12 | 13 | Tags { "ForceSupported" = "True" } 14 | 15 | Lighting Off 16 | Blend SrcAlpha OneMinusSrcAlpha 17 | Cull Off 18 | ZWrite Off 19 | ZTest Always 20 | 21 | Pass 22 | { 23 | CGPROGRAM 24 | #pragma vertex vert 25 | #pragma fragment frag 26 | 27 | #pragma shader_feature SCALE_CHANNEL 28 | 29 | 30 | #include "UnityCG.cginc" 31 | 32 | struct appdata_t { 33 | float4 vertex : POSITION; 34 | half4 color : COLOR; 35 | float2 texcoord : TEXCOORD0; 36 | }; 37 | 38 | struct v2f { 39 | float4 vertex : SV_POSITION; 40 | half4 color : COLOR; 41 | float2 texcoord : TEXCOORD0; 42 | float2 clipUV : TEXCOORD1; 43 | }; 44 | 45 | sampler2D _MainTex; 46 | sampler2D _GUIClipTexture; 47 | 48 | uniform float4 _MainTex_ST; 49 | uniform fixed4 _Color; 50 | uniform float4x4 unity_GUIClipTextureMatrix; 51 | 52 | // Ints pointing to the channel to represent: 0-black - 1-red - 2-green - 3-blue - 4-alpha - 5-white 53 | uniform int shuffleRed = 1, shuffleGreen = 2, shuffleBlue = 3, shuffleAlpha = 4; 54 | 55 | // Scale values for the individual channels 56 | #if SCALE_CHANNEL 57 | uniform float scaleRed = 1, scaleGreen = 1, scaleBlue = 1, scaleAlpha = 1; 58 | #else 59 | uniform float scaleColor = 1; 60 | #endif 61 | 62 | v2f vert (appdata_t v) 63 | { 64 | v2f o; 65 | o.vertex = UnityObjectToClipPos(v.vertex); 66 | 67 | float4 eyePos = mul(UNITY_MATRIX_MV, v.vertex); 68 | o.clipUV = mul(unity_GUIClipTextureMatrix, eyePos); 69 | 70 | o.color = v.color; 71 | o.texcoord = TRANSFORM_TEX(v.texcoord,_MainTex); 72 | return o; 73 | } 74 | 75 | half shuffleChannel (half4 srcCol, int shuffle) 76 | { 77 | if (shuffle <= 0) 78 | return 0; 79 | if (shuffle == 1) 80 | return srcCol.r; 81 | if (shuffle == 2) 82 | return srcCol.g; 83 | if (shuffle == 3) 84 | return srcCol.b; 85 | if (shuffle == 4) 86 | return srcCol.a; 87 | return 1; 88 | } 89 | 90 | half4 frag (v2f i) : SV_Target 91 | { 92 | half4 rawCol = tex2D(_MainTex, i.texcoord); 93 | 94 | #if SCALE_CHANNEL 95 | half4 shuffledCol = half4 ( shuffleChannel (rawCol, shuffleRed) * scaleRed, 96 | shuffleChannel (rawCol, shuffleGreen) * scaleGreen, 97 | shuffleChannel (rawCol, shuffleBlue) * scaleBlue, 98 | shuffleChannel (rawCol, shuffleAlpha) * scaleAlpha); 99 | #else 100 | half4 shuffledCol = half4 ( shuffleChannel (rawCol, shuffleRed) * scaleColor, 101 | shuffleChannel (rawCol, shuffleGreen) * scaleColor, 102 | shuffleChannel (rawCol, shuffleBlue) * scaleColor, 103 | shuffleChannel (rawCol, shuffleAlpha) * scaleColor); 104 | #endif 105 | 106 | half4 col = shuffledCol * i.color; 107 | col.a *= 2.0f * tex2D(_GUIClipTexture, i.clipUV).a; 108 | return col; 109 | } 110 | ENDCG 111 | } 112 | } 113 | } -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/GUITextureClip_ChannelControl.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c7b84d88d8d3f048af468a7047ae3e2 3 | timeCreated: 1497731218 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/LineShader.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Hidden/LineShader" 4 | { 5 | SubShader 6 | { 7 | Blend SrcAlpha OneMinusSrcAlpha 8 | ZWrite Off 9 | Cull Off 10 | Fog { Mode Off } 11 | 12 | Pass 13 | { 14 | CGPROGRAM 15 | #pragma vertex vert 16 | #pragma fragment frag 17 | 18 | uniform float4 _LineColor; 19 | uniform sampler2D _LineTexture; 20 | 21 | struct v2f 22 | { 23 | float2 texcoord : TEXCOORD0; 24 | float4 vertex : POSITION; 25 | }; 26 | 27 | v2f vert (float2 texcoord : TEXCOORD0, float4 vertex : POSITION) 28 | { 29 | v2f o; 30 | o.vertex = UnityObjectToClipPos(vertex); 31 | o.texcoord = texcoord; 32 | return o; 33 | } 34 | 35 | float4 frag (v2f i) : COLOR 36 | { 37 | return _LineColor * tex2D (_LineTexture, i.texcoord); 38 | } 39 | ENDCG 40 | } 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/LineShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15f309b3a64278346a2822307f58c3d6 3 | timeCreated: 1497727036 4 | licenseType: Pro 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25baae6fa834f15488b65a50dbbb36a5 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Calculation Canvas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Calculation Canvas.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Calculation Canvas.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 60480b2d075467a42b5d9e035f6d2a8f 3 | timeCreated: 1471902650 4 | licenseType: Free 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Test Canvas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Test Canvas.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Saves/Test Canvas.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f0061e8a14d5fb48b82b0d1a08c2c5a 3 | timeCreated: 1522431691 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 11400000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd3259d9407c60b46a96f2d7d3371d69 3 | folderAsset: yes 4 | timeCreated: 1497727031 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/AALine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/AALine.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/AALine.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef3fefb6407298c42bbcbc73ad562830 3 | timeCreated: 1437572302 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 2048 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 0 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 3, z: 0, w: 3} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Dark.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Dark.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7e0ecbca30f9b347bb68f235cd9cae4 3 | timeCreated: 1450128686 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Light.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Icon_Light.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8bfe9901a943bc04ebeae2ba7f8f409e 3 | timeCreated: 1450128686 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/In_Knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/In_Knob.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/In_Knob.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abb6137f2f8441f4caa48872db0b26e0 3 | timeCreated: 1437259204 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Knobs.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Knobs.xcf -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Knobs.xcf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff7f91b939ae6d94db540d2ee38349fe 3 | timeCreated: 1450128681 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Box.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Box.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3362057e6db2cea428eb8de4a4800db0 3 | timeCreated: 1453313403 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: 7 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 0 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 2 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 3, y: 3, z: 3, w: 3} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 5 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Button.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_Button.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acc3252d2ced34346a4fb935f95286e3 3 | timeCreated: 1441568627 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 2 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 1 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 4, y: 7, z: 4, w: 4} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 5 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_GUI.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_GUI.xcf -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/NE_GUI.xcf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52c97a505457a9c4a9090a94d1701247 3 | timeCreated: 1450128681 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Out_Knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Out_Knob.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/Out_Knob.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d39755f0456c1284d8330cdf12c03faf 3 | timeCreated: 1437259204 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -3 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: 1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/background.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/background.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ab1df7fc134e8b4c86823e805911657 3 | timeCreated: 1437259204 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 1 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 512 31 | textureSettings: 32 | filterMode: 2 33 | aniso: 0 34 | mipBias: -1 35 | wrapMode: 0 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 5 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/expandRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/expandRight.png -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Resources/Textures/expandRight.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b09b3b201c310aa48aacdc1446dfc4bb 3 | timeCreated: 1441487997 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 2 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 0 11 | linearTexture: 1 12 | correctGamma: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 0 25 | cubemapConvolution: 0 26 | cubemapConvolutionSteps: 8 27 | cubemapConvolutionExponent: 1.5 28 | seamlessCubemap: 0 29 | textureFormat: -2 30 | maxTextureSize: 32 31 | textureSettings: 32 | filterMode: -1 33 | aniso: 1 34 | mipBias: -1 35 | wrapMode: 1 36 | nPOTScale: 0 37 | lightmap: 0 38 | rGBM: 0 39 | compressionQuality: 50 40 | allowsAlphaSplitting: 0 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 47 | spritePixelsToUnits: 100 48 | alphaIsTransparency: 1 49 | textureType: 2 50 | buildTargetSettings: [] 51 | spriteSheet: 52 | sprites: [] 53 | outline: [] 54 | spritePackingTag: 55 | userData: 56 | assetBundleName: 57 | assetBundleVariant: 58 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19fb17e4d1000764095574788670568a 3 | folderAsset: yes 4 | timeCreated: 1497727030 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/EditorLoadingControl.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEngine; 4 | using UnityEditor; 5 | #if UNITY_5_3_OR_NEWER || UNITY_5_3 6 | using UnityEngine.SceneManagement; 7 | using UnityEditor.SceneManagement; 8 | #endif 9 | using System; 10 | 11 | namespace NodeEditorFramework.Utilities 12 | { 13 | [InitializeOnLoad] 14 | public static class EditorLoadingControl 15 | { 16 | #if UNITY_5_3_OR_NEWER || UNITY_5_3 17 | private static Scene loadedScene; 18 | #else 19 | private static string loadedScene; 20 | #endif 21 | 22 | private static bool serializationTest = false; 23 | private static bool playmodeSwitchToEdit = false; 24 | private static bool toggleLateEnteredPlaymode = false; 25 | 26 | public static Action beforeEnteringPlayMode; 27 | public static Action justEnteredPlayMode; 28 | public static Action lateEnteredPlayMode; 29 | public static Action beforeLeavingPlayMode; 30 | public static Action justLeftPlayMode; 31 | public static Action justOpenedNewScene; 32 | 33 | static EditorLoadingControl () 34 | { 35 | EditorApplication.playmodeStateChanged -= PlaymodeStateChanged; 36 | EditorApplication.playmodeStateChanged += PlaymodeStateChanged; 37 | EditorApplication.update -= Update; 38 | EditorApplication.update += Update; 39 | EditorApplication.hierarchyWindowChanged -= OnHierarchyChange; 40 | EditorApplication.hierarchyWindowChanged += OnHierarchyChange; 41 | } 42 | 43 | private static void OnHierarchyChange () 44 | { // TODO: OnGUI might be called before this function and migth cause problems. Find a better way to detect scene change! 45 | #if UNITY_5_3_OR_NEWER || UNITY_5_3 46 | Scene currentScene = EditorSceneManager.GetActiveScene (); 47 | #else 48 | string currentScene = Application.loadedLevelName; 49 | #endif 50 | if (loadedScene != currentScene) 51 | { 52 | if (justOpenedNewScene != null) 53 | justOpenedNewScene.Invoke (); 54 | loadedScene = currentScene; 55 | } 56 | } 57 | 58 | // Handles just after switch (non-serialized values lost) 59 | private static void Update () 60 | { 61 | if (toggleLateEnteredPlaymode) 62 | { 63 | toggleLateEnteredPlaymode = false; 64 | if (lateEnteredPlayMode != null) 65 | lateEnteredPlayMode.Invoke (); 66 | } 67 | serializationTest = true; 68 | } 69 | 70 | private static void PlaymodeStateChanged () 71 | { 72 | //Debug.Log ("Playmode State Change! isPlaying: " + Application.isPlaying + "; Serialized: " + serializationTest); 73 | if (!Application.isPlaying) 74 | { // Edit Mode 75 | if (playmodeSwitchToEdit) 76 | { // After Playmode 77 | //Debug.Log ("LOAD PLAY MODE Values in Edit Mode!!"); 78 | if (justLeftPlayMode != null) 79 | justLeftPlayMode.Invoke (); 80 | playmodeSwitchToEdit = false; 81 | } 82 | else 83 | { // Before Playmode 84 | //Debug.Log ("SAVE EDIT MODE Values before Play Mode!!"); 85 | if (beforeEnteringPlayMode != null) 86 | beforeEnteringPlayMode.Invoke (); 87 | } 88 | } 89 | else 90 | { // Play Mode 91 | if (serializationTest) 92 | { // Before Leaving Playmode 93 | //Debug.Log ("SAVE PLAY MODE Values before Edit Mode!!"); 94 | if (beforeLeavingPlayMode != null) 95 | beforeLeavingPlayMode.Invoke (); 96 | playmodeSwitchToEdit = true; 97 | } 98 | else 99 | { // After Entering Playmode 100 | //Debug.Log ("LOAD EDIT MODE Values in Play Mode!!"); 101 | if (justEnteredPlayMode != null) 102 | justEnteredPlayMode.Invoke (); 103 | toggleLateEnteredPlaymode = true; 104 | } 105 | 106 | } 107 | } 108 | } 109 | } 110 | #endif -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/EditorLoadingControl.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 858254eb7d86a924d806613e837aac53 3 | timeCreated: 1497727032 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/GUI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a497fdac618337944a8826800498c7a3 3 | folderAsset: yes 4 | timeCreated: 1497727031 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/GUI/GUIScaleUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 456d4bf51e39b924287c97fb24ffd7a7 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/GUI/OverlayGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a6088194b2104e4284acc61d4d2ae47 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/GUI/RTEditorGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5e79c451995fbc40923fa527d07d1e0 3 | timeCreated: 1497727032 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/ResourceManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 296809de34e91db4687cf6821246fa61 3 | timeCreated: 1497727031 4 | licenseType: Pro 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/Node_Editor/Utilities/link.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 94feab91151ba9648ba2a69a15fca35b 3 | timeCreated: 1497727036 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/README.md: -------------------------------------------------------------------------------- 1 | # Node Editor Framework for Unity 2 | 3 | #### A flexible and modular Node Editor Framework for creating node based displays and editors 4 | 5 |
6 | 7 |

8 | Node Editor Image 9 |

10 | 11 | WebGL Demo - 12 | Forum Thread - 13 | Documentation 14 | 15 |

16 | 17 | ### Major Features 18 | - Convenient editor with zooming and panning capabilities 19 | - Advanced modular traversal system used to calculate, update or traverse the canvas in any other way 20 | - Custom drag'n'drop node connection system 21 | - Dynamic extension of Controls, Nodes, Connections, NodeCanvases and their behaviour without touching framework code 22 | - Extensive control over Node/Knob/Connection appearance and generally modifiable GUI skin 23 | - Save/Load node canvas to asset or scene with auto-save functionality 24 | - Growing runtime support, both for traversing and even editing the canvas in-game 25 | - Documentation and active support:) 26 | - Many great examples found in the repo branches 27 | 28 | ### Examples 29 | There are several great examples depending on how you are planning to use the framework. You can find them as a subbranch of this repo in Examples/... and need to be copied into a project already containing the Node Editor Framework (most use the develop branch!): 30 | 31 | 1. The [Texture Composer](https://github.com/Seneral/Node_Editor/tree/Examples/Texture_Composer), as seen in the title screen, is a very simple setup of a few texture nodes built upon the default calculation canvas in the framework. Start here to get a basic idea on how to create simple extensions of the framework with custom functionality. 32 | 2. A great, but complex example is the [Dialogue System](https://github.com/Seneral/Node_Editor/tree/Examples/Dialogue-System), developed and maintained by [ChicK00o](https://github.com/ChicK00o) and [atrblizzard](https://github.com/atrblizzard). Making excellent use of the framework's modularity to extend the frameworks capability and behaviour to get a basic dialogue system, including the editing and runtime execution (with an example scene), up and running. Check it out if you want to get an idea of a bigger setup expanding on the Node Editor Framework with custom rules. 33 | 3. Another set of nodes is the 'Expression Node' example. These are a bit different as they use reflection to inject any type of variable into the framework, to convert or execute code on. It's main purpose is to show complex modifications of the Node Knobs and general extended use of the framework. 34 | 4. A small example of extending the editor controls can be seen in the included [Node Group](https://github.com/Seneral/Node_Editor/blob/develop/Node_Editor/Framework/Core/NodeGroup.cs). It contains custom controls to handle without modifying any framework code. 35 | 36 | 37 | Tip: 38 | Get the latest development version with the best features in the [develop](https://github.com/Seneral/Node_Editor/tree/develop) branch! 39 | 40 | ### Documentation and Support 41 | The documentation can be found in the 'Docs' folder as raw markdown files to use with mkdocs and the compiled html version is online [here](http://seneral.github.io/Node_Editor/). Please post on the [project thread](http://forum.unity3d.com/threads/simple-node-editor.189230/#post-2134738) or contact [Seneral](http://forum.unity3d.com/members/seneral.638015/) for any type of question regarding the framework, examples or documentation. 42 | 43 | ### Contributing 44 | If you want to contribute to this framework or have improved this framework internally to suit your needs better, please consider creating a Pull Request with your changes when they could help the framework become better. The [issues section](https://github.com/Seneral/Node_Editor/issues) serves as a feature discussion forum and I encourage you to check it out to get an idea of the future plans for the framework. You can also PM the main developer [Seneral](http://forum.unity3d.com/members/seneral.638015/) directly if you wish so. 45 | 46 | ### Credits 47 | The project was started as a part of the thread ["Simple Node Editor"](http://forum.unity3d.com/threads/simple-node-editor.189230/#post-2134738) in may 2015 by [Seneral](http://forum.unity3d.com/members/seneral.638015/). Big thanks to [Baste Nesse Buanes](http://forum.unity3d.com/members/baste.185905/) who helped to set up this repository initially, without his help the framework could not have expanded to the point where it is now! Also, thanks to [Vexe](http://forum.unity3d.com/members/vexe.280515/), who has greatly helped with the reflection related stuff which is used for the zooming functionality of the editor. And of course thanks to everyone contributing or simply motivating the developers by sharing their work with the Node Editor Framework! You can find the full list of contributors [here](https://github.com/Seneral/Node_Editor/graphs/contributors). 48 | 49 | ### Licensing 50 | The license used is the MIT License - see license.md 51 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3cdcc380bdfa574e9e7c43feed7b7f1 3 | timeCreated: 1497727030 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/license.md: -------------------------------------------------------------------------------- 1 | # Software license 2 | 3 | The MIT License (MIT) 4 | 5 | Copyright (c) 2015 Baste Nesse Buanes 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Plugins/Node_Editor/license.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7f94210432bcd143bcec22625631a62 3 | timeCreated: 1497727030 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dad9472d509e40c4180933b9f1928184 3 | folderAsset: yes 4 | timeCreated: 1497751691 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Scenes/test.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/Scenes/test.unity -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/Scenes/test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 528c4a763e7eb6f43b8d2abc1075f6af 3 | timeCreated: 1497751740 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/UIMaterial.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/Assets/UIMaterial.mat -------------------------------------------------------------------------------- /NoiseNodeEditor/Assets/UIMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2874602982059cc4e88e98fd051c429e 3 | timeCreated: 1507767597 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | mainObjectFileID: 2100000 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/ClusterInputManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/NavMeshAreas.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.6.4p1 2 | -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /NoiseNodeEditor/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jswigart/unity_noise_editor/dce64da4855890d006562c33675c8c1849ef64c1/NoiseNodeEditor/ProjectSettings/UnityConnectSettings.asset -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Unity Noise Node Editor 2 | 3 | This project ties the node editor library with libnoise and creates node wrappers around each module of the libnoise project so that you can link them together in a visual sequence to generate complex noise calculations. 4 | 5 | Based on node editor 6 | https://github.com/unagiHuman/Node_Editor 7 | 8 | And LibNoise.Unity 9 | https://github.com/ricardojmendez/LibNoise.Unity 10 | 11 |

12 | Node Editor Image 13 |

14 | --------------------------------------------------------------------------------