/// <summary> /// Setup of the base framework. Enough to manage and calculate canvases. /// </summary> private static void setupBaseFramework() { CheckEditorPath(); // Init Resource system. Can be called anywhere else, too, if it's needed before. ResourceManager.SetDefaultResourcePath(editorPath + "Resources/"); // Run fetching algorithms searching the script assemblies for Custom Nodes / Connection Types / NodeCanvas Types ConnectionPortStyles.FetchConnectionPortStyles(); NodeTypes.FetchNodeTypes(); NodeCanvasManager.FetchCanvasTypes(); ConnectionPortManager.FetchNodeConnectionDeclarations(); ImportExportManager.FetchIOFormats(); // Setup Callback system NodeEditorCallbacks.SetupReceivers(); NodeEditorCallbacks.IssueOnEditorStartUp(); // Init input NodeEditorInputSystem.SetupInput(); #if UNITY_EDITOR UnityEditor.EditorApplication.update -= Update; UnityEditor.EditorApplication.update += Update; #endif initiatedBase = true; }
/// <summary> /// Checks and fetches the connection style declaration specified by the styleID /// </summary> protected void CheckConnectionStyle() { if (_connectionStyle == null || !_connectionStyle.isValid()) { _connectionStyle = ConnectionPortStyles.GetPortStyle(styleID, styleBaseClass); if (_connectionStyle == null || !_connectionStyle.isValid()) { color = NodeEditorGUI.RandomColorHSV(styleID.GetHashCode(), 0, 1, 0.6f, 0.8f, 0.8f, 1.4f); } else { color = _connectionStyle.Color; } } }
/// <summary> /// Setup of the base framework. Enough to manage and calculate canvases. /// </summary> private static void setupBaseFramework() { // Run fetching algorithms searching the script assemblies for Custom Nodes / Connection Types / NodeCanvas Types ConnectionPortStyles.CheckPortStyles(); // Setup Callback system NodeEditorCallbacks.SetupReceivers(); NodeEditorCallbacks.IssueOnEditorStartUp(); #if UNITY_EDITOR UnityEditor.EditorApplication.update -= Update; UnityEditor.EditorApplication.update += Update; #endif initiatedBase = true; }
public override bool IsCompatibleWith(ConnectionPort port) { if (!(Direction == Direction.None && port.direction == Direction.None) && !(Direction == Direction.In && port.direction == Direction.Out) && !(Direction == Direction.Out && port.direction == Direction.In)) { return(false); } ValueConnectionKnob valueKnob = port as ValueConnectionKnob; if (valueKnob == null) { return(false); } Type knobType = ConnectionPortStyles.GetValueType(StyleID); return(knobType.IsAssignableFrom(valueKnob.valueType)); }
/// <summary> /// Checks and fetches the connection style declaration specified by the styleID /// </summary> protected void CheckConnectionStyle() { if (_connectionStyle == null || !_connectionStyle.isValid()) { _connectionStyle = ConnectionPortStyles.GetPortStyle(styleID, styleBaseClass); if (_connectionStyle == null || !_connectionStyle.isValid()) { // Generate consistent color for a type - using string because it delivers greater variety of colors than type hashcode #if UNITY_5_4_OR_NEWER UnityEngine.Random.InitState(styleID.GetHashCode()); #endif color = UnityEngine.Random.ColorHSV(0, 1, 0.6f, 0.8f, 0.8f, 1.4f); } else { color = _connectionStyle.Color; } } }
public static void InitSystem() { _inst = AssetDatabase.LoadAssetAtPath <NodeSystemSetting>(ASSET_PATH); bool hasExist = _inst != null; if (!hasExist) { _inst = CreateInstance <NodeSystemSetting>(); AssetDatabase.CreateAsset(_inst, ASSET_PATH); } ConnectionPortStyles.InitSystem(out _inst.portStyles, out _inst.valueTypes); NodeTypes.InitSystem(out _inst.nodeDatas); NodeCanvasManager.InitSystem(out _inst.canvasDatas); ConnectionPortManager.InitSystem(out _inst.nodePortDec); ConnectionPortManager.InitSystem(out _inst.nodePortDec); ImportExportManager.InitSystem(out _inst.ioFormats); NodeEditorInputSystem.InitSystem(out _inst.eventHandlers, out _inst.hotkeyHandlers, out _inst.contextEntries, out _inst.contextFillers); }
protected void Setup(Type type) { StyleID = type.FullName; ValueType = type; ConnectionPortStyles.GetValueConnectionType(type); }