diff options
-rw-r--r-- | Documents/角色/2022-07-17_170132.png | bin | 0 -> 75677 bytes | |||
-rw-r--r-- | Documents/角色/2022-07-17_170202.png | bin | 0 -> 64816 bytes | |||
-rw-r--r-- | Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowEditor.cs | 30 | ||||
-rw-r--r-- | Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowResources.cs | 20 | ||||
-rw-r--r-- | Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png | bin | 0 -> 20154 bytes | |||
-rw-r--r-- | Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png.meta | 88 |
6 files changed, 133 insertions, 5 deletions
diff --git a/Documents/角色/2022-07-17_170132.png b/Documents/角色/2022-07-17_170132.png Binary files differnew file mode 100644 index 00000000..81520a89 --- /dev/null +++ b/Documents/角色/2022-07-17_170132.png diff --git a/Documents/角色/2022-07-17_170202.png b/Documents/角色/2022-07-17_170202.png Binary files differnew file mode 100644 index 00000000..8d4bd77c --- /dev/null +++ b/Documents/角色/2022-07-17_170202.png diff --git a/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowEditor.cs b/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowEditor.cs index 03034b53..074843d9 100644 --- a/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowEditor.cs +++ b/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowEditor.cs @@ -24,6 +24,8 @@ namespace Workflow public static float zoomDelta = 0.1f; private Vector2 m_ZoomAdjustment; + private Vector2 m_Offset; + /// <summary> /// The size of the window. @@ -173,10 +175,8 @@ namespace Workflow void DrawNodeArea() { - if (Event.current.type == EventType.Repaint) - { - DrawGrid(); - } + DrawGrid(); + DrawNodes(); } void DrawGrid() @@ -192,6 +192,8 @@ namespace Workflow Vector2 tileOffset = new Vector2(xOffset, yOffset); + m_Offset = Vector2.Scale(tileOffset, new Vector2(-Res.gridTex.width, Res.gridTex.height)); + // Amount of tiles float tileAmountX = Mathf.Round(size.x * zoom) / Res.gridTex.width; float tileAmountY = Mathf.Round(size.y * zoom) / Res.gridTex.height; @@ -218,6 +220,26 @@ namespace Workflow GUIScaleUtility.EndScale(); } + // 绘制nodes + void DrawNodes() + { + Color defaultColor = GUI.color; + + GUILayout.BeginArea(new Rect(m_Offset, new Vector2(200, 4000))); + + GUIStyle style = new GUIStyle(Res.nodeBody); + GUI.color = new Color32(90, 97, 105, 255); + GUILayout.BeginVertical(style); + + GUILayout.Label("Title", Res.nodeHeader, GUILayout.Height(30)); + + GUILayout.Label("buttonbuttonbuttonbuttonbuttonbuttonbuttonbutton"); + + GUILayout.EndVertical(); + GUILayout.EndArea(); + + GUI.color = defaultColor; + } } diff --git a/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowResources.cs b/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowResources.cs index 8a3e3898..48214089 100644 --- a/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowResources.cs +++ b/Erika/Assets/Tools/WorkflowVisualizer/Editor/WorkflowResources.cs @@ -10,6 +10,11 @@ namespace Workflow { public static Texture2D gridTex; + public static Texture2D nodeBgTex; + + public static GUIStyle nodeBody; + public static GUIStyle nodeHeader; + public static bool loaded = false; @@ -23,10 +28,23 @@ namespace Workflow { if (loaded) return ; + loaded = true; + gridTex = UnityEngine.Resources.Load<Texture2D>("WorkflowVisualizer/Grid"); + nodeBgTex = UnityEngine.Resources.Load<Texture2D>("WorkflowVisualizer/node_background"); + + nodeBody = new GUIStyle(); + nodeBody.normal.background = nodeBgTex; + nodeBody.border = new RectOffset(32, 32, 32, 32); + nodeBody.padding = new RectOffset(16, 16, 4, 16); + + nodeHeader = new GUIStyle(); + nodeHeader.alignment = TextAnchor.MiddleCenter; + nodeHeader.fontStyle = FontStyle.Bold; + nodeHeader.normal.textColor = Color.white; + - loaded = true; } diff --git a/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png b/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png Binary files differnew file mode 100644 index 00000000..a8aa5342 --- /dev/null +++ b/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png diff --git a/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png.meta b/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png.meta new file mode 100644 index 00000000..456c465a --- /dev/null +++ b/Erika/Assets/Tools/WorkflowVisualizer/Resources/WorkflowVisualizer/node_background.png.meta @@ -0,0 +1,88 @@ +fileFormatVersion: 2 +guid: 5136419584d507f48a39145585fe5efc +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 9 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: |