├── ProjectSettings ├── ProjectVersion.txt ├── ClusterInputManager.asset ├── EditorBuildSettings.asset ├── NetworkManager.asset ├── TimeManager.asset ├── AudioManager.asset ├── TagManager.asset ├── EditorSettings.asset ├── DynamicsManager.asset ├── UnityConnectSettings.asset ├── Physics2DSettings.asset ├── NavMeshAreas.asset ├── GraphicsSettings.asset ├── QualitySettings.asset ├── InputManager.asset └── ProjectSettings.asset ├── UnityPackageManager └── manifest.json ├── README ├── Canvas.png ├── Entry.png ├── Nodes.png └── Connection.png ├── Assets ├── DNE │ ├── Example │ │ ├── Resources │ │ │ ├── Audio │ │ │ │ ├── Glad.mp3 │ │ │ │ ├── Hello.mp3 │ │ │ │ ├── Sorry.mp3 │ │ │ │ ├── Goodbye.mp3 │ │ │ │ ├── HowDoing.mp3 │ │ │ │ ├── Glad.mp3.meta │ │ │ │ ├── Goodbye.mp3.meta │ │ │ │ ├── Hello.mp3.meta │ │ │ │ ├── HowDoing.mp3.meta │ │ │ │ └── Sorry.mp3.meta │ │ │ ├── Audio.meta │ │ │ ├── Builds.meta │ │ │ └── Builds │ │ │ │ ├── Build.asset.meta │ │ │ │ └── Build.asset │ │ ├── Example.unity.meta │ │ ├── Resources.meta │ │ ├── Scripts.meta │ │ ├── Canvas.asset.meta │ │ ├── Button.prefab.meta │ │ ├── Scripts │ │ │ ├── DNEExample.cs.meta │ │ │ └── DNEExample.cs │ │ ├── Canvas.asset │ │ ├── Button.prefab │ │ └── Example.unity │ ├── Example.meta │ ├── BuildObject.cs.meta │ └── BuildObject.cs ├── Editor │ ├── DialogNodeEditor │ │ ├── Textures │ │ │ ├── redTex.png │ │ │ ├── blueTex.png │ │ │ ├── grayTex.png │ │ │ ├── greenTex.png │ │ │ ├── grayDarkTex.png │ │ │ ├── magentaTex.png │ │ │ ├── blueTex.png.meta │ │ │ ├── grayTex.png.meta │ │ │ ├── redTex.png.meta │ │ │ ├── grayDarkTex.png.meta │ │ │ ├── magentaTex.png.meta │ │ │ └── greenTex.png.meta │ │ ├── Core.meta │ │ ├── Nodes.meta │ │ ├── Textures.meta │ │ ├── Core │ │ │ ├── Node.cs.meta │ │ │ ├── Toolbar.cs.meta │ │ │ ├── Connection.cs.meta │ │ │ ├── ConnectionPoint.cs.meta │ │ │ ├── DialogNodeEditor.cs.meta │ │ │ ├── EditorSaveObject.cs.meta │ │ │ ├── EditorSaveObject.cs │ │ │ ├── Connection.cs │ │ │ ├── ConnectionPoint.cs │ │ │ ├── Node.cs │ │ │ ├── Toolbar.cs │ │ │ └── DialogNodeEditor.cs │ │ └── Nodes │ │ │ ├── EndNode.cs.meta │ │ │ ├── DialogNode.cs.meta │ │ │ ├── StartNode.cs.meta │ │ │ ├── EndNode.cs │ │ │ ├── StartNode.cs │ │ │ └── DialogNode.cs │ └── DialogNodeEditor.meta ├── DNE.meta └── Editor.meta ├── .gitignore ├── LICENSE.md └── README.md /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2017.3.0f3 2 | -------------------------------------------------------------------------------- /UnityPackageManager/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | } 4 | } 5 | -------------------------------------------------------------------------------- /README/Canvas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/README/Canvas.png -------------------------------------------------------------------------------- /README/Entry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/README/Entry.png -------------------------------------------------------------------------------- /README/Nodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/README/Nodes.png -------------------------------------------------------------------------------- /README/Connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/README/Connection.png -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Glad.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/DNE/Example/Resources/Audio/Glad.mp3 -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Hello.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/DNE/Example/Resources/Audio/Hello.mp3 -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Sorry.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/DNE/Example/Resources/Audio/Sorry.mp3 -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Goodbye.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/DNE/Example/Resources/Audio/Goodbye.mp3 -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/HowDoing.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/DNE/Example/Resources/Audio/HowDoing.mp3 -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/redTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/redTex.png -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/blueTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/blueTex.png -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/grayTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/grayTex.png -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/greenTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/greenTex.png -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/grayDarkTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/grayDarkTex.png -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/magentaTex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alee12131415/Dialog-Node-Editor/HEAD/Assets/Editor/DialogNodeEditor/Textures/magentaTex.png -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /Assets/DNE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29c2f7df1fb45ca47a9b59e230d3373a 3 | folderAsset: yes 4 | timeCreated: 1509191532 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Example.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7826d765b093c394695ad98b92c727fc 3 | timeCreated: 1508682034 4 | licenseType: Free 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46e697d83d8453842ba9ac814d6ad9ff 3 | folderAsset: yes 4 | timeCreated: 1509191480 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Assets/DNE/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88d49558399a09c4597a58c1265994bf 3 | folderAsset: yes 4 | timeCreated: 1508682021 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9530910eee12e8444ba73cdecd7ccfa2 3 | folderAsset: yes 4 | timeCreated: 1508682124 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e575bd687361a1a46b4433fa33fe7e4c 3 | folderAsset: yes 4 | timeCreated: 1508682049 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30532df57c7ea1c489683ca7c1ac0072 3 | folderAsset: yes 4 | timeCreated: 1508040234 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c916eb8b49749b46acfbb66a7dc6cbb 3 | folderAsset: yes 4 | timeCreated: 1508707563 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Builds.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01f1d3e9073465a45bcd6c6525ba3907 3 | folderAsset: yes 4 | timeCreated: 1508707530 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc6b587e9379a8741b17557688fed90c 3 | folderAsset: yes 4 | timeCreated: 1508040585 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 92fc001c1a174bd41b0670ac53408d73 3 | folderAsset: yes 4 | timeCreated: 1508040601 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e31070d8d6069d49ad791c0752e964e 3 | folderAsset: yes 4 | timeCreated: 1508041824 5 | licenseType: Free 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Canvas.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a088080ee31369d438dcf0f501feb765 3 | timeCreated: 1520052148 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 11400000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Button.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8548c5b7a52bc544cb513588f2eba674 3 | timeCreated: 1508713857 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 100100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Builds/Build.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6e67c5fad940b544bbfa773ba9621ee 3 | timeCreated: 1519874720 4 | licenseType: Free 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 11400000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/DNE/BuildObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b41c2d134329c7646ac7929d8ea4df60 3 | timeCreated: 1508677454 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Scripts/DNEExample.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8da8612570a78d4eb820df804b2b7ab 3 | timeCreated: 1508710644 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/Node.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30e5be8c394fb144f86bc214ca25a804 3 | timeCreated: 1508041201 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/Toolbar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 425847a26b1b5e24c9254a2b5c568f22 3 | timeCreated: 1508162473 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes/EndNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19e00f0302df8bb4e8e24546f6f7ca8f 3 | timeCreated: 1508058401 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/Connection.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cf1a3e179b8baa4eb0aaf60d1cec054 3 | timeCreated: 1508062131 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes/DialogNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3a99419dc43c6144b3b2d87beaec351 3 | timeCreated: 1508520470 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes/StartNode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e07e09bd68bfa94f80794fd828ba33a 3 | timeCreated: 1508044263 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/ConnectionPoint.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5fa44d628d687a44ba6579b32bf568a 3 | timeCreated: 1508045208 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/DialogNodeEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b29b8c976f3ff0d4582b36003f41a85c 3 | timeCreated: 1508040735 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/EditorSaveObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23e55e17257924e48aa679df6f9e079f 3 | timeCreated: 1508163591 4 | licenseType: Free 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | 6 | # Autogenerated VS/MD solution and project files 7 | *.csproj 8 | *.unityproj 9 | *.sln 10 | *.suo 11 | *.tmp 12 | *.user 13 | *.userprefs 14 | *.pidb 15 | *.booproj 16 | 17 | # Unity3D generated meta files 18 | *.pidb.meta 19 | 20 | # Unity3D Generated File On Crash Reports 21 | sysinfo.txt 22 | 23 | #Visual Studio 24 | .vs/ 25 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Glad.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2a36d2edfe0df946932d84c545f3eb8 3 | timeCreated: 1508709788 4 | licenseType: Free 5 | AudioImporter: 6 | externalObjects: {} 7 | serializedVersion: 6 8 | defaultSettings: 9 | loadType: 0 10 | sampleRateSetting: 0 11 | sampleRateOverride: 44100 12 | compressionFormat: 1 13 | quality: 1 14 | conversionMode: 0 15 | platformSettingOverrides: {} 16 | forceToMono: 0 17 | normalize: 1 18 | preloadAudioData: 1 19 | loadInBackground: 0 20 | ambisonic: 0 21 | 3D: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Goodbye.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae552948e0b9d994dab58e8c0f462c63 3 | timeCreated: 1508709788 4 | licenseType: Free 5 | AudioImporter: 6 | externalObjects: {} 7 | serializedVersion: 6 8 | defaultSettings: 9 | loadType: 0 10 | sampleRateSetting: 0 11 | sampleRateOverride: 44100 12 | compressionFormat: 1 13 | quality: 1 14 | conversionMode: 0 15 | platformSettingOverrides: {} 16 | forceToMono: 0 17 | normalize: 1 18 | preloadAudioData: 1 19 | loadInBackground: 0 20 | ambisonic: 0 21 | 3D: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Hello.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 97559ef45c1c07441a302b1cd3ab59fb 3 | timeCreated: 1508709788 4 | licenseType: Free 5 | AudioImporter: 6 | externalObjects: {} 7 | serializedVersion: 6 8 | defaultSettings: 9 | loadType: 0 10 | sampleRateSetting: 0 11 | sampleRateOverride: 44100 12 | compressionFormat: 1 13 | quality: 1 14 | conversionMode: 0 15 | platformSettingOverrides: {} 16 | forceToMono: 0 17 | normalize: 1 18 | preloadAudioData: 1 19 | loadInBackground: 0 20 | ambisonic: 0 21 | 3D: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/HowDoing.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f25f940b1c34a0a439c3ca4c0047641b 3 | timeCreated: 1508709641 4 | licenseType: Free 5 | AudioImporter: 6 | externalObjects: {} 7 | serializedVersion: 6 8 | defaultSettings: 9 | loadType: 0 10 | sampleRateSetting: 0 11 | sampleRateOverride: 44100 12 | compressionFormat: 1 13 | quality: 1 14 | conversionMode: 0 15 | platformSettingOverrides: {} 16 | forceToMono: 0 17 | normalize: 1 18 | preloadAudioData: 1 19 | loadInBackground: 0 20 | ambisonic: 0 21 | 3D: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Audio/Sorry.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53f18b30828f4ad4bbbf067790886633 3 | timeCreated: 1508709640 4 | licenseType: Free 5 | AudioImporter: 6 | externalObjects: {} 7 | serializedVersion: 6 8 | defaultSettings: 9 | loadType: 0 10 | sampleRateSetting: 0 11 | sampleRateOverride: 44100 12 | compressionFormat: 1 13 | quality: 1 14 | conversionMode: 0 15 | platformSettingOverrides: {} 16 | forceToMono: 0 17 | normalize: 1 18 | preloadAudioData: 1 19 | loadInBackground: 0 20 | ambisonic: 0 21 | 3D: 1 22 | userData: 23 | assetBundleName: 24 | assetBundleVariant: 25 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_DefaultBehaviorMode: 0 10 | m_SpritePackerMode: 0 11 | m_SpritePackerPaddingPower: 1 12 | m_EtcTextureCompressorBehavior: 1 13 | m_EtcTextureFastCompressor: 1 14 | m_EtcTextureNormalCompressor: 2 15 | m_EtcTextureBestCompressor: 4 16 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd 17 | m_ProjectGenerationRootNamespace: 18 | m_UserGeneratedProjectSuffix: 19 | m_CollabEditorSettings: 20 | inProgressEnabled: 1 21 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_EnablePCM: 1 18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 19 | m_AutoSimulation: 1 20 | m_AutoSyncTransforms: 1 21 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | The MIT License (MIT) 3 | 4 | Copyright (c) 2017 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Resources/Builds/Build.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: b41c2d134329c7646ac7929d8ea4df60, type: 3} 12 | m_Name: Build 13 | m_EditorClassIdentifier: 14 | nodes: 15 | - title: Node 1 16 | text: Hello 17 | clip: {fileID: 8300000, guid: 97559ef45c1c07441a302b1cd3ab59fb, type: 3} 18 | triggers: 19 | - Hello 20 | next_index: 01000000 21 | - title: Node 2 22 | text: How are you? 23 | clip: {fileID: 8300000, guid: f25f940b1c34a0a439c3ca4c0047641b, type: 3} 24 | triggers: 25 | - good 26 | - bad 27 | next_index: 0200000003000000 28 | - title: Node 3.1 29 | text: Glad to hear that! 30 | clip: {fileID: 8300000, guid: c2a36d2edfe0df946932d84c545f3eb8, type: 3} 31 | triggers: 32 | - :) 33 | next_index: 04000000 34 | - title: Node 3.1 35 | text: Sorry to hear that :( 36 | clip: {fileID: 8300000, guid: 53f18b30828f4ad4bbbf067790886633, type: 3} 37 | triggers: 38 | - :( 39 | next_index: 04000000 40 | - title: Node 4 41 | text: Goodbye 42 | clip: {fileID: 8300000, guid: ae552948e0b9d994dab58e8c0f462c63, type: 3} 43 | triggers: 44 | - End 45 | next_index: ffffffff 46 | start_index: 0 47 | current_index: 0 48 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/EditorSaveObject.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace DNECore { 7 | public class EditorSaveObject : ScriptableObject { 8 | public List nodeinfos; 9 | public List NodeCPIndex; 10 | public List ConnectionIndexIn; 11 | public List ConnectionIndexOut; 12 | public int NumberOfCP; 13 | public Vector2 offset; 14 | 15 | public void init(List nodeinfos, List NodeCPIndex, List ConnectionIndexIn, List ConnectionIndexOut, int NumberOfCP, Vector2 offset) { 16 | this.nodeinfos = nodeinfos; 17 | this.NodeCPIndex = NodeCPIndex; 18 | this.ConnectionIndexIn = ConnectionIndexIn; 19 | this.ConnectionIndexOut = ConnectionIndexOut; 20 | this.NumberOfCP = NumberOfCP; 21 | this.offset = offset; 22 | } 23 | } 24 | 25 | [Serializable] 26 | public class NodeInfo { 27 | public string type; 28 | public Rect rect; 29 | 30 | public string title; 31 | public string text; 32 | public AudioClip clip; 33 | public List triggers; 34 | 35 | public NodeInfo(string type, Rect rect, string title = null, string text = null, AudioClip clip = null, List triggers = null) { 36 | this.type = type; 37 | this.rect = rect; 38 | this.title = title; 39 | this.text = text; 40 | this.clip = clip; 41 | this.triggers = triggers; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Core/Connection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System; 6 | 7 | namespace DNECore { 8 | public class Connection { 9 | public ConnectionPoint inPoint; 10 | public ConnectionPoint outPoint; 11 | 12 | public Action OnClickRemoveConnection; 13 | 14 | public bool isClicked = false; 15 | 16 | public Connection(ConnectionPoint inPoint, ConnectionPoint outPoint, Action OnClickRemoveConnection) { 17 | this.inPoint = inPoint; 18 | this.outPoint = outPoint; 19 | this.OnClickRemoveConnection = OnClickRemoveConnection; 20 | } 21 | 22 | public Connection(Connection c) : this(c.inPoint, c.outPoint, c.OnClickRemoveConnection) { 23 | //Copy Constructor 24 | } 25 | 26 | public void Draw() { 27 | Handles.DrawBezier( 28 | inPoint.rect.center, 29 | outPoint.rect.center, 30 | inPoint.rect.center + Vector2.left * 50f, 31 | outPoint.rect.center - Vector2.left * 50f, 32 | Color.white, 33 | null, 34 | 2f 35 | ); 36 | 37 | isClicked = Handles.Button((inPoint.rect.center + outPoint.rect.center) * 0.5f, Quaternion.identity, 4, 8, Handles.RectangleHandleCap); 38 | } 39 | 40 | public void ProcessEvents(Event e) { 41 | if (isClicked) { 42 | if (OnClickRemoveConnection != null) { 43 | OnClickRemoveConnection(this); 44 | } 45 | } 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/blueTex.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c26f69a508b33144b380ce7d4843a79 3 | timeCreated: 1508574669 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/grayTex.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4586b3b10be4caf40a767a44474edbd6 3 | timeCreated: 1508060357 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/redTex.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3c5b30870e4f5840b2b7eea122fa6f5 3 | timeCreated: 1508060360 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/grayDarkTex.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672f2105054043a49899d5e6dcf09db0 3 | timeCreated: 1508160819 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Textures/magentaTex.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e356fcc05f2b2840ab1b304228503ee 3 | timeCreated: 1508556137 4 | licenseType: Free 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | externalObjects: {} 8 | serializedVersion: 4 9 | mipmaps: 10 | mipMapMode: 0 11 | enableMipMap: 1 12 | sRGBTexture: 1 13 | linearTexture: 0 14 | fadeOut: 0 15 | borderMipMap: 0 16 | mipMapsPreserveCoverage: 0 17 | alphaTestReferenceValue: 0.5 18 | mipMapFadeDistanceStart: 1 19 | mipMapFadeDistanceEnd: 3 20 | bumpmap: 21 | convertToNormalMap: 0 22 | externalNormalMap: 0 23 | heightScale: 0.25 24 | normalMapFilter: 0 25 | isReadable: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -1 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 49 | spritePixelsToUnits: 100 50 | alphaUsage: 1 51 | alphaIsTransparency: 0 52 | spriteTessellationDetail: -1 53 | textureType: 0 54 | textureShape: 1 55 | maxTextureSizeSet: 0 56 | compressionQualitySet: 0 57 | textureFormatSet: 0 58 | platformSettings: 59 | - buildTarget: DefaultTexturePlatform 60 | maxTextureSize: 2048 61 | resizeAlgorithm: 0 62 | textureFormat: -1 63 | textureCompression: 1 64 | compressionQuality: 50 65 | crunchedCompression: 0 66 | allowsAlphaSplitting: 0 67 | overridden: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dialog Node Editor 2 | Basic usage of the extension. 3 | 4 | Example: Assets/DNE/Example 5 | 6 | ![](./README/Canvas.png) 7 | 8 | ## Canvas 9 | ### Entry 10 | 11 | ![](./README/Entry.png) 12 | 13 | ### Nodes 14 | Right click canvas to create nodes. Right click node to delete node 15 | 16 | ![](./README/Nodes.png) 17 | 18 | Start Node 19 | * Starting point for the dialog 20 | 21 | End Node 22 | * Purely for aesthetic 23 | * Shows where/when a dialog ends 24 | 25 | Dialog Node 26 | * Creates dialog point 27 | * Options determine which node to go to next 28 | 29 | ### Connections 30 | Creates links between nodes. Nodes cannot be connected to itself and output cannot have multiple connections (inputs may have multiple connections) 31 | 32 | ![](./README/Connection.png) 33 | 34 | Click on input or output point to start a connections. Connections will be magenta and will turn white once connected to another point. Click white box to delete connection 35 | 36 | ### Save/Load/Build 37 | Save 38 | * Creates EditorSaveObject as an asset file 39 | * Used to rebuild canvas for later editing 40 | * EditorSaveObject not used for production, only as a tool 41 | 42 | Load 43 | * Loads EditorSaveObject asset file 44 | 45 | Build 46 | * Creates BuildObject asset file 47 | * BuildObject is used for production 48 | * Cannot Load BuildObjects 49 | 50 | ## DNE.BuildObject 51 | BuildObject is used to traverse the dialog. Dialog is traversed only one way. 52 | ### Get() 53 | Returns Clone of the BuildObject class. Used if you do not want to edit the asset file. 54 | ### Next(string option) 55 | returns next BuildNode in dialog. 56 | returns null if BuildNode is not found or reaches the end 57 | ### GetCurrent() 58 | Returns BuildNode class of the current dialog node 59 | ### Reset() 60 | Resets class back to the entry dialog node 61 | 62 | ## DNE.BuildNode 63 | Representation of the dialog node 64 | ### Title 65 | Returns title of the node 66 | ### Clip 67 | Returns AudioClip of the node 68 | ### Triggers 69 | Returns List of options 70 | -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes/EndNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System; 6 | using DNECore; 7 | 8 | namespace DNECore { 9 | public class EndNode : Node { 10 | public ConnectionPoint endPoint; 11 | 12 | public EndNode(DialogNodeEditor editor, Vector2 position) : base(editor, position) { 13 | Init(position); 14 | } 15 | 16 | public EndNode(DialogNodeEditor editor, NodeInfo info) : base(editor, info) { 17 | Init(new Vector2(info.rect.x, info.rect.y)); 18 | } 19 | 20 | public override void Init(Vector2 position) { 21 | width = 200; 22 | height = 100; 23 | rect = new Rect(position.x, position.y, width, height); 24 | endPoint = new ConnectionPoint(this, ConnectionPointType.In, editor.OnClickInPoint); 25 | } 26 | 27 | public override void Draw() { 28 | endPoint.Draw(); 29 | 30 | GUI.Box(rect, "", style); 31 | GUI.Label(rect, "END", style); 32 | } 33 | 34 | public override bool ProcessEvents(Event e) { 35 | ProcessDefault(e); 36 | endPoint.ProcessEvents(e); 37 | return false; 38 | } 39 | 40 | public override void SetStyle() { 41 | style.normal.background = AssetDatabase.LoadAssetAtPath("Assets/Editor/DialogNodeEditor/Textures/redTex.png", typeof(Texture2D)) as Texture2D; 42 | 43 | style.normal.textColor = Color.white; 44 | style.fontSize = 32; 45 | style.alignment = TextAnchor.MiddleCenter; 46 | } 47 | 48 | public override List GetConnectionPoints() { 49 | return new List { endPoint }; 50 | } 51 | 52 | public EndNode Clone() { 53 | return (EndNode)MemberwiseClone(); 54 | } 55 | 56 | public override NodeInfo GetInfo() { 57 | return new NodeInfo(GetType().FullName, rect); 58 | } 59 | 60 | public override void Rebuild(List cp) { 61 | endPoint = cp[0]; 62 | endPoint.Rebuild(this, ConnectionPointType.In, editor.OnClickInPoint); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /Assets/Editor/DialogNodeEditor/Nodes/StartNode.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System; 6 | using DNECore; 7 | 8 | namespace DNECore { 9 | public class StartNode : Node { 10 | public ConnectionPoint startPoint; 11 | 12 | public StartNode(DialogNodeEditor editor, Vector2 position) : base(editor, position) { 13 | Init(position); 14 | } 15 | 16 | public StartNode(DialogNodeEditor editor, NodeInfo info) : base(editor, info) { 17 | Init(new Vector2(info.rect.x, info.rect.y)); 18 | } 19 | 20 | public override void Init(Vector2 position) { 21 | width = 200; 22 | height = 100; 23 | rect = new Rect(position.x, position.y, width, height); 24 | startPoint = new ConnectionPoint(this, ConnectionPointType.Out, editor.OnClickOutPoint); 25 | } 26 | 27 | public override void Draw() { 28 | startPoint.Draw(); 29 | 30 | GUI.Box(rect, "", style); 31 | GUI.Label(rect, "START", style); 32 | } 33 | 34 | public override bool ProcessEvents(Event e) { 35 | ProcessDefault(e); 36 | startPoint.ProcessEvents(e); 37 | return false; 38 | } 39 | 40 | public override void SetStyle() { 41 | style.normal.background = AssetDatabase.LoadAssetAtPath("Assets/Editor/DialogNodeEditor/Textures/greenTex.png", typeof(Texture2D)) as Texture2D; 42 | 43 | style.normal.textColor = Color.white; 44 | style.fontSize = 32; 45 | style.alignment = TextAnchor.MiddleCenter; 46 | } 47 | 48 | public override List GetConnectionPoints() { 49 | return new List { startPoint }; 50 | } 51 | 52 | public StartNode Clone() { 53 | return (StartNode)MemberwiseClone(); 54 | } 55 | 56 | public override NodeInfo GetInfo() { 57 | return new NodeInfo(GetType().FullName, rect); 58 | } 59 | 60 | public override void Rebuild(List cp) { 61 | startPoint = cp[0]; 62 | startPoint.Rebuild(this, ConnectionPointType.Out, editor.OnClickOutPoint); 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /Assets/DNE/Example/Scripts/DNEExample.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | using DNE; 6 | 7 | public class DNEExample : MonoBehaviour { 8 | 9 | public AudioSource source; 10 | public Button button; 11 | public RectTransform panel; 12 | public Text title; 13 | public BuildObject build; 14 | 15 | private List