├── Assets
├── NKGSlate
│ ├── NKGSlate.Runtime.asmdef
│ ├── Core.meta
│ ├── Sample.meta
│ ├── Core
│ │ ├── Datas.meta
│ │ ├── Datas
│ │ │ ├── Base.meta
│ │ │ └── Base
│ │ │ │ ├── ST_GroupData.cs.meta
│ │ │ │ ├── ST_TrackData.cs.meta
│ │ │ │ ├── ST_ActionData.cs.meta
│ │ │ │ ├── ST_CutSceneData.cs.meta
│ │ │ │ ├── ST_DirectableData.cs.meta
│ │ │ │ ├── ST_ActionData.cs
│ │ │ │ ├── ST_GroupData.cs
│ │ │ │ ├── ST_TrackData.cs
│ │ │ │ ├── ST_CutSceneData.cs
│ │ │ │ └── ST_DirectableData.cs
│ │ ├── Systems.meta
│ │ ├── Utilities.meta
│ │ ├── Systems
│ │ │ ├── Base.meta
│ │ │ ├── Interfaces.meta
│ │ │ ├── Base
│ │ │ │ ├── ST_Action.cs.meta
│ │ │ │ ├── ST_Group.cs.meta
│ │ │ │ ├── ST_Track.cs.meta
│ │ │ │ ├── ST_CutScene.cs.meta
│ │ │ │ ├── ST_Director.cs.meta
│ │ │ │ ├── ST_EndTimePoint.cs.meta
│ │ │ │ ├── ST_StartTimePoint.cs.meta
│ │ │ │ ├── ST_EndTimePoint.cs
│ │ │ │ ├── ST_StartTimePoint.cs
│ │ │ │ ├── ST_CutScene.cs
│ │ │ │ ├── ST_Group.cs
│ │ │ │ ├── ST_Track.cs
│ │ │ │ ├── ST_Action.cs
│ │ │ │ └── ST_Director.cs
│ │ │ └── Interfaces
│ │ │ │ ├── ST_IDirectable.cs.meta
│ │ │ │ ├── ST_ITimePointer.cs.meta
│ │ │ │ ├── ST_ITimePointer.cs
│ │ │ │ └── ST_IDirectable.cs
│ │ └── Utilities
│ │ │ ├── ST_TimeToFrameCaculator.cs.meta
│ │ │ └── ST_TimeToFrameCaculator.cs
│ ├── Sample
│ │ ├── Actions.meta
│ │ ├── SlateEntry.cs.meta
│ │ ├── Actions
│ │ │ ├── ST_Event.cs.meta
│ │ │ ├── ST_EventData.cs.meta
│ │ │ ├── ST_LogAction.cs.meta
│ │ │ ├── ST_LogActionData.cs.meta
│ │ │ ├── ST_EventData.cs
│ │ │ ├── ST_LogActionData.cs
│ │ │ ├── ST_Event.cs
│ │ │ └── ST_LogAction.cs
│ │ ├── Sample.bytes
│ │ ├── Cube.prefab.meta
│ │ ├── Sample.bytes.meta
│ │ ├── SampleScene.unity.meta
│ │ ├── SkillEntry.prefab.meta
│ │ ├── SlateEntry.cs
│ │ ├── Cube.prefab
│ │ ├── SampleScene.unity
│ │ └── SkillEntry.prefab
│ └── NKGSlate.Runtime.asmdef.meta
├── Plugins
│ ├── NKGSlate
│ │ ├── Core
│ │ │ ├── ST_ParadoxNotionCutScene.cs.meta
│ │ │ ├── ST_ParadoxNotionGroup.cs.meta
│ │ │ ├── ST_ParadoxNotionTrack.cs.meta
│ │ │ ├── ST_AParadoxNotionSlateActionBase.cs.meta
│ │ │ ├── ST_ParadoxNotionTrack.cs
│ │ │ ├── ST_AParadoxNotionSlateActionBase.cs
│ │ │ ├── ST_ParadoxNotionCutScene.cs
│ │ │ └── ST_ParadoxNotionGroup.cs
│ │ ├── Samples
│ │ │ ├── ST_ParadoxNotionEvent.cs.meta
│ │ │ ├── ST_ParadoxNotionLogAction.cs.meta
│ │ │ ├── ST_ParadoxNotionLogAction.cs
│ │ │ └── ST_ParadoxNotionEvent.cs
│ │ ├── Core.meta
│ │ └── Samples.meta
│ ├── NKGSlate.meta
│ ├── Sirenix.meta
│ └── ParadoxNotion.meta
├── Plugins.meta
└── NKGSlate.meta
├── ProjectSettings
├── ProjectVersion.txt
├── ClusterInputManager.asset
├── PresetManager.asset
├── EditorBuildSettings.asset
├── XRSettings.asset
├── VersionControlSettings.asset
├── TimeManager.asset
├── VFXManager.asset
├── BurstAotSettings_StandaloneWindows.json
├── TimelineSettings.asset
├── AudioManager.asset
├── TagManager.asset
├── UnityConnectSettings.asset
├── PackageManagerSettings.asset
├── EditorSettings.asset
├── DynamicsManager.asset
├── NavMeshAreas.asset
├── Physics2DSettings.asset
├── GraphicsSettings.asset
├── SceneTemplateSettings.json
├── InputManager.asset
├── QualitySettings.asset
└── ProjectSettings.asset
├── .idea
├── .idea.New Unity Project
│ └── .idea
│ │ ├── encodings.xml
│ │ ├── misc.xml
│ │ ├── vcs.xml
│ │ ├── .gitignore
│ │ └── indexLayout.xml
└── .idea.SkillEditorBasedOnSlate
│ └── .idea
│ ├── encodings.xml
│ ├── vcs.xml
│ ├── projectSettingsUpdater.xml
│ ├── indexLayout.xml
│ └── workspace.xml
├── LICENSE
├── UserSettings
└── EditorUserSettings.asset
├── .gitignore
├── Packages
├── manifest.json
└── packages-lock.json
├── README.md
└── SlateChangedFiles
├── CutsceneInspector.cs
└── ActionClipInspector.cs
/Assets/NKGSlate/NKGSlate.Runtime.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "NKGSlate_Runtime"
3 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d03146745084147af61abafc2b20e64
3 | timeCreated: 1627203223
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dda5717466b54984b681ea2447586950
3 | timeCreated: 1629034419
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7eed431148434c5a8073f59facce05be
3 | timeCreated: 1628687024
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 22e04c34c2a04a9da0ff02d0d16695f1
3 | timeCreated: 1628687057
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aac9f1b1618c409695cc1e9af5bf69c8
3 | timeCreated: 1628687010
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Utilities.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 372b759cfc7f470a86ee271123be53f7
3 | timeCreated: 1628952492
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 08a2aeb951144b2f802ab8c4d72024ae
3 | timeCreated: 1629034470
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63b60e42153b49259dd546313d3d9e7f
3 | timeCreated: 1627205022
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/SlateEntry.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3cdeeb8373d04c4097428a2101015d45
3 | timeCreated: 1628773815
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2020.3.12f1c1
2 | m_EditorVersionWithRevision: 2020.3.12f1c1 (5887f62ce680)
3 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ea84bd8e513d41a0959c1f1c910ec55d
3 | timeCreated: 1627205000
--------------------------------------------------------------------------------
/Assets/NKGSlate/NKGSlate.Runtime.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ecad69c0d654888909312d594112905
3 | timeCreated: 1629039168
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_Event.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c5e4697a55a5465fa870c21caf29195f
3 | timeCreated: 1629210769
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Sample.bytes:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wqaetly/SkillEditorBasedOnSlate/HEAD/Assets/NKGSlate/Sample/Sample.bytes
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_GroupData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e98dd7c9e7f4aeba72fbca90704c4e8
3 | timeCreated: 1628687422
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_TrackData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f907fe2c44a6454599651897b79934fd
3 | timeCreated: 1628687410
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Action.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb4807c372db4390a4e02f74affac7db
3 | timeCreated: 1627203216
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Group.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9e2dad0779ca4020acb34cdb88e3ff5f
3 | timeCreated: 1627203269
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Track.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 57bc46cc46e945bf879e3f77427a4022
3 | timeCreated: 1627203257
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_EventData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c89d9acbd5bc4ac78ce1a64677f0a990
3 | timeCreated: 1629210780
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_LogAction.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1985bc09c9024878a1b05c87aa44fbaf
3 | timeCreated: 1628775202
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_ActionData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e186802a99ad43469d49ea01af0ba6d2
3 | timeCreated: 1628687397
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_CutSceneData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 304c6868848144f3af016021c5dd0081
3 | timeCreated: 1628687433
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_DirectableData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3eb1a2ddc5c7498ca94649967635a553
3 | timeCreated: 1628687095
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_CutScene.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d671c48b26544d59d05e86fb78d8494
3 | timeCreated: 1627313014
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Director.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 862f07dcc7ba4767a4221518ae929662
3 | timeCreated: 1627205141
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_EndTimePoint.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b309cd2d241948f2aa360c30454cc1f0
3 | timeCreated: 1627312830
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_LogActionData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45ee240322f34eb085ae1a54be02a1d9
3 | timeCreated: 1628775604
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_StartTimePoint.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 163aaffee5ee4529b5dc6a3f8605eed8
3 | timeCreated: 1627312819
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Interfaces/ST_IDirectable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f29ba2c3e50943be8081b65c2b79c4c6
3 | timeCreated: 1627203193
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Utilities/ST_TimeToFrameCaculator.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68a6d94d0c3a4856a0618c1364f32978
3 | timeCreated: 1628952510
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionCutScene.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 70de6f6fd9184b3bb4f57c522155a444
3 | timeCreated: 1629035510
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionGroup.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c785edc9012b448ca40994169f0bf46f
3 | timeCreated: 1629207028
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionTrack.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: be40bb89eea34f3ca4e8640c2e213fad
3 | timeCreated: 1629027253
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Samples/ST_ParadoxNotionEvent.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 39ce04bd71124f9285122667727cbff1
3 | timeCreated: 1629210673
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Interfaces/ST_ITimePointer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3fc9cde8012545708ead95a3c3c26efe
3 | timeCreated: 1627204800
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Samples/ST_ParadoxNotionLogAction.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5aefae19b193493eabfd46f7c85da6be
3 | timeCreated: 1629027024
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_AParadoxNotionSlateActionBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 04408f22b76e477ba20bfb06a4aa0749
3 | timeCreated: 1629025862
--------------------------------------------------------------------------------
/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/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_DefaultPresets: {}
8 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Cube.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ff114601720f86499f5ddf8bf9e3cba
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0985505dc2114604f96bb5b0e33b7907
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/NKGSlate.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: beadd8e7c6092b7418384c7bb87cf5e2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Sample.bytes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c26a0ac2304d7064db42d4bdda716d71
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3fb2b7938c204e579ca3de181d30e6cb
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/SkillEntry.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1670f48434407964dba7a91676f026c5
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/.idea/.idea.New Unity Project/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86e0700ead3c3274a81a507c19489b9d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Sirenix.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da67cf1da76ad884fa2a6fdd3bf514f0
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/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 | m_configObjects: {}
9 |
--------------------------------------------------------------------------------
/.idea/.idea.New Unity Project/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.SkillEditorBasedOnSlate/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e4c974867318da94e85e573d1cb3541f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/ParadoxNotion.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4517c0aa4e772a449abd61c951c65191
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ProjectSettings/XRSettings.asset:
--------------------------------------------------------------------------------
1 | {
2 | "m_SettingKeys": [
3 | "VR Device Disabled",
4 | "VR Device User Alert"
5 | ],
6 | "m_SettingValues": [
7 | "False",
8 | "False"
9 | ]
10 | }
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Samples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a65b2dd56c83ac94e95400d5f00d67a2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/.idea/.idea.SkillEditorBasedOnSlate/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/.idea/.idea.SkillEditorBasedOnSlate/.idea/projectSettingsUpdater.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.New Unity Project/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/.idea/.idea.SkillEditorBasedOnSlate/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.New Unity Project/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Rider ignored files
5 | /contentModel.xml
6 | /modules.xml
7 | /.idea.New Unity Project.iml
8 | /projectSettingsUpdater.xml
9 | # Datasource local storage ignored files
10 | /dataSources/
11 | /dataSources.local.xml
12 | # Editor-based HTTP Client requests
13 | /httpRequests/
14 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_StripUpdateShader: {fileID: 0}
10 | m_RenderPipeSettingsPath:
11 | m_FixedTimeStep: 0.016666668
12 | m_MaxDeltaTime: 0.05
13 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_ActionData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月11日 21:09:57
5 | //------------------------------------------------------------
6 |
7 | using Sirenix.OdinInspector;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_ActionData: ST_DirectableData
12 | {
13 | }
14 | }
--------------------------------------------------------------------------------
/ProjectSettings/BurstAotSettings_StandaloneWindows.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 3,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "UsePlatformSDKLinker": false,
9 | "CpuMinTargetX32": 0,
10 | "CpuMaxTargetX32": 0,
11 | "CpuMinTargetX64": 0,
12 | "CpuMaxTargetX64": 0,
13 | "CpuTargetsX32": 6,
14 | "CpuTargetsX64": 72
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_GroupData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月11日 21:10:22
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_GroupData: ST_DirectableData
12 | {
13 | public List TrackDatas = new List();
14 | }
15 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_TrackData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月11日 21:10:10
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_TrackData: ST_DirectableData
12 | {
13 | public List ActionDatas = new List();
14 | }
15 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_CutSceneData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月11日 21:10:33
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_CutSceneData: ST_DirectableData
12 | {
13 | public List GroupDatas = new List();
14 | }
15 | }
--------------------------------------------------------------------------------
/ProjectSettings/TimelineSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | assetDefaultFramerate: 60
16 |
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionTrack.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月15日 19:34:13
5 | //------------------------------------------------------------
6 |
7 | using Slate;
8 |
9 |
10 | namespace NKGSlate
11 | {
12 | [Name("Skill Track")]
13 | [Description("技能Track")]
14 | [Attachable(typeof(ST_ParadoxNotionGroup))]
15 | public class ST_ParadoxNotionTrack: CutsceneTrack
16 | {
17 | }
18 | }
--------------------------------------------------------------------------------
/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 | serializedVersion: 2
7 | m_Volume: 1
8 | Rolloff Scale: 1
9 | Doppler Factor: 1
10 | Default Speaker Mode: 2
11 | m_SampleRate: 0
12 | m_DSPBufferSize: 1024
13 | m_VirtualVoiceCount: 512
14 | m_RealVoiceCount: 32
15 | m_SpatializerPlugin:
16 | m_AmbisonicDecoderPlugin:
17 | m_DisableAudio: 0
18 | m_VirtualizeEffects: 1
19 | m_RequestedDSPBufferSize: 1024
20 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_EventData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月17日 22:33:00
5 | //------------------------------------------------------------
6 |
7 | using Sirenix.OdinInspector;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | [HideLabel]
12 | [HideReferenceObjectPicker]
13 | public class ST_EventData: ST_ActionData
14 | {
15 | [LabelText("将要发送的的事件")]
16 | [BoxGroup("自定义数据")]
17 | public string EventInfo;
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_LogActionData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月12日 21:40:03
5 | //------------------------------------------------------------
6 |
7 | using Sirenix.OdinInspector;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | [HideLabel]
12 | [HideReferenceObjectPicker]
13 | public class ST_LogActionData : ST_ActionData
14 | {
15 | [LabelText("将要打印的信息")]
16 | [BoxGroup("自定义数据")]
17 | public string LogInfo;
18 | }
19 | }
--------------------------------------------------------------------------------
/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/NKGSlate/Sample/Actions/ST_Event.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月17日 22:32:49
5 | //------------------------------------------------------------
6 |
7 | using UnityEngine;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_Event: ST_Action
12 | {
13 | public override void OnEnter(uint currentFrame)
14 | {
15 | base.OnEnter(currentFrame);
16 | Debug.LogError($"ST_Event抛出一个事件:{this.BindingData.EventInfo} 帧数:{currentFrame}");
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Interfaces/ST_ITimePointer.cs:
--------------------------------------------------------------------------------
1 | namespace NKGSlate.Runtime
2 | {
3 | public interface ST_ITimePointer
4 | {
5 | uint TriggerFrame { get; set; }
6 |
7 | ///
8 | /// 是否已被触发
9 | ///
10 | bool HasTrigger { get; set; }
11 |
12 | ST_IDirectable GetTarget { get; }
13 |
14 | ///
15 | /// 往前方向(右)触发
16 | ///
17 | ///
18 | ///
19 | void TriggerForward(uint currentFrame, uint previousFrame);
20 | }
21 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Interfaces/ST_IDirectable.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月25日 16:53:13
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public interface ST_IDirectable
12 | {
13 | ST_DirectableData DirectableData { get; set; }
14 | uint StartFrame { get; set; }
15 | uint EndFrame { get; set; }
16 |
17 | bool Initialize(uint currentFrame, ST_DirectableData stDirectableData);
18 | void Enter(uint currentFrame);
19 | void Update(uint currentFrame, uint previousFrame);
20 | void Exit();
21 | }
22 | }
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Samples/ST_ParadoxNotionLogAction.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月15日 19:30:24
5 | //------------------------------------------------------------
6 |
7 |
8 | using System.Collections.Generic;
9 | using NKGSlate.Runtime;
10 | using Sirenix.OdinInspector;
11 | using Slate;
12 | using UnityEngine;
13 |
14 | namespace NKGSlate.Sample
15 | {
16 | [Attachable(typeof(ST_ParadoxNotionTrack))]
17 | [Description("打印一条信息")]
18 | [Name("打印信息")]
19 | public class ST_ParadoxNotionLogAction: ST_AParadoxNotionSlateActionBase
20 | {
21 | protected override void OnCreate()
22 | {
23 | base.OnCreate();
24 |
25 | BindingDate = new ST_LogActionData();
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Samples/ST_ParadoxNotionEvent.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月17日 22:31:13
5 | //------------------------------------------------------------
6 |
7 | using NKGSlate.Runtime;
8 | using Slate;
9 | using UnityEngine;
10 |
11 | namespace NKGSlate.Sample
12 | {
13 | [Attachable(typeof(ST_ParadoxNotionTrack))]
14 | [Description("抛出一个事件")]
15 | [Name("抛出事件")]
16 | public class ST_ParadoxNotionEvent: ST_AParadoxNotionSlateActionBase
17 | {
18 | public override float length
19 | {
20 | get { return 0; }
21 | }
22 |
23 | protected override void OnCreate()
24 | {
25 | base.OnCreate();
26 | BindingDate = new ST_EventData();
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/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 | serializedVersion: 1
7 | m_Enabled: 0
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 0
23 | m_TestMode: 0
24 | m_InitializeOnStartup: 1
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 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_EndTimePoint.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月26日 23:20:30
5 | //------------------------------------------------------------
6 |
7 | namespace NKGSlate.Runtime
8 | {
9 | public class ST_EndTimePoint : ST_ITimePointer
10 | {
11 | public bool HasTrigger { get; set; }
12 |
13 | public uint TriggerFrame
14 | {
15 | get => GetTarget.EndFrame;
16 | set => GetTarget.EndFrame = value;
17 | }
18 |
19 | public ST_IDirectable GetTarget { get; }
20 |
21 | public ST_EndTimePoint(ST_IDirectable target)
22 | {
23 | GetTarget = target;
24 | }
25 |
26 | public void TriggerForward(uint currentFrame, uint previousFrame)
27 | {
28 | if (currentFrame > TriggerFrame)
29 | {
30 | if (HasTrigger) return;
31 | HasTrigger = true;
32 | GetTarget.Exit();
33 | }
34 | }
35 | }
36 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 NKG丶MadLife
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Datas/Base/ST_DirectableData.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月11日 21:04:55
5 | //------------------------------------------------------------
6 |
7 | using Sirenix.OdinInspector;
8 | using UnityEngine;
9 |
10 | namespace NKGSlate.Runtime
11 | {
12 | public class ST_DirectableData
13 | {
14 | ///
15 | /// 起始时间点,为当前CutScene的相对时间点,例如600,即表示其起始时间点在这个CutScene运行600ms的时候
16 | ///
17 | [BoxGroup("基础数据")]
18 | [LabelText("起始时间点")]
19 | [Tooltip("为当前CutScene的相对时间点,例如600,即表示其起始时间点在这个CutScene运行600ms的时候")]
20 | [DisableInEditorMode]
21 | public long RelativelyStartTime;
22 |
23 | ///
24 | /// 时间长度,为当前CutScene的相对时间点,例如1200,即表示其结束时间点在这个CutScene运行1200ms的时候
25 | ///
26 | [BoxGroup("基础数据")]
27 | [LabelText("结束时间点")]
28 | [Tooltip("为当前CutScene的相对时间点,例如1200,即表示其结束时间点在这个CutScene运行1200ms的时候")]
29 | [DisableInEditorMode]
30 | public long RelativelyEndTime;
31 | }
32 | }
--------------------------------------------------------------------------------
/UserSettings/EditorUserSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!162 &1
4 | EditorUserSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ConfigSettings:
8 | RecentlyUsedScenePath-0:
9 | value: 22424703114646680e0b0227036c711501572b292926237e38271427fb
10 | flags: 0
11 | RecentlyUsedScenePath-1:
12 | value: 22424703114646680e0b0227036c6c111b07142f1f2b233e2867083debf42d
13 | flags: 0
14 | RecentlyUsedScenePath-2:
15 | value: 22424703114646680c031c2e156c6c111b07142f631b273d3d251800e1e53a3dacf238e0f323
16 | flags: 0
17 | RecentlyUsedScenePath-3:
18 | value: 224247031146467526293f2e11375a5f2516153a202d69032c240d3fe7d3373dece278fce9332b25
19 | flags: 0
20 | vcSharedLogLevel:
21 | value: 0d5e400f0650
22 | flags: 0
23 | m_VCAutomaticAdd: 1
24 | m_VCDebugCom: 0
25 | m_VCDebugCmd: 0
26 | m_VCDebugOut: 0
27 | m_SemanticMergeMode: 2
28 | m_VCShowFailedCheckout: 1
29 | m_VCOverwriteFailedCheckoutAssets: 1
30 | m_VCProjectOverlayIcons: 1
31 | m_VCHierarchyOverlayIcons: 1
32 | m_VCOtherOverlayIcons: 1
33 | m_VCAllowAsyncUpdate: 0
34 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Actions/ST_LogAction.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月12日 21:33:22
5 | //------------------------------------------------------------
6 |
7 | using UnityEngine;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_LogAction: ST_Action
12 | {
13 | public override bool OnInitialize(uint currentFrame)
14 | {
15 | Debug.Log($"ST_LogInfo Initialize");
16 | return true;
17 | }
18 |
19 | public override void OnEnter(uint currentFrame)
20 | {
21 | base.OnEnter(currentFrame);
22 |
23 | Debug.Log($"ST_LogInfo Enter");
24 | }
25 |
26 | public override void OnUpdate(uint currentFrame, uint previousFrame)
27 | {
28 | Debug.Log($"ST_LogInfo: {this.BindingData.LogInfo} 帧数:{currentFrame}");
29 | }
30 |
31 | public override void OnExit()
32 | {
33 | base.OnExit();
34 |
35 | Debug.Log($"ST_LogInfo Exit");
36 | }
37 | }
38 | }
--------------------------------------------------------------------------------
/.idea/.idea.New Unity Project/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Library/PackageCache/com.unity.collab-proxy@1.2.16
7 | Library/PackageCache/com.unity.ext.nunit@1.0.0
8 | Library/PackageCache/com.unity.ide.rider@1.1.4
9 | Library/PackageCache/com.unity.ide.vscode@1.2.0
10 | Library/PackageCache/com.unity.test-framework@1.1.14
11 | Library/PackageCache/com.unity.textmeshpro@2.0.1
12 | Library/PackageCache/com.unity.timeline@1.2.14
13 | Packages
14 | ProjectSettings
15 |
16 |
17 | .idea
18 | Library
19 | Logs
20 | Temp
21 | obj
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreviewPackages: 0
16 | m_EnablePackageDependencies: 0
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | oneTimeWarningShown: 0
20 | m_Registries:
21 | - m_Id: main
22 | m_Name:
23 | m_Url: https://packages.unity.cn
24 | m_Scopes: []
25 | m_IsDefault: 1
26 | m_Capabilities: 7
27 | m_UserSelectedRegistryName:
28 | m_UserAddingNewScopedRegistry: 0
29 | m_RegistryInfoDraft:
30 | m_ErrorMessage:
31 | m_Original:
32 | m_Id:
33 | m_Name:
34 | m_Url:
35 | m_Scopes: []
36 | m_IsDefault: 0
37 | m_Capabilities: 0
38 | m_Modified: 0
39 | m_Name:
40 | m_Url:
41 | m_Scopes:
42 | -
43 | m_SelectedScopeIndex: 0
44 |
--------------------------------------------------------------------------------
/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: 9
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 0
10 | m_DefaultBehaviorMode: 0
11 | m_PrefabRegularEnvironment: {fileID: 0}
12 | m_PrefabUIEnvironment: {fileID: 0}
13 | m_SpritePackerMode: 0
14 | m_SpritePackerPaddingPower: 1
15 | m_EtcTextureCompressorBehavior: 1
16 | m_EtcTextureFastCompressor: 1
17 | m_EtcTextureNormalCompressor: 2
18 | m_EtcTextureBestCompressor: 4
19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref
20 | m_ProjectGenerationRootNamespace:
21 | m_CollabEditorSettings:
22 | inProgressEnabled: 1
23 | m_EnableTextureStreamingInEditMode: 1
24 | m_EnableTextureStreamingInPlayMode: 1
25 | m_AsyncShaderCompilation: 1
26 | m_EnterPlayModeOptionsEnabled: 0
27 | m_EnterPlayModeOptions: 3
28 | m_ShowLightmapResolutionOverlay: 1
29 | m_UseLegacyProbeSampleCount: 0
30 | m_AssetPipelineMode: 1
31 | m_CacheServerMode: 0
32 | m_CacheServerEndpoint:
33 | m_CacheServerNamespacePrefix: default
34 | m_CacheServerEnableDownload: 1
35 | m_CacheServerEnableUpload: 1
36 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 | /Assets/Plugins/Sirenix/
13 | /Assets/Plugins/ParadoxNotion/
14 |
15 | # Asset meta data should only be ignored when the corresponding asset is also ignored
16 | !/[Aa]ssets/**/*.meta
17 |
18 | # Uncomment this line if you wish to ignore the asset store tools plugin
19 | # /[Aa]ssets/AssetStoreTools*
20 |
21 | # Autogenerated Jetbrains Rider plugin
22 | [Aa]ssets/Plugins/Editor/JetBrains*
23 |
24 | # Visual Studio cache directory
25 | .vs/
26 |
27 | # Gradle cache directory
28 | .gradle/
29 |
30 | # Autogenerated VS/MD/Consulo solution and project files
31 | ExportedObj/
32 | .consulo/
33 | *.csproj
34 | *.unityproj
35 | *.sln
36 | *.suo
37 | *.tmp
38 | *.user
39 | *.userprefs
40 | *.pidb
41 | *.booproj
42 | *.svd
43 | *.pdb
44 | *.mdb
45 | *.opendb
46 | *.VC.db
47 |
48 | # Unity3D generated meta files
49 | *.pidb.meta
50 | *.pdb.meta
51 | *.mdb.meta
52 |
53 | # Unity3D generated file on crash reports
54 | sysinfo.txt
55 |
56 | # Builds
57 | *.apk
58 | *.unitypackage
59 |
60 | # Crashlytics generated file
61 | crashlytics-build.properties
62 |
63 |
--------------------------------------------------------------------------------
/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: 11
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_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 0
23 | m_ReuseCollisionCallbacks: 1
24 | m_ClothInterCollisionSettingsToggle: 0
25 | m_ContactPairsMode: 0
26 | m_BroadphaseType: 0
27 | m_WorldBounds:
28 | m_Center: {x: 0, y: 0, z: 0}
29 | m_Extent: {x: 250, y: 250, z: 250}
30 | m_WorldSubdivisions: 8
31 | m_FrictionType: 0
32 | m_EnableEnhancedDeterminism: 0
33 | m_EnableUnifiedHeightmaps: 1
34 | m_DefaultMaxAngluarSpeed: 7
35 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Utilities/ST_TimeToFrameCaculator.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月14日 22:48:30
5 | //------------------------------------------------------------
6 |
7 | using UnityEngine;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public static class ST_TimeToFrameCaculator
12 | {
13 | ///
14 | /// 帧率,即每秒Step多少次 TODO 现在使用的Unity FixedUpdate所以间隔为0.02,即刷新间隔为50ms
15 | ///
16 | public const int FrameFrequency = 50;
17 |
18 | ///
19 | /// 每帧的时间间隔,毫秒单位
20 | ///
21 | public const float FrameInterval = 1000f / FrameFrequency;
22 |
23 | ///
24 | /// 从时间长度计算帧数
25 | /// 例如FrameFrequency为 30 ,FrameInterval为 33.33 ,timeLength为600(ms),就有 600 / 33.33 = 18.0018,最后向上取整,最终结果为 19
26 | ///
27 | ///
28 | public static uint CaculateFrameCountFromTimeLength(long timeLength)
29 | {
30 | if (timeLength < 0)
31 | {
32 | Debug.LogError($"传递的时间长度:{timeLength} 非法,需要为大于等于0的长整形! ");
33 | return 0;
34 | }
35 |
36 | return (uint) Mathf.CeilToInt(timeLength / FrameInterval);
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_StartTimePoint.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月26日 23:20:19
5 | //------------------------------------------------------------
6 |
7 | namespace NKGSlate.Runtime
8 | {
9 | public class ST_StartTimePoint : ST_ITimePointer
10 | {
11 | public bool HasTrigger { get; set; }
12 | public ST_IDirectable GetTarget { get; }
13 |
14 | public uint TriggerFrame
15 | {
16 | get => GetTarget.StartFrame;
17 | set => GetTarget.StartFrame = value;
18 | }
19 |
20 | public ST_StartTimePoint(ST_IDirectable target)
21 | {
22 | GetTarget = target;
23 | }
24 |
25 | public void TriggerForward(uint currentFrame, uint previousFrame)
26 | {
27 | if (currentFrame >= TriggerFrame)
28 | {
29 | if (HasTrigger) return;
30 | HasTrigger = true;
31 | GetTarget.Enter(currentFrame);
32 | }
33 | }
34 |
35 | public void Update(uint currentFrame, uint previousFrame)
36 | {
37 | if (currentFrame >= TriggerFrame && currentFrame <= GetTarget.EndFrame)
38 | GetTarget.Update(currentFrame, previousFrame);
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_AParadoxNotionSlateActionBase.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月15日 19:11:02
5 | //------------------------------------------------------------
6 |
7 | using NKGSlate.Runtime;
8 | using Sirenix.OdinInspector;
9 | using Slate;
10 | using UnityEngine;
11 |
12 | namespace NKGSlate
13 | {
14 | ///
15 | /// 表现在Slate编辑器中的Action基类
16 | ///
17 | public abstract class ST_AParadoxNotionSlateActionBase : ActionClip
18 | {
19 | [SerializeField] [HideInInspector] private float m_Originlength = 1;
20 |
21 | public override float length
22 | {
23 | get { return m_Originlength; }
24 | set { m_Originlength = value; }
25 | }
26 |
27 | public override string info
28 | {
29 | get
30 | {
31 | if (string.IsNullOrEmpty(ActionName))
32 | {
33 | var nameAtt = this.GetType().RTGetAttribute(true);
34 | if ( nameAtt != null ) {
35 | return nameAtt.name;
36 | }
37 | return this.GetType().Name.SplitCamelCase();
38 | }
39 |
40 | return ActionName;
41 | }
42 | }
43 |
44 | [LabelText("Action名称")]
45 | public string ActionName;
46 |
47 | ///
48 | /// 绑定的数据,用于数据预览和导出
49 | ///
50 | [BoxGroup("绑定的数据", CenterLabel = true)] [HideLabel] public ST_DirectableData BindingDate;
51 | }
52 | }
--------------------------------------------------------------------------------
/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/NKGSlate/Core/Systems/Base/ST_CutScene.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月26日 23:23:34
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_CutScene:ST_IDirectable
12 | {
13 | public ST_DirectableData DirectableData { get; set; }
14 | public uint StartFrame { get; set; }
15 | public uint EndFrame { get; set; }
16 |
17 | public bool Initialize(uint currentFrame, ST_DirectableData stDirectableData)
18 | {
19 | this.DirectableData = stDirectableData;
20 | StartFrame =
21 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyStartTime);
22 | EndFrame =
23 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyEndTime);
24 | return OnInitialize(currentFrame);
25 | }
26 |
27 | public void Enter(uint currentFrame)
28 | {
29 |
30 | }
31 |
32 | public void Update(uint currentFrame, uint previousFrame)
33 | {
34 |
35 | }
36 |
37 | public void Exit()
38 | {
39 |
40 | }
41 |
42 | public virtual bool OnInitialize(uint currentFrame)
43 | {
44 | return true;
45 | }
46 |
47 | public virtual void OnEnter(uint currentFrame)
48 | {
49 | }
50 |
51 | public virtual void OnUpdate(uint currentFrame, uint previousFrame)
52 | {
53 | }
54 |
55 | public virtual void OnExit()
56 | {
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Group.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月25日 16:54:29
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_Group : ST_IDirectable
12 | {
13 | public ST_DirectableData DirectableData { get; set; }
14 | public uint StartFrame { get; set; }
15 | public uint EndFrame { get; set; }
16 |
17 | public bool Initialize(uint currentFrame, ST_DirectableData stDirectableData)
18 | {
19 | this.DirectableData = stDirectableData;
20 | StartFrame =
21 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyStartTime);
22 | EndFrame =
23 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyEndTime);
24 | return OnInitialize();
25 | }
26 |
27 | void ST_IDirectable.Enter(uint currentFrame)
28 | {
29 | OnEnter(currentFrame);
30 | }
31 |
32 | void ST_IDirectable.Update(uint currentFrame, uint previousFrame)
33 | {
34 | OnUpdate(currentFrame, previousFrame);
35 | }
36 |
37 | void ST_IDirectable.Exit()
38 | {
39 | OnExit();
40 | }
41 |
42 | public virtual bool OnInitialize()
43 | {
44 | return true;
45 | }
46 |
47 | public virtual void OnEnter(uint currentFrame)
48 | {
49 | }
50 |
51 | public virtual void OnUpdate(uint currentFrame, uint previousFrame)
52 | {
53 | }
54 |
55 | public virtual void OnExit()
56 | {
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Track.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月25日 16:54:17
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_Track : ST_IDirectable
12 | {
13 | public ST_DirectableData DirectableData { get; set; }
14 | public uint StartFrame { get; set; }
15 | public uint EndFrame { get; set; }
16 |
17 | public bool Initialize(uint currentFrame, ST_DirectableData stDirectableData)
18 | {
19 | this.DirectableData = stDirectableData;
20 | StartFrame =
21 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyStartTime);
22 | EndFrame =
23 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyEndTime);
24 | return OnInitialize(currentFrame);
25 | }
26 |
27 | void ST_IDirectable.Enter(uint currentFrame)
28 | {
29 | OnEnter(currentFrame);
30 | }
31 |
32 | void ST_IDirectable.Update(uint currentFrame, uint previousFrame)
33 | {
34 | OnUpdate(currentFrame, previousFrame);
35 | }
36 |
37 | void ST_IDirectable.Exit()
38 | {
39 | OnExit();
40 | }
41 |
42 | public virtual bool OnInitialize(uint currentFrame)
43 | {
44 | return true;
45 | }
46 |
47 | public virtual void OnEnter(uint currentFrame)
48 | {
49 | }
50 |
51 | public virtual void OnUpdate(uint currentFrame, uint previousFrame)
52 | {
53 | }
54 |
55 | public virtual void OnExit()
56 | {
57 | }
58 | }
59 | }
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.collab-proxy": "1.5.7",
4 | "com.unity.ext.nunit": "1.0.6",
5 | "com.unity.ide.rider": "2.0.7",
6 | "com.unity.ide.visualstudio": "2.0.8",
7 | "com.unity.ide.vscode": "1.2.3",
8 | "com.unity.properties": "1.6.0-preview",
9 | "com.unity.properties.ui": "1.6.2-preview.1",
10 | "com.unity.searcher": "4.7.0-preview",
11 | "com.unity.test-framework": "1.1.24",
12 | "com.unity.textmeshpro": "3.0.6",
13 | "com.unity.timeline": "1.4.8",
14 | "nuget.moq": "1.0.0",
15 | "com.unity.modules.ai": "1.0.0",
16 | "com.unity.modules.androidjni": "1.0.0",
17 | "com.unity.modules.animation": "1.0.0",
18 | "com.unity.modules.assetbundle": "1.0.0",
19 | "com.unity.modules.audio": "1.0.0",
20 | "com.unity.modules.cloth": "1.0.0",
21 | "com.unity.modules.director": "1.0.0",
22 | "com.unity.modules.imageconversion": "1.0.0",
23 | "com.unity.modules.imgui": "1.0.0",
24 | "com.unity.modules.jsonserialize": "1.0.0",
25 | "com.unity.modules.particlesystem": "1.0.0",
26 | "com.unity.modules.physics": "1.0.0",
27 | "com.unity.modules.physics2d": "1.0.0",
28 | "com.unity.modules.screencapture": "1.0.0",
29 | "com.unity.modules.terrain": "1.0.0",
30 | "com.unity.modules.terrainphysics": "1.0.0",
31 | "com.unity.modules.tilemap": "1.0.0",
32 | "com.unity.modules.ui": "1.0.0",
33 | "com.unity.modules.uielements": "1.0.0",
34 | "com.unity.modules.umbra": "1.0.0",
35 | "com.unity.modules.unityanalytics": "1.0.0",
36 | "com.unity.modules.unitywebrequest": "1.0.0",
37 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
38 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
39 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
40 | "com.unity.modules.unitywebrequestwww": "1.0.0",
41 | "com.unity.modules.vehicles": "1.0.0",
42 | "com.unity.modules.video": "1.0.0",
43 | "com.unity.modules.vr": "1.0.0",
44 | "com.unity.modules.wind": "1.0.0",
45 | "com.unity.modules.xr": "1.0.0"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/SlateEntry.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月12日 21:10:15
5 | //------------------------------------------------------------
6 |
7 | using System;
8 | using System.Collections.Generic;
9 | using System.IO;
10 | using Sirenix.Serialization;
11 | using UnityEngine;
12 |
13 | namespace NKGSlate.Runtime
14 | {
15 | public class SlateEntry : MonoBehaviour
16 | {
17 | public static Dictionary TypeInfos = new Dictionary()
18 | {
19 | {typeof(ST_LogActionData), typeof(ST_LogAction)},
20 | {typeof(ST_EventData), typeof(ST_Event)},
21 | };
22 |
23 | public ST_Director Director = new ST_Director();
24 | public ST_CutSceneData CutSceneData;
25 |
26 | private ST_CutSceneData DeserializeFromFile()
27 | {
28 | ST_CutSceneData sceneData =
29 | SerializationUtility.DeserializeValue(
30 | File.ReadAllBytes($"Assets/NKGSlate/Sample/Sample.bytes"), DataFormat.Binary);
31 | return sceneData;
32 | }
33 |
34 | private void Awake()
35 | {
36 | CutSceneData = DeserializeFromFile();
37 | }
38 |
39 | private void Update()
40 | {
41 | if (Input.GetKeyDown(KeyCode.Space))
42 | {
43 | if (Director.HasPaused)
44 | Director.Resume();
45 | else
46 | {
47 | Director.Pause();
48 | }
49 | }
50 |
51 | if (Input.GetKeyDown(KeyCode.Return))
52 | {
53 | Director.BeginPlay(Director.CurrentFrame, CutSceneData);
54 | }
55 | }
56 |
57 | private void FixedUpdate()
58 | {
59 | if (!Director.HasPaused && Director.HasInited)
60 | {
61 | Director.CurrentFrame += 1;
62 | }
63 |
64 | Director.Sample(Director.CurrentFrame);
65 | }
66 | }
67 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Action.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月25日 16:53:36
5 | //------------------------------------------------------------
6 |
7 | using System.Collections.Generic;
8 |
9 | namespace NKGSlate.Runtime
10 | {
11 | public class ST_Action : ST_IDirectable where T : ST_DirectableData
12 | {
13 | public ST_DirectableData DirectableData { get; set; }
14 |
15 | public T BindingData => DirectableData as T;
16 |
17 | ///
18 | /// 起始帧,为运行时计算的帧数
19 | ///
20 | public uint StartFrame { get; set; }
21 |
22 | ///
23 | /// 结束帧,为运行时计算的帧数
24 | ///
25 | public uint EndFrame { get; set; }
26 |
27 | public bool Initialize(uint currentFrame, ST_DirectableData stDirectableData)
28 | {
29 | this.DirectableData = stDirectableData;
30 | StartFrame =
31 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyStartTime);
32 | EndFrame =
33 | currentFrame + ST_TimeToFrameCaculator.CaculateFrameCountFromTimeLength(this.DirectableData.RelativelyEndTime);
34 | return OnInitialize(currentFrame);
35 | }
36 |
37 | void ST_IDirectable.Enter(uint currentFrame)
38 | {
39 | OnEnter(currentFrame);
40 | }
41 |
42 | void ST_IDirectable.Update(uint currentFrame, uint previousFrame)
43 | {
44 | OnUpdate(currentFrame, previousFrame);
45 | }
46 |
47 | void ST_IDirectable.Exit()
48 | {
49 | OnExit();
50 | }
51 |
52 | public virtual bool OnInitialize(uint currentFrame)
53 | {
54 | return true;
55 | }
56 |
57 | public virtual void OnEnter(uint currentFrame)
58 | {
59 | }
60 |
61 | public virtual void OnUpdate(uint currentFrame, uint previousFrame)
62 | {
63 | }
64 |
65 | public virtual void OnExit()
66 | {
67 | }
68 | }
69 | }
--------------------------------------------------------------------------------
/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: 4
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_JobOptions:
23 | serializedVersion: 2
24 | useMultithreading: 0
25 | useConsistencySorting: 0
26 | m_InterpolationPosesPerJob: 100
27 | m_NewContactsPerJob: 30
28 | m_CollideContactsPerJob: 100
29 | m_ClearFlagsPerJob: 200
30 | m_ClearBodyForcesPerJob: 200
31 | m_SyncDiscreteFixturesPerJob: 50
32 | m_SyncContinuousFixturesPerJob: 50
33 | m_FindNearestContactsPerJob: 100
34 | m_UpdateTriggerContactsPerJob: 100
35 | m_IslandSolverCostThreshold: 100
36 | m_IslandSolverBodyCostScale: 1
37 | m_IslandSolverContactCostScale: 10
38 | m_IslandSolverJointCostScale: 10
39 | m_IslandSolverBodiesPerJob: 50
40 | m_IslandSolverContactsPerJob: 50
41 | m_AutoSimulation: 1
42 | m_QueriesHitTriggers: 1
43 | m_QueriesStartInColliders: 1
44 | m_CallbacksOnDisable: 1
45 | m_ReuseCollisionCallbacks: 1
46 | m_AutoSyncTransforms: 0
47 | m_AlwaysShowColliders: 0
48 | m_ShowColliderSleep: 1
49 | m_ShowColliderContacts: 0
50 | m_ShowColliderAABB: 0
51 | m_ContactArrowScale: 0.2
52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
57 |
--------------------------------------------------------------------------------
/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: 13
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 | m_LogWhenShaderIsCompiled: 0
63 | m_AllowEnlightenSupportForUpgradedProject: 0
64 |
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionCutScene.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月15日 21:51:50
5 | //------------------------------------------------------------
6 |
7 | using System.IO;
8 | using NKGSlate.Runtime;
9 | using Sirenix.OdinInspector;
10 | using Sirenix.Serialization;
11 | using Slate;
12 |
13 | namespace NKGSlate
14 | {
15 | public class ST_ParadoxNotionCutScene : Cutscene
16 | {
17 | ///
18 | /// 导出技能数据
19 | ///
20 | [Button("导出技能数据", 35), GUIColor(0.78f, 0.23f, 0.56f)]
21 | public void ExportSkillDatas()
22 | {
23 | ST_CutSceneData stCutSceneData = new ST_CutSceneData();
24 | foreach (var gCutsceneGroup in this.groups)
25 | {
26 | if (gCutsceneGroup is ST_ParadoxNotionGroup stParadoxNotionGroup)
27 | {
28 | ST_GroupData stGroupData = new ST_GroupData();
29 | foreach (var cutsceneTrack in stParadoxNotionGroup.tracks)
30 | {
31 | ST_TrackData stTrackData = new ST_TrackData();
32 | foreach (var cutsceneTrackClip in cutsceneTrack.clips)
33 | {
34 | ST_AParadoxNotionSlateActionBase aParadoxNotionSlateActionBase =
35 | cutsceneTrackClip as ST_AParadoxNotionSlateActionBase;
36 | ST_DirectableData stActionData = aParadoxNotionSlateActionBase.BindingDate;
37 | stActionData.RelativelyStartTime = (long) (aParadoxNotionSlateActionBase.startTime * 1000);
38 | stActionData.RelativelyEndTime = (long) (aParadoxNotionSlateActionBase.endTime * 1000);
39 | stTrackData.ActionDatas.Add(stActionData as ST_ActionData);
40 | }
41 |
42 | stGroupData.TrackDatas.Add(stTrackData);
43 | }
44 |
45 | stCutSceneData.GroupDatas.Add(stGroupData);
46 | }
47 | }
48 |
49 |
50 | using (FileStream file = File.Create($"Assets/NKGSlate/Sample/Sample.bytes"))
51 | {
52 | byte[] serResult = SerializationUtility.SerializeValue(stCutSceneData, DataFormat.Binary);
53 | file.Write(serResult, 0, serResult.Length);
54 | }
55 | }
56 | }
57 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # SkillEditorBasedOnSlate
3 | 基于ParadoxNotion Slate的帧同步技能编辑器,博客链接:[ParadoxNotion-Slate学习笔记与拓展计划](https://www.lfzxb.top/unity-slate-study-and-extendplan/)
4 |
5 | 本项目只作为一个最小使用案例,工业级的使用案例请参见:[基于ET框架致敬LOL的Moba游戏,包含完整的客户端与服务端交互,热更新,基于双端行为树的技能系统,更多精彩等你发现!](https://gitee.com/NKG_admin/NKGMobaBasedOnET)
6 |
7 | 项目使用了两款插件,请自行购买并导入Assets/Plugins/目录中
8 |
9 | - [ParadoxNotion-Slate](https://slate.paradoxnotion.com/)
10 | - [Odin](https://odininspector.com/)
11 |
12 | ## 功能列表
13 |
14 | - [x] 基于帧同步的技能系统运行时
15 | - [x] 重写Slate创建Group的编辑器界面代码
16 | - [x] 部分Action库
17 | - [x] 技能数据的编辑与导出
18 | - [x] 测试用例
19 |
20 | ## 使用说明
21 |
22 | 在Scene场景新建一个游戏物体,并添加图中组件
23 |
24 | 
25 |
26 | 主要功能为编辑数据和导出数据
27 |
28 | 
29 |
30 | 新建一个Skil Group
31 |
32 | 
33 |
34 | 新建Action
35 |
36 | 
37 |
38 | 选中Action即可在Inspector预览和编辑数据
39 |
40 | 
41 |
42 | 点击导出数据
43 |
44 | 
45 |
46 | 在Scene场景新建一个游戏物体,并为其添加图中组件
47 |
48 | 
49 |
50 | 运行游戏,回车键为重新执行技能,空格键为暂停/恢复技能运行
51 |
52 | ## 更改内容
53 |
54 | 下列更改内容需要您手动将链接中的文件替换到Slate插件中
55 |
56 | 由于我们需要用Odin在Inpsector绘制内容,所以需要更改Slate自带的CustomEditor绘制:
57 |
58 | - [替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Design/Editor/Inspectors/ActionClipInspector.cs](https://github.com/wqaetly/SkillEditorBasedOnSlate/blob/main/SlateChangedFiles/ActionClipInspector.cs)
59 | - [替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Design/Editor/Inspectors/CutsceneInspector.cs](https://github.com/wqaetly/SkillEditorBasedOnSlate/blob/main/SlateChangedFiles/CutsceneInspector.cs)
60 |
61 | 由于我们为了分离数据运行时逻辑,采用了较为复杂的引用和层级关系,所以需要借助Odin的序列化,也就需要更改Slate ActionClip的继承对象为SerializedMonoBehaviour:
62 |
63 | - [替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Directables/Clips/Runtime/ActionTrack/ActorActions/ActionClip.cs](https://github.com/wqaetly/SkillEditorBasedOnSlate/blob/main/SlateChangedFiles/ActionClip.cs)
64 |
65 | 出于个人喜好和可拓展性的考虑,重写了CutSceneEditor部分代码:
66 | - [替换Plugins/ParadoxNotion/SLATE Cinematic Sequencer/Design/Editor/Windows/CutsceneEditor.cs](https://github.com/wqaetly/SkillEditorBasedOnSlate/blob/main/SlateChangedFiles/CutsceneEditor.cs)
67 |
68 | 现在支持从搜索栏左侧的加号按钮新增Group
69 |
70 | 
71 |
72 | 
73 |
--------------------------------------------------------------------------------
/Assets/Plugins/NKGSlate/Core/ST_ParadoxNotionGroup.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年8月17日 21:30:28
5 | //------------------------------------------------------------
6 |
7 | using Slate;
8 | using UnityEngine;
9 |
10 | namespace NKGSlate
11 | {
12 | [Description("一个技能Track组,可包含多个Skill Track")]
13 | public class ST_ParadoxNotionGroup: CutsceneGroup
14 | {
15 | [SerializeField]
16 | private string _name;
17 | [SerializeField]
18 | private GameObject _actor;
19 |
20 | [SerializeField]
21 | private ActorReferenceMode _referenceMode;
22 |
23 | [SerializeField]
24 | [UnityEngine.Serialization.FormerlySerializedAs("_initialTransformation")]
25 | private ActorInitialTransformation _initialCoordinates;
26 | [SerializeField]
27 | [ShowIf("_initialCoordinates", 1)]
28 | private Vector3 _initialLocalPosition;
29 | [SerializeField]
30 | [ShowIf("_initialCoordinates", 1)]
31 | private Vector3 _initialLocalRotation;
32 | [SerializeField]
33 | [ShowIf("_initialCoordinates", 1)]
34 | private bool _displayVirtualMeshGizmo = true;
35 |
36 | public override string name {
37 | get { return string.IsNullOrEmpty(_name) ? ( actor != null ? actor.name : null ) : _name; }
38 | set { _name = value; }
39 | }
40 |
41 | public override GameObject actor {
42 | get { return base.ResolveActor(_actor); }
43 | set
44 | {
45 | if ( _actor != value ) {
46 | _actor = value;
47 |
48 | #if UNITY_EDITOR
49 | if ( value != null && !Application.isPlaying ) {
50 | if ( UnityEditor.EditorUtility.IsPersistent(value) ) {
51 | referenceMode = ActorReferenceMode.UseInstanceHideOriginal;
52 | initialTransformation = ActorInitialTransformation.UseLocal;
53 |
54 | }
55 | }
56 | #endif
57 |
58 | }
59 | }
60 | }
61 |
62 | public override ActorReferenceMode referenceMode {
63 | get { return _referenceMode; }
64 | set { _referenceMode = value; }
65 | }
66 |
67 | public override ActorInitialTransformation initialTransformation {
68 | get { return _initialCoordinates; }
69 | set { _initialCoordinates = value; }
70 | }
71 |
72 | public override Vector3 initialLocalPosition {
73 | get { return _initialLocalPosition; }
74 | set { _initialLocalPosition = value; }
75 | }
76 |
77 | public override Vector3 initialLocalRotation {
78 | get { return _initialLocalRotation; }
79 | set { _initialLocalRotation = value; }
80 | }
81 |
82 | public override bool displayVirtualMeshGizmo {
83 | get { return _displayVirtualMeshGizmo; }
84 | set { _displayVirtualMeshGizmo = value; }
85 | }
86 | }
87 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Sample/Cube.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &2910366045333253820
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 4401718731657747931}
12 | - component: {fileID: 5539753936731224180}
13 | - component: {fileID: 5199981875593809260}
14 | - component: {fileID: 5791436609237515918}
15 | m_Layer: 0
16 | m_Name: Cube
17 | m_TagString: Untagged
18 | m_Icon: {fileID: 0}
19 | m_NavMeshLayer: 0
20 | m_StaticEditorFlags: 0
21 | m_IsActive: 1
22 | --- !u!4 &4401718731657747931
23 | Transform:
24 | m_ObjectHideFlags: 0
25 | m_CorrespondingSourceObject: {fileID: 0}
26 | m_PrefabInstance: {fileID: 0}
27 | m_PrefabAsset: {fileID: 0}
28 | m_GameObject: {fileID: 2910366045333253820}
29 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
30 | m_LocalPosition: {x: 0, y: 0, z: 0}
31 | m_LocalScale: {x: 1, y: 1, z: 1}
32 | m_Children: []
33 | m_Father: {fileID: 0}
34 | m_RootOrder: 0
35 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
36 | --- !u!33 &5539753936731224180
37 | MeshFilter:
38 | m_ObjectHideFlags: 0
39 | m_CorrespondingSourceObject: {fileID: 0}
40 | m_PrefabInstance: {fileID: 0}
41 | m_PrefabAsset: {fileID: 0}
42 | m_GameObject: {fileID: 2910366045333253820}
43 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
44 | --- !u!23 &5199981875593809260
45 | MeshRenderer:
46 | m_ObjectHideFlags: 0
47 | m_CorrespondingSourceObject: {fileID: 0}
48 | m_PrefabInstance: {fileID: 0}
49 | m_PrefabAsset: {fileID: 0}
50 | m_GameObject: {fileID: 2910366045333253820}
51 | m_Enabled: 1
52 | m_CastShadows: 1
53 | m_ReceiveShadows: 1
54 | m_DynamicOccludee: 1
55 | m_MotionVectors: 1
56 | m_LightProbeUsage: 1
57 | m_ReflectionProbeUsage: 1
58 | m_RayTracingMode: 2
59 | m_RayTraceProcedural: 0
60 | m_RenderingLayerMask: 1
61 | m_RendererPriority: 0
62 | m_Materials:
63 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
64 | m_StaticBatchInfo:
65 | firstSubMesh: 0
66 | subMeshCount: 0
67 | m_StaticBatchRoot: {fileID: 0}
68 | m_ProbeAnchor: {fileID: 0}
69 | m_LightProbeVolumeOverride: {fileID: 0}
70 | m_ScaleInLightmap: 1
71 | m_ReceiveGI: 1
72 | m_PreserveUVs: 0
73 | m_IgnoreNormalsForChartDetection: 0
74 | m_ImportantGI: 0
75 | m_StitchLightmapSeams: 1
76 | m_SelectedEditorRenderState: 3
77 | m_MinimumChartSize: 4
78 | m_AutoUVMaxDistance: 0.5
79 | m_AutoUVMaxAngle: 89
80 | m_LightmapParameters: {fileID: 0}
81 | m_SortingLayerID: 0
82 | m_SortingLayer: 0
83 | m_SortingOrder: 0
84 | m_AdditionalVertexStreams: {fileID: 0}
85 | --- !u!65 &5791436609237515918
86 | BoxCollider:
87 | m_ObjectHideFlags: 0
88 | m_CorrespondingSourceObject: {fileID: 0}
89 | m_PrefabInstance: {fileID: 0}
90 | m_PrefabAsset: {fileID: 0}
91 | m_GameObject: {fileID: 2910366045333253820}
92 | m_Material: {fileID: 0}
93 | m_IsTrigger: 0
94 | m_Enabled: 1
95 | serializedVersion: 2
96 | m_Size: {x: 1, y: 1, z: 1}
97 | m_Center: {x: 0, y: 0, z: 0}
98 |
--------------------------------------------------------------------------------
/ProjectSettings/SceneTemplateSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "templatePinStates": [],
3 | "dependencyTypeInfos": [
4 | {
5 | "userAdded": false,
6 | "type": "UnityEngine.AnimationClip",
7 | "ignore": false,
8 | "defaultInstantiationMode": 0,
9 | "supportsModification": true
10 | },
11 | {
12 | "userAdded": false,
13 | "type": "UnityEditor.Animations.AnimatorController",
14 | "ignore": false,
15 | "defaultInstantiationMode": 0,
16 | "supportsModification": true
17 | },
18 | {
19 | "userAdded": false,
20 | "type": "UnityEngine.AnimatorOverrideController",
21 | "ignore": false,
22 | "defaultInstantiationMode": 0,
23 | "supportsModification": true
24 | },
25 | {
26 | "userAdded": false,
27 | "type": "UnityEditor.Audio.AudioMixerController",
28 | "ignore": false,
29 | "defaultInstantiationMode": 0,
30 | "supportsModification": true
31 | },
32 | {
33 | "userAdded": false,
34 | "type": "UnityEngine.ComputeShader",
35 | "ignore": true,
36 | "defaultInstantiationMode": 1,
37 | "supportsModification": true
38 | },
39 | {
40 | "userAdded": false,
41 | "type": "UnityEngine.Cubemap",
42 | "ignore": false,
43 | "defaultInstantiationMode": 0,
44 | "supportsModification": true
45 | },
46 | {
47 | "userAdded": false,
48 | "type": "UnityEngine.GameObject",
49 | "ignore": false,
50 | "defaultInstantiationMode": 0,
51 | "supportsModification": true
52 | },
53 | {
54 | "userAdded": false,
55 | "type": "UnityEditor.LightingDataAsset",
56 | "ignore": false,
57 | "defaultInstantiationMode": 0,
58 | "supportsModification": false
59 | },
60 | {
61 | "userAdded": false,
62 | "type": "UnityEngine.LightingSettings",
63 | "ignore": false,
64 | "defaultInstantiationMode": 0,
65 | "supportsModification": true
66 | },
67 | {
68 | "userAdded": false,
69 | "type": "UnityEngine.Material",
70 | "ignore": false,
71 | "defaultInstantiationMode": 0,
72 | "supportsModification": true
73 | },
74 | {
75 | "userAdded": false,
76 | "type": "UnityEditor.MonoScript",
77 | "ignore": true,
78 | "defaultInstantiationMode": 1,
79 | "supportsModification": true
80 | },
81 | {
82 | "userAdded": false,
83 | "type": "UnityEngine.PhysicMaterial",
84 | "ignore": false,
85 | "defaultInstantiationMode": 0,
86 | "supportsModification": true
87 | },
88 | {
89 | "userAdded": false,
90 | "type": "UnityEngine.PhysicsMaterial2D",
91 | "ignore": false,
92 | "defaultInstantiationMode": 0,
93 | "supportsModification": true
94 | },
95 | {
96 | "userAdded": false,
97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
98 | "ignore": false,
99 | "defaultInstantiationMode": 0,
100 | "supportsModification": true
101 | },
102 | {
103 | "userAdded": false,
104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
105 | "ignore": false,
106 | "defaultInstantiationMode": 0,
107 | "supportsModification": true
108 | },
109 | {
110 | "userAdded": false,
111 | "type": "UnityEngine.Rendering.VolumeProfile",
112 | "ignore": false,
113 | "defaultInstantiationMode": 0,
114 | "supportsModification": true
115 | },
116 | {
117 | "userAdded": false,
118 | "type": "UnityEditor.SceneAsset",
119 | "ignore": false,
120 | "defaultInstantiationMode": 0,
121 | "supportsModification": false
122 | },
123 | {
124 | "userAdded": false,
125 | "type": "UnityEngine.Shader",
126 | "ignore": true,
127 | "defaultInstantiationMode": 1,
128 | "supportsModification": true
129 | },
130 | {
131 | "userAdded": false,
132 | "type": "UnityEngine.ShaderVariantCollection",
133 | "ignore": true,
134 | "defaultInstantiationMode": 1,
135 | "supportsModification": true
136 | },
137 | {
138 | "userAdded": false,
139 | "type": "UnityEngine.Texture",
140 | "ignore": false,
141 | "defaultInstantiationMode": 0,
142 | "supportsModification": true
143 | },
144 | {
145 | "userAdded": false,
146 | "type": "UnityEngine.Texture2D",
147 | "ignore": false,
148 | "defaultInstantiationMode": 0,
149 | "supportsModification": true
150 | },
151 | {
152 | "userAdded": false,
153 | "type": "UnityEngine.Timeline.TimelineAsset",
154 | "ignore": false,
155 | "defaultInstantiationMode": 0,
156 | "supportsModification": true
157 | }
158 | ],
159 | "defaultDependencyTypeInfo": {
160 | "userAdded": false,
161 | "type": "",
162 | "ignore": false,
163 | "defaultInstantiationMode": 1,
164 | "supportsModification": true
165 | },
166 | "newSceneOverride": 0
167 | }
--------------------------------------------------------------------------------
/Assets/NKGSlate/Core/Systems/Base/ST_Director.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------
2 | // Author: 烟雨迷离半世殇
3 | // Mail: 1778139321@qq.com
4 | // Data: 2021年7月25日 17:25:41
5 | //------------------------------------------------------------
6 |
7 | using System;
8 | using System.Collections.Generic;
9 | using System.Linq;
10 | using UnityEngine;
11 |
12 | namespace NKGSlate.Runtime
13 | {
14 | public class ST_Director
15 | {
16 | ///
17 | /// 一个导演只能导一部片子
18 | ///
19 | private ST_CutSceneData m_TargetCutSceneData;
20 |
21 | ///
22 | /// 每个导演自己管理一个CurrentFrame,用于处理顿帧的情况
23 | ///
24 | public uint CurrentFrame;
25 |
26 | private uint m_PreviousFrame;
27 | private uint m_MaxFrame;
28 | public bool HasPaused;
29 | public bool HasExited;
30 | public bool HasInited;
31 |
32 | ///
33 | /// 已排序的全部时间节点,之所以排序是因为前置触发可能会影响后续触发的条件
34 | ///
35 | private List m_TimePoints;
36 |
37 | ///
38 | /// 未排序的开始时间节点,之所以不需要排序,是因为在其Tick之前,m_TimePoints已经处理了进入/退出时触发的逻辑
39 | /// 所以这里只要条件符合,就可以进行乱序Tick
40 | ///
41 | private List m_UnsortedTimePoints;
42 |
43 | ///
44 | /// 从头开始播放
45 | ///
46 | ///
47 | public void BeginPlay(uint currentFrame, ST_CutSceneData targetCustSceneData)
48 | {
49 | m_TargetCutSceneData = targetCustSceneData;
50 | InitializeTimePointers(currentFrame);
51 | HasInited = true;
52 | HasPaused = false;
53 | HasExited = false;
54 | }
55 |
56 | ///
57 | /// 暂停播放
58 | ///
59 | public void Pause()
60 | {
61 | HasPaused = true;
62 | }
63 |
64 | ///
65 | /// 停止播放
66 | ///
67 | public void Stop()
68 | {
69 | HasExited = true;
70 | }
71 |
72 | ///
73 | /// 从暂停恢复播放
74 | ///
75 | public void Resume()
76 | {
77 | HasPaused = false;
78 | }
79 |
80 | ///
81 | /// 对Group进行Tick
82 | ///
83 | /// 当前帧数
84 | public void Sample(uint currentFrame)
85 | {
86 | if (HasPaused || HasExited || !HasInited) return;
87 |
88 | Internal_SamplePointers(currentFrame, m_PreviousFrame);
89 | m_PreviousFrame = currentFrame;
90 | }
91 |
92 |
93 | private void InitializeTimePointers(uint currentFrame)
94 | {
95 | m_TimePoints = new List();
96 | m_UnsortedTimePoints = new List();
97 |
98 | foreach (ST_GroupData stGroupData in m_TargetCutSceneData.GroupDatas.AsEnumerable().Reverse())
99 | {
100 | ST_Group stGroup = new ST_Group();
101 |
102 | if (stGroup.Initialize(currentFrame, stGroupData))
103 | {
104 | var p1 = new ST_StartTimePoint(stGroup);
105 | m_TimePoints.Add(p1);
106 |
107 | foreach (ST_TrackData stTrackData in stGroupData.TrackDatas.AsEnumerable().Reverse())
108 | {
109 | ST_Track stTrack = new ST_Track();
110 |
111 | if (stTrack.Initialize(currentFrame, stTrackData))
112 | {
113 | var p2 = new ST_StartTimePoint(stTrack);
114 | m_TimePoints.Add(p2);
115 |
116 | foreach (ST_ActionData stActionData in stTrackData.ActionDatas)
117 | {
118 | ST_IDirectable stAction =
119 | Activator.CreateInstance(SlateEntry.TypeInfos[stActionData.GetType()]) as
120 | ST_IDirectable;
121 |
122 | if (stAction.Initialize(currentFrame, stActionData))
123 | {
124 | var p3 = new ST_StartTimePoint(stAction);
125 | m_TimePoints.Add(p3);
126 |
127 | m_UnsortedTimePoints.Add(p3);
128 | m_TimePoints.Add(new ST_EndTimePoint(stAction));
129 | }
130 | }
131 |
132 | m_UnsortedTimePoints.Add(p2);
133 | m_TimePoints.Add(new ST_EndTimePoint(stTrack));
134 | }
135 | }
136 |
137 | m_UnsortedTimePoints.Add(p1);
138 | m_TimePoints.Add(new ST_EndTimePoint(stGroup));
139 | }
140 | }
141 |
142 | m_TimePoints = m_TimePoints.OrderBy(p => p.TriggerFrame).ToList();
143 | }
144 |
145 | private void Internal_SamplePointers(uint currentTime, uint previousTime)
146 | {
147 | if (currentTime > previousTime)
148 | {
149 | foreach (var t in m_TimePoints)
150 | {
151 | try
152 | {
153 | t.TriggerForward(currentTime, previousTime);
154 | }
155 | catch (System.Exception e)
156 | {
157 | Debug.LogException(e);
158 | }
159 | }
160 | }
161 |
162 | foreach (var t in m_UnsortedTimePoints)
163 | {
164 | try
165 | {
166 | t.Update(currentTime, previousTime);
167 | }
168 | catch (System.Exception e)
169 | {
170 | Debug.LogException(e);
171 | }
172 | }
173 | }
174 | }
175 | }
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | excludedTargetPlatforms: []
44 | - serializedVersion: 2
45 | name: Low
46 | pixelLightCount: 0
47 | shadows: 0
48 | shadowResolution: 0
49 | shadowProjection: 1
50 | shadowCascades: 1
51 | shadowDistance: 20
52 | shadowNearPlaneOffset: 3
53 | shadowCascade2Split: 0.33333334
54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
55 | shadowmaskMode: 0
56 | blendWeights: 2
57 | textureQuality: 0
58 | anisotropicTextures: 0
59 | antiAliasing: 0
60 | softParticles: 0
61 | softVegetation: 0
62 | realtimeReflectionProbes: 0
63 | billboardsFaceCameraPosition: 0
64 | vSyncCount: 0
65 | lodBias: 0.4
66 | maximumLODLevel: 0
67 | streamingMipmapsActive: 0
68 | streamingMipmapsAddAllCameras: 1
69 | streamingMipmapsMemoryBudget: 512
70 | streamingMipmapsRenderersPerFrame: 512
71 | streamingMipmapsMaxLevelReduction: 2
72 | streamingMipmapsMaxFileIORequests: 1024
73 | particleRaycastBudget: 16
74 | asyncUploadTimeSlice: 2
75 | asyncUploadBufferSize: 16
76 | asyncUploadPersistentBuffer: 1
77 | resolutionScalingFixedDPIFactor: 1
78 | excludedTargetPlatforms: []
79 | - serializedVersion: 2
80 | name: Medium
81 | pixelLightCount: 1
82 | shadows: 1
83 | shadowResolution: 0
84 | shadowProjection: 1
85 | shadowCascades: 1
86 | shadowDistance: 20
87 | shadowNearPlaneOffset: 3
88 | shadowCascade2Split: 0.33333334
89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
90 | shadowmaskMode: 0
91 | blendWeights: 2
92 | textureQuality: 0
93 | anisotropicTextures: 1
94 | antiAliasing: 0
95 | softParticles: 0
96 | softVegetation: 0
97 | realtimeReflectionProbes: 0
98 | billboardsFaceCameraPosition: 0
99 | vSyncCount: 1
100 | lodBias: 0.7
101 | maximumLODLevel: 0
102 | streamingMipmapsActive: 0
103 | streamingMipmapsAddAllCameras: 1
104 | streamingMipmapsMemoryBudget: 512
105 | streamingMipmapsRenderersPerFrame: 512
106 | streamingMipmapsMaxLevelReduction: 2
107 | streamingMipmapsMaxFileIORequests: 1024
108 | particleRaycastBudget: 64
109 | asyncUploadTimeSlice: 2
110 | asyncUploadBufferSize: 16
111 | asyncUploadPersistentBuffer: 1
112 | resolutionScalingFixedDPIFactor: 1
113 | excludedTargetPlatforms: []
114 | - serializedVersion: 2
115 | name: High
116 | pixelLightCount: 2
117 | shadows: 2
118 | shadowResolution: 1
119 | shadowProjection: 1
120 | shadowCascades: 2
121 | shadowDistance: 40
122 | shadowNearPlaneOffset: 3
123 | shadowCascade2Split: 0.33333334
124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
125 | shadowmaskMode: 1
126 | blendWeights: 2
127 | textureQuality: 0
128 | anisotropicTextures: 1
129 | antiAliasing: 0
130 | softParticles: 0
131 | softVegetation: 1
132 | realtimeReflectionProbes: 1
133 | billboardsFaceCameraPosition: 1
134 | vSyncCount: 1
135 | lodBias: 1
136 | maximumLODLevel: 0
137 | streamingMipmapsActive: 0
138 | streamingMipmapsAddAllCameras: 1
139 | streamingMipmapsMemoryBudget: 512
140 | streamingMipmapsRenderersPerFrame: 512
141 | streamingMipmapsMaxLevelReduction: 2
142 | streamingMipmapsMaxFileIORequests: 1024
143 | particleRaycastBudget: 256
144 | asyncUploadTimeSlice: 2
145 | asyncUploadBufferSize: 16
146 | asyncUploadPersistentBuffer: 1
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Very High
151 | pixelLightCount: 3
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 2
156 | shadowDistance: 70
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 2
164 | antiAliasing: 2
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 1.5
171 | maximumLODLevel: 0
172 | streamingMipmapsActive: 0
173 | streamingMipmapsAddAllCameras: 1
174 | streamingMipmapsMemoryBudget: 512
175 | streamingMipmapsRenderersPerFrame: 512
176 | streamingMipmapsMaxLevelReduction: 2
177 | streamingMipmapsMaxFileIORequests: 1024
178 | particleRaycastBudget: 1024
179 | asyncUploadTimeSlice: 2
180 | asyncUploadBufferSize: 16
181 | asyncUploadPersistentBuffer: 1
182 | resolutionScalingFixedDPIFactor: 1
183 | excludedTargetPlatforms: []
184 | - serializedVersion: 2
185 | name: Ultra
186 | pixelLightCount: 4
187 | shadows: 2
188 | shadowResolution: 2
189 | shadowProjection: 1
190 | shadowCascades: 4
191 | shadowDistance: 150
192 | shadowNearPlaneOffset: 3
193 | shadowCascade2Split: 0.33333334
194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
195 | shadowmaskMode: 1
196 | blendWeights: 4
197 | textureQuality: 0
198 | anisotropicTextures: 2
199 | antiAliasing: 2
200 | softParticles: 1
201 | softVegetation: 1
202 | realtimeReflectionProbes: 1
203 | billboardsFaceCameraPosition: 1
204 | vSyncCount: 1
205 | lodBias: 2
206 | maximumLODLevel: 0
207 | streamingMipmapsActive: 0
208 | streamingMipmapsAddAllCameras: 1
209 | streamingMipmapsMemoryBudget: 512
210 | streamingMipmapsRenderersPerFrame: 512
211 | streamingMipmapsMaxLevelReduction: 2
212 | streamingMipmapsMaxFileIORequests: 1024
213 | particleRaycastBudget: 4096
214 | asyncUploadTimeSlice: 2
215 | asyncUploadBufferSize: 16
216 | asyncUploadPersistentBuffer: 1
217 | resolutionScalingFixedDPIFactor: 1
218 | excludedTargetPlatforms: []
219 | m_PerPlatformDefaultQuality:
220 | Android: 2
221 | Lumin: 5
222 | Nintendo 3DS: 5
223 | Nintendo Switch: 5
224 | PS4: 5
225 | PSP2: 2
226 | Stadia: 5
227 | Standalone: 5
228 | WebGL: 3
229 | Windows Store Apps: 5
230 | XboxOne: 5
231 | iPhone: 2
232 | tvOS: 2
233 |
--------------------------------------------------------------------------------
/SlateChangedFiles/CutsceneInspector.cs:
--------------------------------------------------------------------------------
1 | #if UNITY_EDITOR
2 |
3 | using UnityEditor;
4 | using UnityEngine;
5 | using System.Collections;
6 | using System.Collections.Generic;
7 | using System.Reflection;
8 | using System.Linq;
9 | using Sirenix.OdinInspector.Editor;
10 |
11 | namespace Slate
12 | {
13 | [CustomEditor(typeof(Cutscene), true)]
14 | public class CutsceneInspector : OdinEditor
15 | {
16 | private bool optionsFold = true;
17 | private bool actorsFold = false;
18 |
19 | private static Cutscene cutscene;
20 | private static bool willResample;
21 | private static bool willDirty;
22 | private static Dictionary