├── .gitattributes
├── .gitignore
├── .gitmodules
├── .travis.yml
├── Andeart.ReorderableListEditor.gif
├── LICENSE.md
├── README.md
├── ReorderableListEditor.Demo
├── Assets
│ ├── Libraries.meta
│ ├── Libraries
│ │ ├── Andeart.ReorderableListEditor.meta
│ │ └── Andeart.ReorderableListEditor
│ │ │ ├── Andeart.ReorderableListEditor.dll
│ │ │ ├── Andeart.ReorderableListEditor.dll.mdb
│ │ │ ├── Andeart.ReorderableListEditor.dll.mdb.meta
│ │ │ ├── Andeart.ReorderableListEditor.dll.meta
│ │ │ ├── Andeart.ReorderableListEditor.pdb
│ │ │ ├── Andeart.ReorderableListEditor.pdb.meta
│ │ │ ├── Andeart.ReorderableListEditor.xml
│ │ │ └── Andeart.ReorderableListEditor.xml.meta
│ ├── Scenes.meta
│ ├── Scenes
│ │ ├── GameContext.unity
│ │ └── GameContext.unity.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── MainContext.cs
│ │ └── MainContext.cs.meta
├── Packages
│ └── manifest.json
└── ProjectSettings
│ ├── AudioManager.asset
│ ├── ClusterInputManager.asset
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── NavMeshAreas.asset
│ ├── NetworkManager.asset
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── UnityConnectSettings.asset
│ └── VFXManager.asset
├── ReorderableListEditor
├── ReorderableListEditor.sln
└── ReorderableListEditor
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── References
│ ├── UnityEditor.dll
│ ├── UnityEditor.xml
│ ├── UnityEngine.dll
│ └── UnityEngine.xml
│ ├── ReorderableListEditor.cs
│ ├── ReorderableListEditor.csproj
│ ├── ReorderableListEditor.nuspec
│ └── ReorderableListEditorUtils.cs
└── unity-dirs.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # User-specific files
2 | *.suo
3 | *.user
4 | *.userosscache
5 | *.sln.docstates
6 |
7 | # User-specific files (MonoDevelop/Xamarin Studio)
8 | *.userprefs
9 |
10 | # Build results
11 | [Dd]ebug/
12 | [Dd]ebugPublic/
13 | [Rr]elease/
14 | [Rr]eleases/
15 | x64/
16 | x86/
17 | bld/
18 | [Bb]in/
19 | [Oo]bj/
20 | [Ll]og/
21 |
22 | # Unity files/folders
23 | [Ll]ibrary/
24 | [Tt]emp/
25 | [Oo]bj/
26 | [Bb]uild/
27 | [Bb]uilds/
28 | [Ll]ogs/
29 |
30 | # Visual Studio 2015/2017 cache/options directory
31 | .vs/
32 | # Uncomment if you have tasks that create the project's static files in wwwroot
33 | #wwwroot/
34 |
35 | # Visual Studio 2017 auto generated files
36 | Generated\ Files/
37 |
38 | # MSTest test Results
39 | [Tt]est[Rr]esult*/
40 | [Bb]uild[Ll]og.*
41 |
42 | # NUNIT
43 | *.VisualState.xml
44 | TestResult.xml
45 |
46 |
47 | # Benchmark Results
48 | BenchmarkDotNet.Artifacts/
49 |
50 | # .NET Core
51 | project.lock.json
52 | project.fragment.lock.json
53 | artifacts/
54 |
55 |
56 | # Files built by Visual Studio
57 | *_i.c
58 | *_p.c
59 | *_i.h
60 | *.ilk
61 | *.obj
62 | *.iobj
63 | *.pch
64 | *.pdb
65 | *.ipdb
66 | *.pgc
67 | *.pgd
68 | *.rsp
69 | *.sbr
70 | *.tlb
71 | *.tli
72 | *.tlh
73 | *.tmp
74 | *.tmp_proj
75 | *.log
76 | *.vspscc
77 | *.vssscc
78 | .builds
79 | *.pidb
80 | *.svclog
81 | *.scc
82 |
83 | # Visual Studio profiler
84 | *.psess
85 | *.vsp
86 | *.vspx
87 | *.sap
88 |
89 | # ReSharper is a .NET coding add-in
90 | _ReSharper*/
91 | *.[Rr]e[Ss]harper
92 | *.DotSettings.user
93 |
94 | # NuGet Packages
95 | *.nupkg
96 | # The packages folder can be ignored because of Package Restore
97 | **/[Pp]ackages/*
98 | # except build/, which is used as an MSBuild target.
99 | !**/[Pp]ackages/build/
100 | # Uncomment if necessary however generally it will be regenerated when needed
101 | #!**/[Pp]ackages/repositories.config
102 | # NuGet v3's project.json files produces more ignorable files
103 | *.nuget.props
104 | *.nuget.targets
105 |
106 | # Windows Store app package directories and files
107 | AppPackages/
108 | BundleArtifacts/
109 | Package.StoreAssociation.xml
110 | _pkginfo.txt
111 | *.appx
112 |
113 | # Visual Studio cache files
114 | # files ending in .cache can be ignored
115 | *.[Cc]ache
116 | # but keep track of directories ending in .cache
117 | !*.[Cc]ache/
118 |
119 | # Others
120 | ClientBin/
121 | ~$*
122 | *~
123 | *.dbmdl
124 | *.dbproj.schemaview
125 | *.jfm
126 | *.pfx
127 | *.publishsettings
128 | orleans.codegen.cs
129 |
130 | # Including strong name files can present a security risk
131 | # (https://github.com/github/gitignore/pull/2483#issue-259490424)
132 | *.snk
133 |
134 | # RIA/Silverlight projects
135 | Generated_Code/
136 |
137 | # Backup & report files from converting an old project file
138 | # to a newer Visual Studio version. Backup files are not needed,
139 | # because we have git ;-)
140 | _UpgradeReport_Files/
141 | Backup*/
142 | UpgradeLog*.XML
143 | UpgradeLog*.htm
144 | ServiceFabricBackup/
145 | *.rptproj.bak
146 |
147 | ### PYTHON SECTION
148 |
149 | # Byte-compiled / optimized / DLL files
150 | __pycache__/
151 | *.py[cod]
152 | *$py.class
153 |
154 | # C extensions
155 | *.so
156 |
157 | # Distribution / packaging
158 | .Python
159 | build/
160 | develop-eggs/
161 | dist/
162 | downloads/
163 | eggs/
164 | .eggs/
165 | lib/
166 | lib64/
167 | parts/
168 | sdist/
169 | var/
170 | wheels/
171 | pip-wheel-metadata/
172 | share/python-wheels/
173 | *.egg-info/
174 | .installed.cfg
175 | *.egg
176 | MANIFEST
177 |
178 | # PyInstaller
179 | # Usually these files are written by a python script from a template
180 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
181 | *.manifest
182 | *.spec
183 |
184 | # Installer logs
185 | pip-log.txt
186 | pip-delete-this-directory.txt
187 |
188 | # Unit test / coverage reports
189 | htmlcov/
190 | .tox/
191 | .nox/
192 | .coverage
193 | .coverage.*
194 | .cache
195 | nosetests.xml
196 | coverage.xml
197 | *.cover
198 | .hypothesis/
199 | .pytest_cache/
200 |
201 | # Translations
202 | *.mo
203 | *.pot
204 |
205 | # Django stuff:
206 | *.log
207 | local_settings.py
208 | db.sqlite3
209 |
210 | # Flask stuff:
211 | instance/
212 | .webassets-cache
213 |
214 | # Scrapy stuff:
215 | .scrapy
216 |
217 | # Sphinx documentation
218 | docs/_build/
219 |
220 | # PyBuilder
221 | target/
222 |
223 | # Jupyter Notebook
224 | .ipynb_checkpoints
225 |
226 | # IPython
227 | profile_default/
228 | ipython_config.py
229 |
230 | # pyenv
231 | .python-version
232 |
233 | # celery beat schedule file
234 | celerybeat-schedule
235 |
236 | # SageMath parsed files
237 | *.sage.py
238 |
239 | # Environments
240 | .env
241 | .venv
242 | env/
243 | venv/
244 | ENV/
245 | env.bak/
246 | venv.bak/
247 |
248 | # Spyder project settings
249 | .spyderproject
250 | .spyproject
251 |
252 | # Rope project settings
253 | .ropeproject
254 |
255 | # mkdocs documentation
256 | /site
257 |
258 | # mypy
259 | .mypy_cache/
260 | .dmypy.json
261 | dmypy.json
262 |
263 | # Pyre type checker
264 | .pyre/
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "lullapy"]
2 | path = lullapy
3 | url = https://github.com/andeart/lullapy.git
4 | branch = master
5 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | os: osx
2 | language: csharp
3 | solution: ./ReorderableListEditor/ReorderableListEditor.sln
4 | dotnet: 2.2.104
5 | python: 3.7
6 | mono: latest
7 | env:
8 | global:
9 | - LULLAPY_ROOT=$TRAVIS_BUILD_DIR/lullapy
10 | - ASSEMBLY_NAME=Andeart.ReorderableListEditor
11 | - ASSEMBLY_BIN_PATH=./ReorderableListEditor/ReorderableListEditor/bin
12 | matrix:
13 | - CONFIG_NAME=Release
14 | - CONFIG_NAME=Debug
15 | install:
16 | - pip3 install -e $LULLAPY_ROOT
17 | script:
18 | - python3 -m andeart.lullapy.netrestore -s "$TRAVIS_SOLUTION"
19 | - python3 -m andeart.lullapy.netbuild -s "$TRAVIS_SOLUTION" -c "$CONFIG_NAME"
20 | - python3 -m andeart.lullapy.netcopy -a "$ASSEMBLY_NAME" -d "$ASSEMBLY_BIN_PATH/$CONFIG_NAME" -e "dll;xml;pdb" -t "./unity-dirs.txt" -c
21 | - python3 -m andeart.lullapy.plainexist -f "./ReorderableListEditor.Demo/Assets/Libraries/$ASSEMBLY_NAME/$ASSEMBLY_NAME.dll;./ReorderableListEditor.Demo/Assets/Libraries/$ASSEMBLY_NAME/$ASSEMBLY_NAME.xml;./ReorderableListEditor.Demo/Assets/Libraries/$ASSEMBLY_NAME/$ASSEMBLY_NAME.pdb"
--------------------------------------------------------------------------------
/Andeart.ReorderableListEditor.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/Andeart.ReorderableListEditor.gif
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 ANURAG DEVANAPALLY
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.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # UnityLabs.ReorderableListEditor
2 |
3 |
4 | [](https://www.nuget.org/packages/Andeart.ReorderableListEditor) [](https://www.nuget.org/packages/Andeart.ReorderableListEditor)
5 | [](https://github.com/andeart/UnityLabs.ReorderableListEditor/releases/latest) [](https://github.com/andeart/UnityLabs.ReorderableListEditor/releases/latest)
6 |
7 | Editor that draws all lists/arrays in Unity Inspector as re-orderable by default.
8 |
9 | 
10 |
11 | This is inspired by [Valentin Simonov's blog article about reorderable lists](http://va.lent.in/unity-make-your-lists-functional-with-reorderablelist/), with additional tweaks and functionality.
12 |
13 | This custom editor overrides Unity's default SerializedProperty drawing for arrays and lists.
14 | The majority of the Editor code in this project is protected/virtual, allowing developers an easy to write custom editors that use/extend this reordering feature.
15 |
16 | The above gif is the direct result of writing the following code in a project that includes this lib.
17 |
18 | ```csharp
19 |
20 | [Serializable]
21 | public struct MyData
22 | {
23 | [SerializeField]
24 | private string _name;
25 | [SerializeField] [Range (0f, 1f)]
26 | private float _floatInRange;
27 | }
28 |
29 | public class MainContext : MonoBehaviour
30 | {
31 | [SerializeField]
32 | private int[] _integers;
33 |
34 | [SerializeField]
35 | private MyData[] _dataObjects;
36 |
37 | [SerializeField]
38 | private ScriptableObject[] _scriptableObjects;
39 | }
40 | ```
41 | Notice the absence of any specialised types or attributes. This also works with public fields that Unity auto-serializes, though I personally prefer to avoid those.
42 |
43 | ## Installation and Usage
44 |
45 | - Download the `Andeart.ReorderableListEditor.dll` file from [the NuGet page](https://www.nuget.org/packages/Andeart.ReorderableListEditor), or from [the Github releases page](https://github.com/andeart/UnityLabs.ReorderableListEditor/releases/latest).
46 | - Add this file anywhere in your Unity project. Any sub-directory under Assets will work- **it does not need to be under an Editor folder**.
47 | - Optional: Also drop the `Andeart.ReorderableListEditor.pdb` and `Andeart.ReorderableListEditor.xml` files in the same location if you're interested in debugging.
48 | - All of your serialized/public arrays/lists should be re-orderable by default now. Go build some magic.
49 |
50 | ## Feedback
51 |
52 | Please feel free to send merge requests, or drop me a message. Cheers!
53 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ee7776584cd38cc45940e95824f9e3cc
3 | folderAsset: yes
4 | timeCreated: 1531013975
5 | licenseType: Free
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7fd4f003ed59bfe4383aa770eebfbbd6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll.mdb
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 723d6ebc68630304a8b902da6816a0b9
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c0341c1d7f216084caf543c1d85e5ae3
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | defineConstraints: []
9 | isPreloaded: 0
10 | isOverridable: 0
11 | isExplicitlyReferenced: 0
12 | platformData:
13 | - first:
14 | Any:
15 | second:
16 | enabled: 1
17 | settings: {}
18 | - first:
19 | Editor: Editor
20 | second:
21 | enabled: 0
22 | settings:
23 | DefaultValueInitialized: true
24 | - first:
25 | Windows Store Apps: WindowsStoreApps
26 | second:
27 | enabled: 0
28 | settings:
29 | CPU: AnyCPU
30 | userData:
31 | assetBundleName:
32 | assetBundleVariant:
33 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.pdb
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.pdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c0e5cd1a67de8ad4184b24695a0ff9b8
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Andeart.ReorderableListEditor
5 |
6 |
7 |
8 |
9 | Custom editor to allow re-orderable lists/arrays in Unity Inspector automatically.
10 | This custom editor overrides Unity's default SerializedProperty drawing for arrays and lists.
11 | This is inspired by Valentin Simonov's blog article here:
12 | http://va.lent.in/unity-make-your-lists-functional-with-reorderablelist/ , along with additional tweaks/functionality.
13 | The majority of the Editor code in this project is protected/virtual, allowing developers to easily write custom
14 | editors that use/extend this reordering feature.
15 |
16 |
17 |
18 |
19 |
20 | Returns GuiStyle for the foldout.
21 |
22 |
23 | True, if the GuiStyle being requested is for an open foldout. Else, (false) returns GuiStyle
24 | for closed foldout.
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Libraries/Andeart.ReorderableListEditor/Andeart.ReorderableListEditor.xml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b47af4c2e194f9c458cfb635a23e558b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d87bfe9b37439d4a89612a0d4acf047
3 | folderAsset: yes
4 | timeCreated: 1527793330
5 | licenseType: Pro
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scenes/GameContext.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 3
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
47 | m_GIWorkflowMode: 1
48 | m_GISettings:
49 | serializedVersion: 2
50 | m_BounceScale: 1
51 | m_IndirectOutputScale: 1
52 | m_AlbedoBoost: 1
53 | m_EnvironmentLightingMode: 0
54 | m_EnableBakedLightmaps: 0
55 | m_EnableRealtimeLightmaps: 0
56 | m_LightmapEditorSettings:
57 | serializedVersion: 10
58 | m_Resolution: 2
59 | m_BakeResolution: 40
60 | m_AtlasSize: 1024
61 | m_AO: 0
62 | m_AOMaxDistance: 1
63 | m_CompAOExponent: 1
64 | m_CompAOExponentDirect: 0
65 | m_Padding: 2
66 | m_LightmapParameters: {fileID: 0}
67 | m_LightmapsBakeMode: 1
68 | m_TextureCompression: 1
69 | m_FinalGather: 0
70 | m_FinalGatherFiltering: 1
71 | m_FinalGatherRayCount: 256
72 | m_ReflectionCompression: 2
73 | m_MixedBakeMode: 2
74 | m_BakeBackend: 0
75 | m_PVRSampling: 1
76 | m_PVRDirectSampleCount: 32
77 | m_PVRSampleCount: 500
78 | m_PVRBounces: 2
79 | m_PVRFilterTypeDirect: 0
80 | m_PVRFilterTypeIndirect: 0
81 | m_PVRFilterTypeAO: 0
82 | m_PVRFilteringMode: 1
83 | m_PVRCulling: 1
84 | m_PVRFilteringGaussRadiusDirect: 1
85 | m_PVRFilteringGaussRadiusIndirect: 5
86 | m_PVRFilteringGaussRadiusAO: 2
87 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
88 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
89 | m_PVRFilteringAtrousPositionSigmaAO: 1
90 | m_ShowResolutionOverlay: 1
91 | m_LightingDataAsset: {fileID: 0}
92 | m_UseShadowmask: 1
93 | --- !u!196 &4
94 | NavMeshSettings:
95 | serializedVersion: 2
96 | m_ObjectHideFlags: 0
97 | m_BuildSettings:
98 | serializedVersion: 2
99 | agentTypeID: 0
100 | agentRadius: 0.5
101 | agentHeight: 2
102 | agentSlope: 45
103 | agentClimb: 0.4
104 | ledgeDropHeight: 0
105 | maxJumpAcrossDistance: 0
106 | minRegionArea: 2
107 | manualCellSize: 0
108 | cellSize: 0.16666667
109 | manualTileSize: 0
110 | tileSize: 256
111 | accuratePlacement: 0
112 | debug:
113 | m_Flags: 0
114 | m_NavMeshData: {fileID: 0}
115 | --- !u!1 &577769985
116 | GameObject:
117 | m_ObjectHideFlags: 0
118 | m_CorrespondingSourceObject: {fileID: 0}
119 | m_PrefabInstance: {fileID: 0}
120 | m_PrefabAsset: {fileID: 0}
121 | serializedVersion: 6
122 | m_Component:
123 | - component: {fileID: 577769987}
124 | - component: {fileID: 577769986}
125 | m_Layer: 0
126 | m_Name: ReorderableListEditor
127 | m_TagString: Untagged
128 | m_Icon: {fileID: 0}
129 | m_NavMeshLayer: 0
130 | m_StaticEditorFlags: 0
131 | m_IsActive: 1
132 | --- !u!114 &577769986
133 | MonoBehaviour:
134 | m_ObjectHideFlags: 0
135 | m_CorrespondingSourceObject: {fileID: 0}
136 | m_PrefabInstance: {fileID: 0}
137 | m_PrefabAsset: {fileID: 0}
138 | m_GameObject: {fileID: 577769985}
139 | m_Enabled: 1
140 | m_EditorHideFlags: 0
141 | m_Script: {fileID: 11500000, guid: 0193e50c693ea13418f03e484378a1f4, type: 3}
142 | m_Name:
143 | m_EditorClassIdentifier:
144 | _integers: 030000000200000001000000
145 | _dataObjects:
146 | - _name: Object2
147 | _floatInRange: 0.278
148 | - _name: Object0
149 | _floatInRange: 0.636
150 | - _name: Object1
151 | _floatInRange: 0.501
152 | _scriptableObjects:
153 | - {fileID: 0}
154 | - {fileID: 0}
155 | --- !u!4 &577769987
156 | Transform:
157 | m_ObjectHideFlags: 0
158 | m_CorrespondingSourceObject: {fileID: 0}
159 | m_PrefabInstance: {fileID: 0}
160 | m_PrefabAsset: {fileID: 0}
161 | m_GameObject: {fileID: 577769985}
162 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
163 | m_LocalPosition: {x: 0, y: 0, z: 0}
164 | m_LocalScale: {x: 1, y: 1, z: 1}
165 | m_Children: []
166 | m_Father: {fileID: 0}
167 | m_RootOrder: 0
168 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
169 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scenes/GameContext.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a632bb82214820f4595a76cca210c89c
3 | timeCreated: 1527793314
4 | licenseType: Pro
5 | DefaultImporter:
6 | externalObjects: {}
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6587341fdd27b0a4795af09833330141
3 | folderAsset: yes
4 | timeCreated: 1527793335
5 | licenseType: Pro
6 | DefaultImporter:
7 | externalObjects: {}
8 | userData:
9 | assetBundleName:
10 | assetBundleVariant:
11 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scripts/MainContext.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 |
4 |
5 |
6 | namespace UnityReorderableListEditor.V1.Context
7 | {
8 |
9 | [Serializable]
10 | public struct MyData
11 | {
12 | [SerializeField]
13 | private string _name;
14 | [SerializeField] [Range (0f, 1f)]
15 | private float _floatInRange;
16 | }
17 |
18 |
19 | public class MainContext : MonoBehaviour
20 | {
21 | [SerializeField]
22 | private int[] _integers;
23 |
24 | [SerializeField]
25 | private MyData[] _dataObjects;
26 |
27 | [SerializeField]
28 | private ScriptableObject[] _scriptableObjects;
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Assets/Scripts/MainContext.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0193e50c693ea13418f03e484378a1f4
3 | timeCreated: 1527793520
4 | licenseType: Pro
5 | MonoImporter:
6 | externalObjects: {}
7 | serializedVersion: 2
8 | defaultReferences: []
9 | executionOrder: 0
10 | icon: {instanceID: 0}
11 | userData:
12 | assetBundleName:
13 | assetBundleVariant:
14 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.package-manager-ui": "2.0.3",
4 | "com.unity.modules.ai": "1.0.0",
5 | "com.unity.modules.animation": "1.0.0",
6 | "com.unity.modules.assetbundle": "1.0.0",
7 | "com.unity.modules.audio": "1.0.0",
8 | "com.unity.modules.cloth": "1.0.0",
9 | "com.unity.modules.director": "1.0.0",
10 | "com.unity.modules.imageconversion": "1.0.0",
11 | "com.unity.modules.imgui": "1.0.0",
12 | "com.unity.modules.jsonserialize": "1.0.0",
13 | "com.unity.modules.particlesystem": "1.0.0",
14 | "com.unity.modules.physics": "1.0.0",
15 | "com.unity.modules.physics2d": "1.0.0",
16 | "com.unity.modules.screencapture": "1.0.0",
17 | "com.unity.modules.terrain": "1.0.0",
18 | "com.unity.modules.terrainphysics": "1.0.0",
19 | "com.unity.modules.tilemap": "1.0.0",
20 | "com.unity.modules.ui": "1.0.0",
21 | "com.unity.modules.uielements": "1.0.0",
22 | "com.unity.modules.umbra": "1.0.0",
23 | "com.unity.modules.unityanalytics": "1.0.0",
24 | "com.unity.modules.unitywebrequest": "1.0.0",
25 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
26 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
27 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
28 | "com.unity.modules.unitywebrequestwww": "1.0.0",
29 | "com.unity.modules.vehicles": "1.0.0",
30 | "com.unity.modules.video": "1.0.0",
31 | "com.unity.modules.vr": "1.0.0",
32 | "com.unity.modules.wind": "1.0.0",
33 | "com.unity.modules.xr": "1.0.0"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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: 7
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: 1
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 | - enabled: 1
9 | path: Assets/Scenes/GameContext.unity
10 | guid: a632bb82214820f4595a76cca210c89c
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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: 7
7 | m_ExternalVersionControlSupport: Hidden Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_CustomRenderPipeline: {fileID: 0}
42 | m_TransparencySortMode: 0
43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
44 | m_DefaultRenderingPath: 1
45 | m_DefaultMobileRenderingPath: 1
46 | m_TierSettings: []
47 | m_LightmapStripping: 0
48 | m_FogStripping: 0
49 | m_InstancingStripping: 0
50 | m_LightmapKeepPlain: 1
51 | m_LightmapKeepDirCombined: 1
52 | m_LightmapKeepDynamicPlain: 1
53 | m_LightmapKeepDynamicDirCombined: 1
54 | m_LightmapKeepShadowMask: 1
55 | m_LightmapKeepSubtractive: 1
56 | m_FogKeepLinear: 1
57 | m_FogKeepExp: 1
58 | m_FogKeepExp2: 1
59 | m_AlbedoSwatchInfos: []
60 | m_LightsUseLinearIntensity: 0
61 | m_LightsUseColorTemperature: 0
62 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 1
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 | m_DefaultList: []
7 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 15
7 | productGUID: 3b95cf6d379ab5242bc4591c08f4a78d
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: Andeart
16 | productName: ReorderableListEditor.Demo
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 1
22 | m_SplashScreenOverlayOpacity: 1
23 | m_SplashScreenAnimation: 1
24 | m_SplashScreenLogoStyle: 1
25 | m_SplashScreenDrawMode: 0
26 | m_SplashScreenBackgroundAnimationZoom: 1
27 | m_SplashScreenLogoAnimationZoom: 1
28 | m_SplashScreenBackgroundLandscapeAspect: 1
29 | m_SplashScreenBackgroundPortraitAspect: 1
30 | m_SplashScreenBackgroundLandscapeUvs:
31 | serializedVersion: 2
32 | x: 0
33 | y: 0
34 | width: 1
35 | height: 1
36 | m_SplashScreenBackgroundPortraitUvs:
37 | serializedVersion: 2
38 | x: 0
39 | y: 0
40 | width: 1
41 | height: 1
42 | m_SplashScreenLogos: []
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 0
51 | m_MTRendering: 1
52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | iosAppInBackgroundBehavior: 0
56 | displayResolutionDialog: 1
57 | iosAllowHTTPDownload: 1
58 | allowedAutorotateToPortrait: 1
59 | allowedAutorotateToPortraitUpsideDown: 1
60 | allowedAutorotateToLandscapeRight: 1
61 | allowedAutorotateToLandscapeLeft: 1
62 | useOSAutorotation: 1
63 | use32BitDisplayBuffer: 1
64 | preserveFramebufferAlpha: 0
65 | disableDepthAndStencilBuffers: 0
66 | androidStartInFullscreen: 1
67 | androidRenderOutsideSafeArea: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 0
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 0
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | resizableWindow: 0
83 | useMacAppStoreValidation: 0
84 | macAppStoreCategory: public.app-category.games
85 | gpuSkinning: 0
86 | graphicsJobs: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | graphicsJobMode: 0
95 | fullscreenMode: 1
96 | xboxSpeechDB: 0
97 | xboxEnableHeadOrientation: 0
98 | xboxEnableGuest: 0
99 | xboxEnablePIXSampling: 0
100 | metalFramebufferOnly: 0
101 | xboxOneResolution: 0
102 | xboxOneSResolution: 0
103 | xboxOneXResolution: 3
104 | xboxOneMonoLoggingLevel: 0
105 | xboxOneLoggingLevel: 1
106 | xboxOneDisableEsram: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 0
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanEnableSetSRGBWrite: 0
115 | m_SupportedAspectRatios:
116 | 4:3: 1
117 | 5:4: 1
118 | 16:10: 1
119 | 16:9: 1
120 | Others: 1
121 | bundleVersion: 1.0
122 | preloadedAssets: []
123 | metroInputSource: 0
124 | wsaTransparentSwapchain: 0
125 | m_HolographicPauseOnTrackingLoss: 1
126 | xboxOneDisableKinectGpuReservation: 0
127 | xboxOneEnable7thCore: 0
128 | isWsaHolographicRemotingEnabled: 0
129 | vrSettings:
130 | cardboard:
131 | depthFormat: 0
132 | enableTransitionView: 0
133 | daydream:
134 | depthFormat: 0
135 | useSustainedPerformanceMode: 0
136 | enableVideoLayer: 0
137 | useProtectedVideoMemory: 0
138 | minimumSupportedHeadTracking: 0
139 | maximumSupportedHeadTracking: 1
140 | hololens:
141 | depthFormat: 1
142 | depthBufferSharingEnabled: 0
143 | oculus:
144 | sharedDepthBuffer: 0
145 | dashSupport: 0
146 | enable360StereoCapture: 0
147 | protectGraphicsMemory: 0
148 | enableFrameTimingStats: 0
149 | useHDRDisplay: 0
150 | m_ColorGamuts: 00000000
151 | targetPixelDensity: 30
152 | resolutionScalingMode: 0
153 | androidSupportedAspectRatio: 1
154 | androidMaxAspectRatio: 2.1
155 | applicationIdentifier: {}
156 | buildNumber: {}
157 | AndroidBundleVersionCode: 1
158 | AndroidMinSdkVersion: 16
159 | AndroidTargetSdkVersion: 0
160 | AndroidPreferredInstallLocation: 1
161 | aotOptions:
162 | stripEngineCode: 1
163 | iPhoneStrippingLevel: 0
164 | iPhoneScriptCallOptimization: 0
165 | ForceInternetPermission: 0
166 | ForceSDCardPermission: 0
167 | CreateWallpaper: 0
168 | APKExpansionFiles: 0
169 | keepLoadedShadersAlive: 0
170 | StripUnusedMeshComponents: 0
171 | VertexChannelCompressionMask: 214
172 | iPhoneSdkVersion: 988
173 | iOSTargetOSVersionString: 9.0
174 | tvOSSdkVersion: 0
175 | tvOSRequireExtendedGameController: 0
176 | tvOSTargetOSVersionString: 9.0
177 | uIPrerenderedIcon: 0
178 | uIRequiresPersistentWiFi: 0
179 | uIRequiresFullScreen: 1
180 | uIStatusBarHidden: 1
181 | uIExitOnSuspend: 0
182 | uIStatusBarStyle: 0
183 | iPhoneSplashScreen: {fileID: 0}
184 | iPhoneHighResSplashScreen: {fileID: 0}
185 | iPhoneTallHighResSplashScreen: {fileID: 0}
186 | iPhone47inSplashScreen: {fileID: 0}
187 | iPhone55inPortraitSplashScreen: {fileID: 0}
188 | iPhone55inLandscapeSplashScreen: {fileID: 0}
189 | iPhone58inPortraitSplashScreen: {fileID: 0}
190 | iPhone58inLandscapeSplashScreen: {fileID: 0}
191 | iPadPortraitSplashScreen: {fileID: 0}
192 | iPadHighResPortraitSplashScreen: {fileID: 0}
193 | iPadLandscapeSplashScreen: {fileID: 0}
194 | iPadHighResLandscapeSplashScreen: {fileID: 0}
195 | appleTVSplashScreen: {fileID: 0}
196 | appleTVSplashScreen2x: {fileID: 0}
197 | tvOSSmallIconLayers: []
198 | tvOSSmallIconLayers2x: []
199 | tvOSLargeIconLayers: []
200 | tvOSLargeIconLayers2x: []
201 | tvOSTopShelfImageLayers: []
202 | tvOSTopShelfImageLayers2x: []
203 | tvOSTopShelfImageWideLayers: []
204 | tvOSTopShelfImageWideLayers2x: []
205 | iOSLaunchScreenType: 0
206 | iOSLaunchScreenPortrait: {fileID: 0}
207 | iOSLaunchScreenLandscape: {fileID: 0}
208 | iOSLaunchScreenBackgroundColor:
209 | serializedVersion: 2
210 | rgba: 0
211 | iOSLaunchScreenFillPct: 100
212 | iOSLaunchScreenSize: 100
213 | iOSLaunchScreenCustomXibPath:
214 | iOSLaunchScreeniPadType: 0
215 | iOSLaunchScreeniPadImage: {fileID: 0}
216 | iOSLaunchScreeniPadBackgroundColor:
217 | serializedVersion: 2
218 | rgba: 0
219 | iOSLaunchScreeniPadFillPct: 100
220 | iOSLaunchScreeniPadSize: 100
221 | iOSLaunchScreeniPadCustomXibPath:
222 | iOSUseLaunchScreenStoryboard: 0
223 | iOSLaunchScreenCustomStoryboardPath:
224 | iOSDeviceRequirements: []
225 | iOSURLSchemes: []
226 | iOSBackgroundModes: 0
227 | iOSMetalForceHardShadows: 0
228 | metalEditorSupport: 1
229 | metalAPIValidation: 1
230 | iOSRenderExtraFrameOnPause: 0
231 | appleDeveloperTeamID:
232 | iOSManualSigningProvisioningProfileID:
233 | tvOSManualSigningProvisioningProfileID:
234 | iOSManualSigningProvisioningProfileType: 0
235 | tvOSManualSigningProvisioningProfileType: 0
236 | appleEnableAutomaticSigning: 0
237 | iOSRequireARKit: 0
238 | appleEnableProMotion: 0
239 | clonedFromGUID: 00000000000000000000000000000000
240 | templatePackageId:
241 | templateDefaultScene:
242 | AndroidTargetArchitectures: 5
243 | AndroidSplashScreenScale: 0
244 | androidSplashScreen: {fileID: 0}
245 | AndroidKeystoreName:
246 | AndroidKeyaliasName:
247 | AndroidBuildApkPerCpuArchitecture: 0
248 | AndroidTVCompatibility: 1
249 | AndroidIsGame: 1
250 | AndroidEnableTango: 0
251 | androidEnableBanner: 1
252 | androidUseLowAccuracyLocation: 0
253 | m_AndroidBanners:
254 | - width: 320
255 | height: 180
256 | banner: {fileID: 0}
257 | androidGamepadSupportLevel: 0
258 | resolutionDialogBanner: {fileID: 0}
259 | m_BuildTargetIcons: []
260 | m_BuildTargetPlatformIcons: []
261 | m_BuildTargetBatching: []
262 | m_BuildTargetGraphicsAPIs: []
263 | m_BuildTargetVRSettings: []
264 | m_BuildTargetEnableVuforiaSettings: []
265 | openGLRequireES31: 0
266 | openGLRequireES31AEP: 0
267 | m_TemplateCustomTags: {}
268 | mobileMTRendering:
269 | Android: 1
270 | iPhone: 1
271 | tvOS: 1
272 | m_BuildTargetGroupLightmapEncodingQuality: []
273 | m_BuildTargetGroupLightmapSettings: []
274 | playModeTestRunnerEnabled: 0
275 | runPlayModeTestAsEditModeTest: 0
276 | actionOnDotNetUnhandledException: 1
277 | enableInternalProfiler: 0
278 | logObjCUncaughtExceptions: 1
279 | enableCrashReportAPI: 0
280 | cameraUsageDescription:
281 | locationUsageDescription:
282 | microphoneUsageDescription:
283 | switchNetLibKey:
284 | switchSocketMemoryPoolSize: 6144
285 | switchSocketAllocatorPoolSize: 128
286 | switchSocketConcurrencyLimit: 14
287 | switchScreenResolutionBehavior: 2
288 | switchUseCPUProfiler: 0
289 | switchApplicationID: 0x01004b9000490000
290 | switchNSODependencies:
291 | switchTitleNames_0:
292 | switchTitleNames_1:
293 | switchTitleNames_2:
294 | switchTitleNames_3:
295 | switchTitleNames_4:
296 | switchTitleNames_5:
297 | switchTitleNames_6:
298 | switchTitleNames_7:
299 | switchTitleNames_8:
300 | switchTitleNames_9:
301 | switchTitleNames_10:
302 | switchTitleNames_11:
303 | switchTitleNames_12:
304 | switchTitleNames_13:
305 | switchTitleNames_14:
306 | switchPublisherNames_0:
307 | switchPublisherNames_1:
308 | switchPublisherNames_2:
309 | switchPublisherNames_3:
310 | switchPublisherNames_4:
311 | switchPublisherNames_5:
312 | switchPublisherNames_6:
313 | switchPublisherNames_7:
314 | switchPublisherNames_8:
315 | switchPublisherNames_9:
316 | switchPublisherNames_10:
317 | switchPublisherNames_11:
318 | switchPublisherNames_12:
319 | switchPublisherNames_13:
320 | switchPublisherNames_14:
321 | switchIcons_0: {fileID: 0}
322 | switchIcons_1: {fileID: 0}
323 | switchIcons_2: {fileID: 0}
324 | switchIcons_3: {fileID: 0}
325 | switchIcons_4: {fileID: 0}
326 | switchIcons_5: {fileID: 0}
327 | switchIcons_6: {fileID: 0}
328 | switchIcons_7: {fileID: 0}
329 | switchIcons_8: {fileID: 0}
330 | switchIcons_9: {fileID: 0}
331 | switchIcons_10: {fileID: 0}
332 | switchIcons_11: {fileID: 0}
333 | switchIcons_12: {fileID: 0}
334 | switchIcons_13: {fileID: 0}
335 | switchIcons_14: {fileID: 0}
336 | switchSmallIcons_0: {fileID: 0}
337 | switchSmallIcons_1: {fileID: 0}
338 | switchSmallIcons_2: {fileID: 0}
339 | switchSmallIcons_3: {fileID: 0}
340 | switchSmallIcons_4: {fileID: 0}
341 | switchSmallIcons_5: {fileID: 0}
342 | switchSmallIcons_6: {fileID: 0}
343 | switchSmallIcons_7: {fileID: 0}
344 | switchSmallIcons_8: {fileID: 0}
345 | switchSmallIcons_9: {fileID: 0}
346 | switchSmallIcons_10: {fileID: 0}
347 | switchSmallIcons_11: {fileID: 0}
348 | switchSmallIcons_12: {fileID: 0}
349 | switchSmallIcons_13: {fileID: 0}
350 | switchSmallIcons_14: {fileID: 0}
351 | switchManualHTML:
352 | switchAccessibleURLs:
353 | switchLegalInformation:
354 | switchMainThreadStackSize: 1048576
355 | switchPresenceGroupId:
356 | switchLogoHandling: 0
357 | switchReleaseVersion: 0
358 | switchDisplayVersion: 1.0.0
359 | switchStartupUserAccount: 0
360 | switchTouchScreenUsage: 0
361 | switchSupportedLanguagesMask: 0
362 | switchLogoType: 0
363 | switchApplicationErrorCodeCategory:
364 | switchUserAccountSaveDataSize: 0
365 | switchUserAccountSaveDataJournalSize: 0
366 | switchApplicationAttribute: 0
367 | switchCardSpecSize: -1
368 | switchCardSpecClock: -1
369 | switchRatingsMask: 0
370 | switchRatingsInt_0: 0
371 | switchRatingsInt_1: 0
372 | switchRatingsInt_2: 0
373 | switchRatingsInt_3: 0
374 | switchRatingsInt_4: 0
375 | switchRatingsInt_5: 0
376 | switchRatingsInt_6: 0
377 | switchRatingsInt_7: 0
378 | switchRatingsInt_8: 0
379 | switchRatingsInt_9: 0
380 | switchRatingsInt_10: 0
381 | switchRatingsInt_11: 0
382 | switchLocalCommunicationIds_0:
383 | switchLocalCommunicationIds_1:
384 | switchLocalCommunicationIds_2:
385 | switchLocalCommunicationIds_3:
386 | switchLocalCommunicationIds_4:
387 | switchLocalCommunicationIds_5:
388 | switchLocalCommunicationIds_6:
389 | switchLocalCommunicationIds_7:
390 | switchParentalControl: 0
391 | switchAllowsScreenshot: 1
392 | switchAllowsVideoCapturing: 1
393 | switchAllowsRuntimeAddOnContentInstall: 0
394 | switchDataLossConfirmation: 0
395 | switchUserAccountLockEnabled: 0
396 | switchSystemResourceMemory: 16777216
397 | switchSupportedNpadStyles: 3
398 | switchNativeFsCacheSize: 32
399 | switchIsHoldTypeHorizontal: 0
400 | switchSupportedNpadCount: 8
401 | switchSocketConfigEnabled: 0
402 | switchTcpInitialSendBufferSize: 32
403 | switchTcpInitialReceiveBufferSize: 64
404 | switchTcpAutoSendBufferSizeMax: 256
405 | switchTcpAutoReceiveBufferSizeMax: 256
406 | switchUdpSendBufferSize: 9
407 | switchUdpReceiveBufferSize: 42
408 | switchSocketBufferEfficiency: 4
409 | switchSocketInitializeEnabled: 1
410 | switchNetworkInterfaceManagerInitializeEnabled: 1
411 | switchPlayerConnectionEnabled: 1
412 | ps4NPAgeRating: 12
413 | ps4NPTitleSecret:
414 | ps4NPTrophyPackPath:
415 | ps4ParentalLevel: 11
416 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
417 | ps4Category: 0
418 | ps4MasterVersion: 01.00
419 | ps4AppVersion: 01.00
420 | ps4AppType: 0
421 | ps4ParamSfxPath:
422 | ps4VideoOutPixelFormat: 0
423 | ps4VideoOutInitialWidth: 1920
424 | ps4VideoOutBaseModeInitialWidth: 1920
425 | ps4VideoOutReprojectionRate: 60
426 | ps4PronunciationXMLPath:
427 | ps4PronunciationSIGPath:
428 | ps4BackgroundImagePath:
429 | ps4StartupImagePath:
430 | ps4StartupImagesFolder:
431 | ps4IconImagesFolder:
432 | ps4SaveDataImagePath:
433 | ps4SdkOverride:
434 | ps4BGMPath:
435 | ps4ShareFilePath:
436 | ps4ShareOverlayImagePath:
437 | ps4PrivacyGuardImagePath:
438 | ps4NPtitleDatPath:
439 | ps4RemotePlayKeyAssignment: -1
440 | ps4RemotePlayKeyMappingDir:
441 | ps4PlayTogetherPlayerCount: 0
442 | ps4EnterButtonAssignment: 1
443 | ps4ApplicationParam1: 0
444 | ps4ApplicationParam2: 0
445 | ps4ApplicationParam3: 0
446 | ps4ApplicationParam4: 0
447 | ps4DownloadDataSize: 0
448 | ps4GarlicHeapSize: 2048
449 | ps4ProGarlicHeapSize: 2560
450 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
451 | ps4pnSessions: 1
452 | ps4pnPresence: 1
453 | ps4pnFriends: 1
454 | ps4pnGameCustomData: 1
455 | playerPrefsSupport: 0
456 | enableApplicationExit: 0
457 | resetTempFolder: 1
458 | restrictedAudioUsageRights: 0
459 | ps4UseResolutionFallback: 0
460 | ps4ReprojectionSupport: 0
461 | ps4UseAudio3dBackend: 0
462 | ps4SocialScreenEnabled: 0
463 | ps4ScriptOptimizationLevel: 0
464 | ps4Audio3dVirtualSpeakerCount: 14
465 | ps4attribCpuUsage: 0
466 | ps4PatchPkgPath:
467 | ps4PatchLatestPkgPath:
468 | ps4PatchChangeinfoPath:
469 | ps4PatchDayOne: 0
470 | ps4attribUserManagement: 0
471 | ps4attribMoveSupport: 0
472 | ps4attrib3DSupport: 0
473 | ps4attribShareSupport: 0
474 | ps4attribExclusiveVR: 0
475 | ps4disableAutoHideSplash: 0
476 | ps4videoRecordingFeaturesUsed: 0
477 | ps4contentSearchFeaturesUsed: 0
478 | ps4attribEyeToEyeDistanceSettingVR: 0
479 | ps4IncludedModules: []
480 | monoEnv:
481 | splashScreenBackgroundSourceLandscape: {fileID: 0}
482 | splashScreenBackgroundSourcePortrait: {fileID: 0}
483 | spritePackerPolicy:
484 | webGLMemorySize: 256
485 | webGLExceptionSupport: 1
486 | webGLNameFilesAsHashes: 0
487 | webGLDataCaching: 0
488 | webGLDebugSymbols: 0
489 | webGLEmscriptenArgs:
490 | webGLModulesDirectory:
491 | webGLTemplate: APPLICATION:Default
492 | webGLAnalyzeBuildSize: 0
493 | webGLUseEmbeddedResources: 0
494 | webGLCompressionFormat: 1
495 | webGLLinkerTarget: 1
496 | webGLThreadsSupport: 0
497 | scriptingDefineSymbols: {}
498 | platformArchitecture: {}
499 | scriptingBackend: {}
500 | il2cppCompilerConfiguration: {}
501 | managedStrippingLevel: {}
502 | incrementalIl2cppBuild: {}
503 | allowUnsafeCode: 0
504 | additionalIl2CppArgs:
505 | scriptingRuntimeVersion: 1
506 | apiCompatibilityLevelPerPlatform: {}
507 | m_RenderingPath: 1
508 | m_MobileRenderingPath: 1
509 | metroPackageName: UnityReorderableListEditor
510 | metroPackageVersion:
511 | metroCertificatePath:
512 | metroCertificatePassword:
513 | metroCertificateSubject:
514 | metroCertificateIssuer:
515 | metroCertificateNotAfter: 0000000000000000
516 | metroApplicationDescription: UnityReorderableListEditor
517 | wsaImages: {}
518 | metroTileShortName:
519 | metroTileShowName: 0
520 | metroMediumTileShowName: 0
521 | metroLargeTileShowName: 0
522 | metroWideTileShowName: 0
523 | metroSupportStreamingInstall: 0
524 | metroLastRequiredScene: 0
525 | metroDefaultTileSize: 1
526 | metroTileForegroundText: 2
527 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
528 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
529 | a: 1}
530 | metroSplashScreenUseBackgroundColor: 0
531 | platformCapabilities: {}
532 | metroTargetDeviceFamilies: {}
533 | metroFTAName:
534 | metroFTAFileTypes: []
535 | metroProtocolName:
536 | metroCompilationOverrides: 1
537 | XboxOneProductId:
538 | XboxOneUpdateKey:
539 | XboxOneSandboxId:
540 | XboxOneContentId:
541 | XboxOneTitleId:
542 | XboxOneSCId:
543 | XboxOneGameOsOverridePath:
544 | XboxOnePackagingOverridePath:
545 | XboxOneAppManifestOverridePath:
546 | XboxOneVersion: 1.0.0.0
547 | XboxOnePackageEncryption: 0
548 | XboxOnePackageUpdateGranularity: 2
549 | XboxOneDescription:
550 | XboxOneLanguage:
551 | - enus
552 | XboxOneCapability: []
553 | XboxOneGameRating: {}
554 | XboxOneIsContentPackage: 0
555 | XboxOneEnableGPUVariability: 0
556 | XboxOneSockets: {}
557 | XboxOneSplashScreen: {fileID: 0}
558 | XboxOneAllowedProductIds: []
559 | XboxOnePersistentLocalStorageSize: 0
560 | XboxOneXTitleMemory: 8
561 | xboxOneScriptCompiler: 0
562 | XboxOneOverrideIdentityName:
563 | vrEditorSettings:
564 | daydream:
565 | daydreamIconForeground: {fileID: 0}
566 | daydreamIconBackground: {fileID: 0}
567 | cloudServicesEnabled: {}
568 | luminIcon:
569 | m_Name:
570 | m_ModelFolderPath:
571 | m_PortalFolderPath:
572 | luminCert:
573 | m_CertPath:
574 | m_PrivateKeyPath:
575 | luminIsChannelApp: 0
576 | luminVersion:
577 | m_VersionCode: 1
578 | m_VersionName:
579 | facebookSdkVersion: 7.9.4
580 | facebookAppId:
581 | facebookCookies: 1
582 | facebookLogging: 1
583 | facebookStatus: 1
584 | facebookXfbml: 0
585 | facebookFrictionlessRequests: 1
586 | apiCompatibilityLevel: 6
587 | cloudProjectId:
588 | framebufferDepthMemorylessMode: 0
589 | projectName:
590 | organizationId:
591 | cloudEnabled: 0
592 | enableNativePlatformBackendsForNewInputSystem: 0
593 | disableOldInputManagerSupport: 0
594 | legacyClampBlendShapeWeights: 1
595 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.3.6f1
2 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 4
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 0
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 4
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 70
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 2
136 | antiAliasing: 2
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 4
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
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: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSM: 5
183 | PSP2: 2
184 | Standalone: 5
185 | Tizen: 2
186 | WebGL: 3
187 | WiiU: 5
188 | Windows Store Apps: 5
189 | XboxOne: 5
190 | iPhone: 2
191 | tvOS: 2
192 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate
14 | m_Enabled: 0
15 | m_CaptureEditorExceptions: 1
16 | UnityPurchasingSettings:
17 | m_Enabled: 0
18 | m_TestMode: 0
19 | UnityAnalyticsSettings:
20 | m_Enabled: 0
21 | m_InitializeOnStartup: 1
22 | m_TestMode: 0
23 | m_TestEventUrl:
24 | m_TestConfigUrl:
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/ReorderableListEditor.Demo/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_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27703.2035
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReorderableListEditor", "ReorderableListEditor\ReorderableListEditor.csproj", "{550D8F0F-E6FC-4FF8-9808-AF28331A24A2}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {550D8F0F-E6FC-4FF8-9808-AF28331A24A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {550D8F0F-E6FC-4FF8-9808-AF28331A24A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {550D8F0F-E6FC-4FF8-9808-AF28331A24A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {550D8F0F-E6FC-4FF8-9808-AF28331A24A2}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {A785C141-522C-454F-8B32-79DAB744CB1F}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("Andeart.ReorderableListEditor")]
8 | [assembly: AssemblyDescription("Custom editor that draws any lists/arrays in Unity Inspector as re-orderable by default.")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("Andeart")]
11 | [assembly: AssemblyProduct("Andeart.ReorderableListEditor")]
12 | [assembly: AssemblyCopyright("Copyright © ANURAG DEVANAPALLY 2019")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("550d8f0f-e6fc-4ff8-9808-af28331a24a2")]
23 |
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the values or you can default the Build and Revision Numbers
32 | // by using the '*' as shown below:
33 | // [assembly: AssemblyVersion("1.0.*")]
34 | [assembly: AssemblyVersion("2.0.1.0")]
35 | [assembly: AssemblyFileVersion("2.0.1.0")]
36 |
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/References/UnityEditor.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/ReorderableListEditor/ReorderableListEditor/References/UnityEditor.dll
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/References/UnityEngine.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/andeart/UnityLabs.ReorderableListEditor/5e723fdc1b0c32a961601bf2c12adf8acdb51fd9/ReorderableListEditor/ReorderableListEditor/References/UnityEngine.dll
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/ReorderableListEditor.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEditor;
3 | using UnityEditorInternal;
4 | using UnityEngine;
5 |
6 |
7 | namespace Andeart.ReorderableListEditor
8 | {
9 |
10 | ///
11 | /// Custom editor to allow re-orderable lists/arrays in Unity Inspector automatically.
12 | /// This custom editor overrides Unity's default SerializedProperty drawing for arrays and lists.
13 | /// This is inspired by Valentin Simonov's blog article here:
14 | /// http://va.lent.in/unity-make-your-lists-functional-with-reorderablelist/ , along with additional tweaks/functionality.
15 | /// The majority of the Editor code in this project is protected/virtual, allowing developers to easily write custom
16 | /// editors that use/extend this reordering feature.
17 | ///
18 | ///
19 | [CustomEditor (typeof(Object), true)]
20 | [CanEditMultipleObjects]
21 | public class ReorderableListEditor : Editor
22 | {
23 | private Dictionary _reorderableLists;
24 |
25 | protected virtual void OnEnable ()
26 | {
27 | _reorderableLists = new Dictionary ();
28 | }
29 |
30 | protected virtual void OnDestroy ()
31 | {
32 | _reorderableLists.Clear ();
33 | _reorderableLists = null;
34 | }
35 |
36 | public override void OnInspectorGUI ()
37 | {
38 | Color propertyValueColor = GUI.color;
39 | serializedObject.Update ();
40 | SerializedProperty property = serializedObject.GetIterator ();
41 | bool next = property.NextVisible (true);
42 | if (next)
43 | {
44 | do
45 | {
46 | GUI.color = propertyValueColor;
47 | DrawProperty (property);
48 | } while (property.NextVisible (false));
49 | }
50 |
51 | serializedObject.ApplyModifiedProperties ();
52 | }
53 |
54 | protected void DrawProperty (SerializedProperty property)
55 | {
56 | bool isPropertyMonobehaviourId = property.name.Equals ("m_Script")
57 | && property.type.Equals ("PPtr")
58 | && property.propertyType == SerializedPropertyType.ObjectReference
59 | && property.propertyPath.Equals ("m_Script");
60 |
61 | if (isPropertyMonobehaviourId)
62 | {
63 | using (new EditorGUI.DisabledScope (true))
64 | {
65 | EditorGUILayout.PropertyField (property);
66 | }
67 |
68 | return;
69 | }
70 |
71 | if (property.isArray && property.propertyType != SerializedPropertyType.String)
72 | {
73 | DrawListProperty (property);
74 | } else
75 | {
76 | EditorGUILayout.PropertyField (property, property.isExpanded);
77 | }
78 | }
79 |
80 | private void DrawListProperty (SerializedProperty property)
81 | {
82 | ReorderableListProperty reorderableListProperty = GetReorderableList (property);
83 | if (!reorderableListProperty.Property.isExpanded)
84 | {
85 | EditorGUI.indentLevel++;
86 |
87 | int defaultFoldoutIndent = EditorGUI.indentLevel * 14;
88 | Rect lastRect = GUILayoutUtility.GetLastRect ();
89 | Rect rect = new Rect (defaultFoldoutIndent, lastRect.y + lastRect.height + 2f, Screen.width - 19f, 18f);
90 | ReorderableListEditorUtils.DrawClosedFoldoutRect (rect);
91 |
92 | property.isExpanded = EditorGUILayout.Foldout (property.isExpanded,
93 | ReorderableListEditorUtils
94 | .GetPropertyDisplayNameFormatted (property),
95 | true,
96 | ReorderableListEditorUtils.GetFoldoutStyle (false));
97 |
98 | EditorGUI.indentLevel--;
99 | } else
100 | {
101 | reorderableListProperty.DoLayoutList ();
102 | }
103 |
104 | EditorGUILayout.GetControlRect (true, 2f);
105 | }
106 |
107 | private ReorderableListProperty GetReorderableList (SerializedProperty property)
108 | {
109 | if (_reorderableLists.TryGetValue (property.name, out ReorderableListProperty reorderableListProperty))
110 | {
111 | reorderableListProperty.Property = property;
112 | return reorderableListProperty;
113 | }
114 |
115 | reorderableListProperty = new ReorderableListProperty (property);
116 | _reorderableLists[property.name] = reorderableListProperty;
117 | return reorderableListProperty;
118 | }
119 |
120 |
121 | #region ReorderableListProperty
122 |
123 | private class ReorderableListProperty
124 | {
125 | private const float _elementVerticalMargin = 4f;
126 | private ReorderableList _list;
127 |
128 | private SerializedProperty _property;
129 |
130 | public SerializedProperty Property
131 | {
132 | get => _property;
133 | set
134 | {
135 | _property = value;
136 | _list.serializedProperty = _property;
137 | }
138 | }
139 |
140 | public ReorderableListProperty (SerializedProperty property)
141 | {
142 | _property = property;
143 | CreateList ();
144 | }
145 |
146 | ~ReorderableListProperty ()
147 | {
148 | _property = null;
149 | _list = null;
150 | }
151 |
152 | private void CreateList ()
153 | {
154 | _list = new ReorderableList (_property.serializedObject, _property, true, true, true, true);
155 | _list.drawHeaderCallback += OnListDrawHeader;
156 | _list.onCanRemoveCallback += GetListCanRemove;
157 | _list.drawElementCallback += OnListDrawElement;
158 | _list.elementHeightCallback += GetListElementHeight;
159 | }
160 |
161 | private void OnListDrawHeader (Rect rect)
162 | {
163 | _property.isExpanded = EditorGUI.Foldout (new Rect (rect.x + 10, rect.y, rect.width, rect.height),
164 | _property.isExpanded,
165 | _property.displayName,
166 | true,
167 | ReorderableListEditorUtils.GetFoldoutStyle (true));
168 | }
169 |
170 | private bool GetListCanRemove (ReorderableList list)
171 | {
172 | return _list.count > 0;
173 | }
174 |
175 | private void OnListDrawElement (Rect rect, int index, bool active, bool focused)
176 | {
177 | rect.x += 8;
178 | rect.width -= 8;
179 | rect.y += 2;
180 | SerializedProperty propertyChild = _property.GetArrayElementAtIndex (index);
181 | rect.height = EditorGUI.GetPropertyHeight (propertyChild, GUIContent.none, true);
182 |
183 | if (propertyChild.propertyType == SerializedPropertyType.Generic)
184 | {
185 | EditorGUI.LabelField (rect, propertyChild.displayName);
186 | }
187 |
188 | EditorGUI.PropertyField (rect, propertyChild, GUIContent.none, true);
189 | _list.elementHeight = rect.height + _elementVerticalMargin;
190 | }
191 |
192 | private float GetListElementHeight (int index)
193 | {
194 | return Mathf.Max (EditorGUIUtility.singleLineHeight,
195 | EditorGUI.GetPropertyHeight (_property.GetArrayElementAtIndex (index),
196 | GUIContent.none,
197 | true))
198 | + _elementVerticalMargin;
199 | }
200 |
201 | public void DoLayoutList ()
202 | {
203 | _list.DoLayoutList ();
204 | }
205 | }
206 |
207 | #endregion ReorderableListProperty
208 | }
209 |
210 | }
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/ReorderableListEditor.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {550D8F0F-E6FC-4FF8-9808-AF28331A24A2}
8 | Library
9 | Properties
10 | Andeart.ReorderableListEditor
11 | Andeart.ReorderableListEditor
12 | v4.7.2
13 | 512
14 |
15 |
16 |
17 | true
18 | full
19 | false
20 | bin\Debug\
21 | DEBUG;TRACE
22 | prompt
23 | 4
24 | bin\Debug\Andeart.ReorderableListEditor.xml
25 | false
26 |
27 |
28 | pdbonly
29 | true
30 | bin\Release\
31 | TRACE
32 | prompt
33 | 4
34 | false
35 | bin\Release\Andeart.ReorderableListEditor.xml
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | References\UnityEditor.dll
46 |
47 |
48 | References\UnityEngine.dll
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/ReorderableListEditor.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $id$
5 | $version$
6 | $title$
7 | $author$
8 | $author$
9 | LICENSE.md
10 | https://github.com/andeart/UnityLabs.ReorderableListEditor
11 | https://secure.gravatar.com/avatar/54042edbdd6a854f25a7ce72b99b78a0.png
12 | false
13 | $description$
14 | QOL updates, including root namespace
15 | $copyright$
16 | unity unity3d unity-editor serialization inspector editor
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ReorderableListEditor/ReorderableListEditor/ReorderableListEditorUtils.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 |
6 | namespace Andeart.ReorderableListEditor
7 | {
8 |
9 | internal static class ReorderableListEditorUtils
10 | {
11 | private static readonly Dictionary _foldoutStyles;
12 |
13 | static ReorderableListEditorUtils ()
14 | {
15 | _foldoutStyles = new Dictionary ();
16 | }
17 |
18 | public static void DrawClosedFoldoutRect (Rect rect)
19 | {
20 | // Outermost border
21 | Color color = Color.white * 0.63f;
22 | color.a = 1f;
23 | EditorGUI.DrawRect (rect, color);
24 |
25 | // Inset border
26 | color = Color.white * 0.80f;
27 | color.a = 1f;
28 | rect.x += 1f;
29 | rect.width -= 2f;
30 | rect.y += 1f;
31 | rect.height -= 2f;
32 | EditorGUI.DrawRect (rect, color);
33 |
34 | // Main body color
35 | color = Color.white * 0.87f;
36 | color.a = 1f;
37 | rect.x += 1f;
38 | rect.width -= 1f;
39 | rect.y += 1f;
40 | rect.height -= 1f;
41 | EditorGUI.DrawRect (rect, color);
42 |
43 | // White top inset border
44 | color = Color.white * 0.95f;
45 | rect.y -= 1f;
46 | rect.height = 1f;
47 | EditorGUI.DrawRect (rect, color);
48 | }
49 |
50 | public static string GetPropertyDisplayNameFormatted (SerializedProperty property)
51 | {
52 | return $"{property.displayName} [{property.arraySize}]";
53 | }
54 |
55 | ///
56 | /// Returns GuiStyle for the foldout.
57 | ///
58 | ///
59 | /// True, if the GuiStyle being requested is for an open foldout. Else, (false) returns GuiStyle
60 | /// for closed foldout.
61 | ///
62 | public static GUIStyle GetFoldoutStyle (bool isOpenStyle)
63 | {
64 | ConfirmFoldoutGuiStyles ();
65 | return _foldoutStyles[isOpenStyle];
66 | }
67 |
68 | private static void ConfirmFoldoutGuiStyles ()
69 | {
70 | if (_foldoutStyles.ContainsKey (true) && _foldoutStyles.ContainsKey (false))
71 | {
72 | return;
73 | }
74 |
75 | GUIStyle guiStyle = new GUIStyle (EditorStyles.foldout);
76 | Color defaultTextColor = guiStyle.normal.textColor;
77 | guiStyle.hover.textColor = defaultTextColor;
78 | guiStyle.onHover.textColor = defaultTextColor;
79 | guiStyle.focused.textColor = defaultTextColor;
80 | guiStyle.onFocused.textColor = defaultTextColor;
81 | guiStyle.active.textColor = defaultTextColor;
82 | guiStyle.onActive.textColor = defaultTextColor;
83 | _foldoutStyles[true] = guiStyle;
84 |
85 | guiStyle.margin.top += 1;
86 | guiStyle.margin.left += 11;
87 | _foldoutStyles[false] = guiStyle;
88 | }
89 | }
90 |
91 | }
--------------------------------------------------------------------------------
/unity-dirs.txt:
--------------------------------------------------------------------------------
1 | ./ReorderableListEditor.Demo/Assets/Libraries
--------------------------------------------------------------------------------