Added Documentation Links
This commit is contained in:
parent
0b7696fc79
commit
679f93c04d
@ -1,17 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using System.Collections;
|
|
||||||
|
|
||||||
public class NewMonoBehaviour : MonoBehaviour
|
|
||||||
{
|
|
||||||
// Use this for initialization
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: 78c0de359ceae406cb2985637a2e6c97
|
|
@ -10,18 +10,21 @@ namespace ImageProcessingGraph.Editor.Nodes.NodeAttributes
|
|||||||
private string menuItem;
|
private string menuItem;
|
||||||
private string ussPath;
|
private string ussPath;
|
||||||
private Type editorType;
|
private Type editorType;
|
||||||
|
private string docuementationURL;
|
||||||
|
|
||||||
public string Title => name;
|
public string Title => name;
|
||||||
public string MenuItem => menuItem;
|
public string MenuItem => menuItem;
|
||||||
public string UssPath => ussPath;
|
public string UssPath => ussPath;
|
||||||
public Type EditorType => editorType;
|
public Type EditorType => editorType;
|
||||||
|
public string DocumentationationURL => docuementationURL;
|
||||||
|
|
||||||
public NodeInfoAttribute(string name, string menuItem = "", bool requiresImage = false, string ussPath = null, Type editorType = null)
|
public NodeInfoAttribute(string name, string menuItem = "", bool requiresImage = false, string ussPath = null, Type editorType = null, string docuementationURL = null)
|
||||||
{
|
{
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.menuItem = menuItem;
|
this.menuItem = menuItem;
|
||||||
this.ussPath = ussPath;
|
this.ussPath = ussPath;
|
||||||
this.editorType = editorType;
|
this.editorType = editorType;
|
||||||
|
this.docuementationURL = docuementationURL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
using ImageProcessingGraph.Editor.Nodes.NodeAttributes;
|
|
||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.String_Nodes
|
|
||||||
{
|
|
||||||
[NodeInfo("String Append", "String/Append")]
|
|
||||||
public class StringAppend : BaseImageNode
|
|
||||||
{
|
|
||||||
[NodeAttributes.Input("String A")] public string baseString;
|
|
||||||
[NodeAttributes.Input("String B")] public string appendString;
|
|
||||||
|
|
||||||
[NodeAttributes.Output("Appended String")] public string output;
|
|
||||||
|
|
||||||
public override void Process()
|
|
||||||
{
|
|
||||||
this.output = baseString + appendString;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
69
Editor/Scripts/Editor/Nodes/String Nodes/StringNodes.cs
Normal file
69
Editor/Scripts/Editor/Nodes/String Nodes/StringNodes.cs
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
using ImageProcessingGraph.Editor.Nodes.NodeAttributes;
|
||||||
|
|
||||||
|
|
||||||
|
namespace ImageProcessingGraph.Editor.Nodes.String_Nodes
|
||||||
|
{
|
||||||
|
[NodeInfo("String Append", "String/Append", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes/String/Append")]
|
||||||
|
public class StringAppend : BaseImageNode
|
||||||
|
{
|
||||||
|
[NodeAttributes.Input("String A")] public string baseString;
|
||||||
|
[NodeAttributes.Input("String B")] public string appendString;
|
||||||
|
|
||||||
|
[NodeAttributes.Output("Appended String")] public string output;
|
||||||
|
|
||||||
|
public override void Process()
|
||||||
|
{
|
||||||
|
this.output = baseString + appendString;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[NodeInfo("String Replace", "String/Replace", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes/String/Replace")]
|
||||||
|
public class StringReplace : BaseImageNode
|
||||||
|
{
|
||||||
|
[NodeAttributes.Input("Original String")] public string original;
|
||||||
|
[NodeAttributes.Input("Old Value")] public string oldValue;
|
||||||
|
[NodeAttributes.Input("New Value")] public string newValue;
|
||||||
|
|
||||||
|
[NodeAttributes.Output("Replaced String")] public string output;
|
||||||
|
|
||||||
|
public override void Process()
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(original) && oldValue != null)
|
||||||
|
output = original.Replace(oldValue, newValue);
|
||||||
|
else
|
||||||
|
output = original;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[NodeInfo("String Split", "String/Split", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes/String/Split")]
|
||||||
|
public class StringSplit : BaseImageNode
|
||||||
|
{
|
||||||
|
[Input("Source String")] public string source;
|
||||||
|
[Input("Delimiter")] public string delimiter;
|
||||||
|
|
||||||
|
[NodeAttributes.Output("Before Delimiter")] public string before;
|
||||||
|
[NodeAttributes.Output("After Delimiter")] public string after;
|
||||||
|
|
||||||
|
public override void Process()
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(source) || string.IsNullOrEmpty(delimiter))
|
||||||
|
{
|
||||||
|
before = source;
|
||||||
|
after = string.Empty;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int index = source.IndexOf(delimiter);
|
||||||
|
if (index >= 0)
|
||||||
|
{
|
||||||
|
before = source.Substring(0, index);
|
||||||
|
after = source.Substring(index + delimiter.Length);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
before = source;
|
||||||
|
after = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("Invert Channel", "Adjustments/InvertChannel", true)]
|
[NodeInfoAttribute("Invert Channel", "Adjustments/InvertChannel", true, docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FInvertChannel")]
|
||||||
public class ChannelInvertNode : BaseImageNode
|
public class ChannelInvertNode : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("Input Channel")]
|
[NodeAttributes.Input("Input Channel")]
|
||||||
|
@ -8,14 +8,14 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("Desaturate", "Adjustments/Desaturate", true)]
|
[NodeInfoAttribute("Desaturate", "Adjustments/Desaturate", true, docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FDesaturate")]
|
||||||
public class Texture2DDesaturate : BaseImageNode
|
public class Texture2DDesaturate : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")]
|
[NodeAttributes.Input("")]
|
||||||
public ImageData inputTexture; // Changed to ImageData
|
public ImageData inputTexture;
|
||||||
|
|
||||||
[NodeAttributes.Output("")]
|
[NodeAttributes.Output("")]
|
||||||
public ImageData outputTexture; // Changed to ImageData
|
public ImageData outputTexture;
|
||||||
|
|
||||||
public override void Process()
|
public override void Process()
|
||||||
{
|
{
|
||||||
|
@ -6,21 +6,19 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("Invert", "Adjustments/Invert", true)]
|
[NodeInfoAttribute("Invert", "Adjustments/Invert", true, docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FInvert")]
|
||||||
public class Texture2DInvert : BaseImageNode
|
public class Texture2DInvert : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")]
|
[NodeAttributes.Input("")]
|
||||||
public ImageData inputTexture; // Changed to ImageData
|
public ImageData inputTexture;
|
||||||
|
|
||||||
[NodeAttributes.Output("")]
|
[NodeAttributes.Output("")]
|
||||||
public ImageData outputTexture; // Changed to ImageData
|
public ImageData outputTexture;
|
||||||
|
|
||||||
public override void Process()
|
public override void Process()
|
||||||
{
|
{
|
||||||
// Create an empty NativeArray for the output
|
|
||||||
NativeArray<Color32> output = new NativeArray<Color32>(inputTexture.PixelData.Length, Allocator.Persistent);
|
NativeArray<Color32> output = new NativeArray<Color32>(inputTexture.PixelData.Length, Allocator.Persistent);
|
||||||
|
|
||||||
// Create and run the InvertJob
|
|
||||||
InvertJob job = new InvertJob
|
InvertJob job = new InvertJob
|
||||||
{
|
{
|
||||||
pixels = inputTexture.PixelData,
|
pixels = inputTexture.PixelData,
|
||||||
@ -29,7 +27,6 @@ namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
|||||||
|
|
||||||
job.Run();
|
job.Run();
|
||||||
|
|
||||||
// Store the result in the outputImage as an ImageData instance
|
|
||||||
outputTexture = new ImageData(output, (inputTexture.Width, inputTexture.Height), inputTexture.isRGBA);
|
outputTexture = new ImageData(output, (inputTexture.Width, inputTexture.Height), inputTexture.isRGBA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -37,14 +34,13 @@ namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
|||||||
[BurstCompile]
|
[BurstCompile]
|
||||||
public struct InvertJob : IJob
|
public struct InvertJob : IJob
|
||||||
{
|
{
|
||||||
[ReadOnly] public NativeArray<Color32> pixels; // Input pixels
|
[ReadOnly] public NativeArray<Color32> pixels;
|
||||||
[WriteOnly] public NativeArray<Color32> outputPixels; // Output pixels
|
[WriteOnly] public NativeArray<Color32> outputPixels;
|
||||||
|
|
||||||
public void Execute()
|
public void Execute()
|
||||||
{
|
{
|
||||||
int length = pixels.Length;
|
int length = pixels.Length;
|
||||||
|
|
||||||
// Invert each pixel color
|
|
||||||
for (int i = 0; i < length; i++)
|
for (int i = 0; i < length; i++)
|
||||||
{
|
{
|
||||||
Color32 pixel = pixels[i];
|
Color32 pixel = pixels[i];
|
||||||
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfo("RGBA Combine", "Channels/RGBA Combine", true)]
|
[NodeInfo("RGBA Combine", "Channels/RGBA Combine", true, docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FRGBACombine")]
|
||||||
public class RGBASCombine : BaseImageNode
|
public class RGBASCombine : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("R")]
|
[NodeAttributes.Input("R")]
|
||||||
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("RGBA Split", "Channels/RGBA Split", true)]
|
[NodeInfoAttribute("RGBA Split", "Channels/RGBA Split", true, docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FRGBASplit")]
|
||||||
public class RGBASplit : BaseImageNode
|
public class RGBASplit : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")]
|
[NodeAttributes.Input("")]
|
||||||
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
namespace ImageProcessingGraph.Editor.Nodes.Fun_Nodes.Texture
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("Get Dimensions", "Dimensions/Get Dimensions", false)]
|
[NodeInfoAttribute("Get Dimensions", "Dimensions/Get Dimensions", false, docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FGetDimensions")]
|
||||||
public class TextureGetDimensions : BaseImageNode
|
public class TextureGetDimensions : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")]
|
[NodeAttributes.Input("")]
|
||||||
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Output
|
namespace ImageProcessingGraph.Editor.Nodes.Output
|
||||||
{
|
{
|
||||||
[NodeInfo("Texture Export", "Export/Texture Export", true)]
|
[NodeInfo("Texture Export", "Export/Texture Export", true,docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FTexture2DOutput")]
|
||||||
public class Texture2DOutput : BaseImageNode
|
public class Texture2DOutput : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")] public ImageData inputPixels;
|
[NodeAttributes.Input("")] public ImageData inputPixels;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Security.Policy;
|
||||||
using ImageProcessingGraph.Editor.Nodes.NodeAttributes;
|
using ImageProcessingGraph.Editor.Nodes.NodeAttributes;
|
||||||
using UnityEditor;
|
using UnityEditor;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -31,12 +32,12 @@ namespace ImageProcessingGraph.Editor.Nodes.Types.Image.From_Path_Nodes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[NodeInfo("Load Texture2D From path", "Load From Path/Texture2D")]
|
[NodeInfo("Load Texture2D From path", "Load From Path/Texture2D", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImages%2FFromPathNode")]
|
||||||
public class Texture2DFromPath : FromPathNode<Texture2D> { }
|
public class Texture2DFromPath : FromPathNode<Texture2D> { }
|
||||||
|
|
||||||
[NodeInfo("Load Mesh From path", "Load From Path/Mesh")]
|
[NodeInfo("Load Mesh From path", "Load From Path/Mesh", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImages%2FFromPathNode")]
|
||||||
public class MeshFromPath : FromPathNode<Mesh> { }
|
public class MeshFromPath : FromPathNode<Mesh> { }
|
||||||
|
|
||||||
[NodeInfo("Load Prefab From path", "Load From Path/Prefab")]
|
[NodeInfo("Load Prefab From path", "Load From Path/Prefab", docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImages%2FFromPathNode")]
|
||||||
public class PrefabFromPath : FromPathNode<GameObject> { }
|
public class PrefabFromPath : FromPathNode<GameObject> { }
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ using UnityEngine;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Import_Nodes
|
namespace ImageProcessingGraph.Editor.Nodes.Import_Nodes
|
||||||
{
|
{
|
||||||
[NodeInfo("Texture Import", "Imports/Import Texture")]
|
[NodeInfo("Texture Import", "Imports/Import Texture", docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FTexture2DImport")]
|
||||||
public class Texture2DImport : BaseImageNode
|
public class Texture2DImport : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("")]
|
[NodeAttributes.Input("")]
|
||||||
|
@ -8,7 +8,7 @@ namespace ImageProcessingGraph.Editor.Nodes.Types.Image.Utilities
|
|||||||
{
|
{
|
||||||
public class SingleChannelColor
|
public class SingleChannelColor
|
||||||
{
|
{
|
||||||
[NodeInfoAttribute("Channel Color", "Utility/Channel Color", false)]
|
[NodeInfoAttribute("Channel Color", "Utility/Channel Color", false, docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImages%2FSingleChannelColor")]
|
||||||
public class SingleColorChannel : BaseImageNode
|
public class SingleColorChannel : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("Color")] public GreyscaleValue range;
|
[NodeAttributes.Input("Color")] public GreyscaleValue range;
|
||||||
|
@ -6,7 +6,7 @@ using Unity.Burst;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Types.Image.Utilities.ViewNode
|
namespace ImageProcessingGraph.Editor.Nodes.Types.Image.Utilities.ViewNode
|
||||||
{
|
{
|
||||||
[NodeInfo("View Texture", "Utility/View Texture", false, null , editorType: typeof(ViewTextureNodeEditor))]
|
[NodeInfo("View Texture", "Utility/View Texture", false, null , editorType: typeof(ViewTextureNodeEditor), docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FViewImageNode")]
|
||||||
public partial class ViewTextureNode : BaseImageNode
|
public partial class ViewTextureNode : BaseImageNode
|
||||||
{
|
{
|
||||||
[NodeAttributes.Input("Texture")] public Texture2D texture;
|
[NodeAttributes.Input("Texture")] public Texture2D texture;
|
||||||
|
@ -28,12 +28,12 @@ namespace ImageProcessingGraph.Editor.Nodes.Types.Image.Variable_Node
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[NodeInfo("Texture2D Variable", "Variable/Texture2D")]
|
[NodeInfo("Texture2D Variable", "Variable/Texture2D", docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FVariableNode")]
|
||||||
public class Texture2DVariableNode : VariableNode<Texture2D> { }
|
public class Texture2DVariableNode : VariableNode<Texture2D> { }
|
||||||
|
|
||||||
[NodeInfo("Mesh Variable", "Variable/Mesh")]
|
[NodeInfo("Mesh Variable", "Variable/Mesh", docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FVariableNode")]
|
||||||
public class MeshVariableNode : VariableNode<Mesh> { }
|
public class MeshVariableNode : VariableNode<Mesh> { }
|
||||||
|
|
||||||
[NodeInfo("Prefab Variable", "Variable/Prefab")]
|
[NodeInfo("Prefab Variable", "Variable/Prefab", docuementationURL:"https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FImage%2FVariableNode")]
|
||||||
public class PrefabVariableNode : VariableNode<GameObject> { }
|
public class PrefabVariableNode : VariableNode<GameObject> { }
|
||||||
}
|
}
|
@ -6,7 +6,7 @@ using UnityEngine.UIElements;
|
|||||||
|
|
||||||
namespace ImageProcessingGraph.Editor.Nodes.Types.Utils.Connector
|
namespace ImageProcessingGraph.Editor.Nodes.Types.Utils.Connector
|
||||||
{
|
{
|
||||||
[NodeInfo("", "Utility/Connection", false, null , editorType: typeof(GenericConnectionEditor))]
|
[NodeInfo("", "Utility/Connection", false, null , editorType: typeof(GenericConnectionEditor), docuementationURL: "https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Nodes%2FUtils%2FGenericConnection")]
|
||||||
public class GenericConnection : BaseImageNode
|
public class GenericConnection : BaseImageNode
|
||||||
{
|
{
|
||||||
private System.Type internalType;
|
private System.Type internalType;
|
||||||
|
8
Editor/Scripts/Editor/Windows/Getting Started.meta
Normal file
8
Editor/Scripts/Editor/Windows/Getting Started.meta
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 701fddc3e03215a47a5e29169f936f05
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,150 @@
|
|||||||
|
using UnityEditor;
|
||||||
|
using UnityEditor.PackageManager.UI;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
|
public class GettingStartedWindow : EditorWindow
|
||||||
|
{
|
||||||
|
private static Vector2 WindowSize = new Vector2(400, 600);
|
||||||
|
|
||||||
|
|
||||||
|
[MenuItem("Image Graph/Getting Started")]
|
||||||
|
public static void ShowExample()
|
||||||
|
{
|
||||||
|
GettingStartedWindow wnd = GetWindow<GettingStartedWindow>();
|
||||||
|
wnd.titleContent = new GUIContent("Getting Started Window");
|
||||||
|
wnd.minSize = WindowSize;
|
||||||
|
wnd.maxSize = WindowSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void CreateGUI()
|
||||||
|
{
|
||||||
|
Foldout foldoutCreateGraph = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutCreateGraph.name = "CreateGraph";
|
||||||
|
foldoutCreateGraph.text = "Creating a Graph";
|
||||||
|
AddBulletLabel(foldoutCreateGraph, "CreateGraphLabel", "Right click in project view");
|
||||||
|
AddBulletLabel(foldoutCreateGraph, "PathLabel", "Create->Image Processing Graph->New Graph");
|
||||||
|
AddBulletLabel(foldoutCreateGraph, "NameAsset", "Name Asset as Desired");
|
||||||
|
}
|
||||||
|
foldoutCreateGraph.value = false;
|
||||||
|
rootVisualElement.Add(foldoutCreateGraph);
|
||||||
|
|
||||||
|
Foldout foldoutOpenGraph = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutOpenGraph.name = "OpenGraph";
|
||||||
|
foldoutOpenGraph.text = "Opening a Graph";
|
||||||
|
AddBulletLabel(foldoutOpenGraph, "DoubleClick", "Double click newly created asset or pre-existing asset");
|
||||||
|
AddBulletLabel(foldoutOpenGraph, "Inspector", "With a graph asset selected click the \"Open\" button");
|
||||||
|
}
|
||||||
|
foldoutOpenGraph.value = false;
|
||||||
|
rootVisualElement.Add(foldoutOpenGraph);
|
||||||
|
|
||||||
|
Foldout foldoutUsingTheGraph = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutUsingTheGraph.name = "Using the Graph";
|
||||||
|
foldoutUsingTheGraph.text = "Using the Graph";
|
||||||
|
|
||||||
|
Foldout foldoutCreatingNodes = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutCreatingNodes.name = "Creating Nodes";
|
||||||
|
foldoutCreatingNodes.text = "Creating Nodes";
|
||||||
|
|
||||||
|
AddBulletLabel(foldoutCreatingNodes, "HowToOpenSearch", "To open the node creation window press the \"Space\" button or Right Click -> Create Node");
|
||||||
|
AddBulletLabel(foldoutCreatingNodes, "Search Window", "With the Search window now open find the node you wish to create and press the \"Enter\" key; Or double left click");
|
||||||
|
AddBulletLabel(foldoutCreatingNodes, "Arrow Keys", "The search window can also be controlled with the arrow keys!");
|
||||||
|
}
|
||||||
|
foldoutCreatingNodes.value = false;
|
||||||
|
foldoutUsingTheGraph.Add(foldoutCreatingNodes);
|
||||||
|
|
||||||
|
Foldout foldoutDeletingNodes = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutDeletingNodes.name = "Deleting Nodes";
|
||||||
|
foldoutDeletingNodes.text = "Deleting Nodes";
|
||||||
|
|
||||||
|
AddBulletLabel(foldoutDeletingNodes, "Deleting Nodes", "To delete a node, you can click the \"Delete\" Key or Right Click -> Delete Node");
|
||||||
|
}
|
||||||
|
foldoutDeletingNodes.value = false;
|
||||||
|
foldoutUsingTheGraph.Add(foldoutDeletingNodes);
|
||||||
|
|
||||||
|
Foldout foldoutConnectingNodes = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutConnectingNodes.name = "Connecting Nodes";
|
||||||
|
foldoutConnectingNodes.text = "Connecting Nodes";
|
||||||
|
|
||||||
|
AddBulletLabel(foldoutConnectingNodes, "ConnectingNodes", "To connect two nodes you click and drag from one port to the other (Ports must be of same type)");
|
||||||
|
AddBulletLabel(foldoutConnectingNodes, "ConnectingNodesTooltip", "Hovering over a port will show its type", 1);
|
||||||
|
AddBulletLabel(foldoutConnectingNodes, "DroppingConnection", "Dropping a connection in empty space will open a contextual search window");
|
||||||
|
AddBulletLabel(foldoutConnectingNodes, "DroppingConnection1", "This window will only show nodes that are able to input/output to the port you dragged from.", 1);
|
||||||
|
}
|
||||||
|
foldoutConnectingNodes.value = false;
|
||||||
|
foldoutUsingTheGraph.Add(foldoutConnectingNodes);
|
||||||
|
|
||||||
|
Foldout foldoutDeletingConnections = new Foldout();
|
||||||
|
{
|
||||||
|
foldoutDeletingNodes.name = "Deleting Nodes";
|
||||||
|
foldoutDeletingNodes.text = "Deleting Nodes";
|
||||||
|
|
||||||
|
AddBulletLabel(foldoutDeletingNodes, "Deleting Nodes", "To delete a node, you can click the \"Delete\" Key or Right Click -> Delete Node");
|
||||||
|
}
|
||||||
|
foldoutDeletingNodes.value = false;
|
||||||
|
foldoutUsingTheGraph.Add(foldoutDeletingNodes);
|
||||||
|
}
|
||||||
|
foldoutUsingTheGraph.value = false;
|
||||||
|
rootVisualElement.Add(foldoutUsingTheGraph);
|
||||||
|
|
||||||
|
Label bottomLabel = new Label("For more details, check the Quick Start Guide:");
|
||||||
|
bottomLabel.style.marginTop = 20;
|
||||||
|
bottomLabel.style.unityFontStyleAndWeight = FontStyle.Bold;
|
||||||
|
rootVisualElement.Add(bottomLabel);
|
||||||
|
|
||||||
|
Label hyperlink = new Label("Quick Start Guide")
|
||||||
|
{
|
||||||
|
style =
|
||||||
|
{
|
||||||
|
color = Color.blue,
|
||||||
|
unityFontStyleAndWeight = FontStyle.Italic
|
||||||
|
}
|
||||||
|
};
|
||||||
|
hyperlink.RegisterCallback<ClickEvent>(ev => OpenQuickStartLink());
|
||||||
|
rootVisualElement.Add(hyperlink);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AddBulletLabel(VisualElement container, string labelName, string labelText, int indentCount = 0)
|
||||||
|
{
|
||||||
|
var row = new VisualElement();
|
||||||
|
row.style.flexDirection = FlexDirection.Row;
|
||||||
|
row.style.marginBottom = 2;
|
||||||
|
row.style.marginLeft = indentCount * 16;
|
||||||
|
|
||||||
|
var bullet = new Label("•")
|
||||||
|
{
|
||||||
|
style =
|
||||||
|
{
|
||||||
|
width = 12,
|
||||||
|
unityFontStyleAndWeight = FontStyle.Bold,
|
||||||
|
marginRight = 4
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var labels = new Label(labelText)
|
||||||
|
{
|
||||||
|
name = labelName,
|
||||||
|
style =
|
||||||
|
{
|
||||||
|
unityFontStyleAndWeight = FontStyle.Normal,
|
||||||
|
whiteSpace = WhiteSpace.Normal,
|
||||||
|
flexGrow = 1
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
row.Add(bullet);
|
||||||
|
row.Add(labels);
|
||||||
|
container.Add(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OpenQuickStartLink()
|
||||||
|
{
|
||||||
|
Application.OpenURL("https://git.sam-green.dev/Chromum/UnityImageProcessing_Package/wiki/Guides/QuickStart");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bdebc01d70ee90b46be92aff1599d2bd
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences:
|
||||||
|
- m_VisualTreeAsset: {fileID: 9197481963319205126, guid: 9566e7fc6d4ac8848bdc7762e84f3d3d, type: 3}
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -0,0 +1,5 @@
|
|||||||
|
.custom-label {
|
||||||
|
font-size: 20px;
|
||||||
|
-unity-font-style: bold;
|
||||||
|
color: rgb(68, 138, 255);
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 966fc07be508c4244ba4c927e36a753a
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
|
disableValidation: 0
|
@ -0,0 +1,5 @@
|
|||||||
|
<engine:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:engine="UnityEngine.UIElements" xmlns:editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||||
|
<Style src="project://database/Assets/Unity%20Image%20Processing/Editor/Scripts/Editor/Windows/Getting%20Started/GettingStartedWindow.uss?fileID=7433441132597879392&guid=966fc07be508c4244ba4c927e36a753a&type=3#GettingStartedWindow" />
|
||||||
|
<engine:Label text="Oogooooga :( " />
|
||||||
|
<engine:RadioButton label="Radio Button" />
|
||||||
|
</engine:UXML>
|
@ -0,0 +1,10 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9566e7fc6d4ac8848bdc7762e84f3d3d
|
||||||
|
ScriptedImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
@ -25,7 +25,8 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind
|
|||||||
|
|
||||||
private StyleSheet defaaStyleSheet;
|
private StyleSheet defaaStyleSheet;
|
||||||
private StyleSheet errorStyleSheet;
|
private StyleSheet errorStyleSheet;
|
||||||
|
private NodeInfoAttribute info;
|
||||||
|
|
||||||
public ImageProcessingGraphNodeVisual(BaseImageNode node, ImageProcessingGraphViewWindow window)
|
public ImageProcessingGraphNodeVisual(BaseImageNode node, ImageProcessingGraphViewWindow window)
|
||||||
{
|
{
|
||||||
this.AddToClassList("image-node-visual");
|
this.AddToClassList("image-node-visual");
|
||||||
@ -34,9 +35,10 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind
|
|||||||
|
|
||||||
|
|
||||||
Type typeInfo = node.GetType();
|
Type typeInfo = node.GetType();
|
||||||
NodeInfoAttribute info = typeInfo.GetCustomAttribute<NodeInfoAttribute>();
|
info = typeInfo.GetCustomAttribute<NodeInfoAttribute>();
|
||||||
title = info.Title;
|
title = info.Title;
|
||||||
this.name = typeInfo.Name;
|
this.name = typeInfo.Name;
|
||||||
|
|
||||||
|
|
||||||
string[] depths = info.MenuItem.Split('/');
|
string[] depths = info.MenuItem.Split('/');
|
||||||
foreach (var depth in depths)
|
foreach (var depth in depths)
|
||||||
@ -311,8 +313,6 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind
|
|||||||
var objectField = new ObjectField { value = (UnityEngine.Object)value, objectType = typeof(UnityEngine.Object) };
|
var objectField = new ObjectField { value = (UnityEngine.Object)value, objectType = typeof(UnityEngine.Object) };
|
||||||
return objectField;
|
return objectField;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add more types as needed
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -325,7 +325,14 @@ namespace ImageProcessingGraph.Editor.Unity_Image_Processing.Scripts.Editor.Wind
|
|||||||
|
|
||||||
private void OpenDocumentation(DropdownMenuAction obj)
|
private void OpenDocumentation(DropdownMenuAction obj)
|
||||||
{
|
{
|
||||||
|
if (info.DocumentationationURL != null || !string.IsNullOrEmpty(info.DocumentationationURL))
|
||||||
|
{
|
||||||
|
Application.OpenURL(info.DocumentationationURL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"No documentation URL provided for node {this.graphNode.asset.name}!");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SavePosition() => graphNode.SetPosition(GetPosition());
|
public void SavePosition() => graphNode.SetPosition(GetPosition());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user