com.elestrago.unity.package-tools 2.0.8 → 2.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CAHNGELOG.md +20 -0
- package/Editor/Drawers/SamplePropertyDrawer.cs +25 -19
- package/Editor/EditorConstants.cs +3 -1
- package/Editor/PackageManifestConfig.cs +4 -4
- package/Editor/Tools/FileTools.cs +43 -38
- package/Editor/Tools/GUILayoutTools.cs +10 -0
- package/Editor/Tools/PackageJsonModel.cs +4 -4
- package/Editor/Utils/PackageInitialize/PackageInitializeTemplates.cs +1 -5
- package/README.md +0 -4
- package/Samples~/ExampleSample/Prefabs/ExamplePrefab.prefab +85 -0
- package/Samples~/ExampleSample/Scene/SampleScene.unity +291 -0
- package/package.json +7 -7
package/CAHNGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
## [2.0.10](https://gitlab.com/elestrago-pkg/package-tool/-/tags/2.0.10)
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Create destination directory when copy files
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [2.0.9](https://gitlab.com/elestrago-pkg/package-tool/-/tags/2.0.9)
|
|
14
|
+
|
|
15
|
+
### Removed
|
|
16
|
+
|
|
17
|
+
- Removed `v` prefix in package tags
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Coping sample files and folders to package destination folder from sample source folder
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
5
25
|
## [v2.0.8](https://gitlab.com/elestrago-pkg/package-tool/-/tags/v2.0.8)
|
|
6
26
|
|
|
7
27
|
### Changes
|
|
@@ -7,56 +7,62 @@ namespace PackageTool.Drawers
|
|
|
7
7
|
[CustomPropertyDrawer(typeof(PackageManifestConfig.Sample))]
|
|
8
8
|
public class SamplePropertyDrawer : PropertyDrawer
|
|
9
9
|
{
|
|
10
|
+
private const string SOURCE_PATH_PROPERTY_NAME = "sourcePath";
|
|
10
11
|
private const string DISPLAY_NAME_PROPERTY_NAME = "displayName";
|
|
11
12
|
private const string DESCRIPTION_PROPERTY_NAME = "description";
|
|
12
|
-
private const string
|
|
13
|
+
private const string FOLDER_NAME_PROPERTY_NAME = "folderName";
|
|
13
14
|
|
|
14
15
|
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
|
|
15
16
|
{
|
|
17
|
+
var sourcePathRect = new Rect(position)
|
|
18
|
+
{
|
|
19
|
+
height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT
|
|
20
|
+
};
|
|
21
|
+
|
|
16
22
|
var displayNameRect = new Rect(position)
|
|
17
23
|
{
|
|
24
|
+
position = new Vector2(position.x, sourcePathRect.y + sourcePathRect.height + 2),
|
|
18
25
|
height = EditorGUIUtility.singleLineHeight
|
|
19
26
|
};
|
|
20
|
-
displayNameRect.height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT;
|
|
21
27
|
|
|
22
28
|
var descriptionRect = new Rect(displayNameRect)
|
|
23
29
|
{
|
|
24
|
-
position = new Vector2(position.x, displayNameRect.y + displayNameRect.height + 2)
|
|
30
|
+
position = new Vector2(position.x, displayNameRect.y + displayNameRect.height + 2),
|
|
31
|
+
height = EditorGUIUtility.singleLineHeight
|
|
25
32
|
};
|
|
26
|
-
descriptionRect.height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT;
|
|
27
33
|
|
|
28
|
-
var
|
|
34
|
+
var folderNameRect = new Rect(descriptionRect)
|
|
29
35
|
{
|
|
30
36
|
position = new Vector2(position.x, descriptionRect.y + displayNameRect.height + 2),
|
|
31
37
|
};
|
|
32
38
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var
|
|
39
|
+
sourcePathRect.width -= EditorConstants.FOLDER_PATH_PICKER_BUFFER;
|
|
40
|
+
sourcePathRect.height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT;
|
|
41
|
+
var newSourcePathRect = new Rect(sourcePathRect);
|
|
36
42
|
|
|
37
|
-
var
|
|
38
|
-
EditorGUI.PropertyField(
|
|
39
|
-
EditorGUI.PropertyField(descriptionRect, property.FindPropertyRelative(DESCRIPTION_PROPERTY_NAME));
|
|
40
|
-
EditorGUI.PropertyField(newPathRect, pathProperty);
|
|
43
|
+
var sourcePathProperty = property.FindPropertyRelative(SOURCE_PATH_PROPERTY_NAME);
|
|
44
|
+
EditorGUI.PropertyField(newSourcePathRect, sourcePathProperty);
|
|
41
45
|
|
|
42
46
|
var folderPickerRect = new Rect
|
|
43
47
|
{
|
|
44
48
|
position = new Vector2(
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
newSourcePathRect.width + EditorConstants.FOLDER_PATH_PICKER_BUFFER + 10,
|
|
50
|
+
newSourcePathRect.position.y),
|
|
47
51
|
width = EditorConstants.FOLDER_PATH_PICKER_HEIGHT,
|
|
48
52
|
height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT,
|
|
49
53
|
};
|
|
50
54
|
|
|
51
|
-
GUILayoutTools.
|
|
55
|
+
GUILayoutTools.DrawFolderPicker(
|
|
52
56
|
folderPickerRect,
|
|
53
|
-
|
|
57
|
+
sourcePathProperty,
|
|
54
58
|
EditorConstants.SELECT_SAMPLES_PATH_FOLDER_TITLE);
|
|
59
|
+
|
|
60
|
+
EditorGUI.PropertyField(displayNameRect, property.FindPropertyRelative(DISPLAY_NAME_PROPERTY_NAME));
|
|
61
|
+
EditorGUI.PropertyField(descriptionRect, property.FindPropertyRelative(DESCRIPTION_PROPERTY_NAME));
|
|
62
|
+
EditorGUI.PropertyField(folderNameRect, property.FindPropertyRelative(FOLDER_NAME_PROPERTY_NAME));
|
|
55
63
|
}
|
|
56
64
|
|
|
57
65
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
|
58
|
-
|
|
59
|
-
return EditorGUIUtility.singleLineHeight * 3f;
|
|
60
|
-
}
|
|
66
|
+
=> EditorConstants.FOLDER_PATH_PICKER_HEIGHT + EditorGUIUtility.singleLineHeight * 3f + 6f;
|
|
61
67
|
}
|
|
62
68
|
}
|
|
@@ -39,7 +39,8 @@ namespace PackageTool
|
|
|
39
39
|
public const string PACKAGE_JSON_FILENAME = "package.json";
|
|
40
40
|
public const string WILDCARD_FILTER = "*";
|
|
41
41
|
public const string ASSET_EXTENSION = ".asset";
|
|
42
|
-
public const string
|
|
42
|
+
public const string META_EXTENSION = ".meta";
|
|
43
|
+
public const string META_FORMAT = "{0}" + META_EXTENSION;
|
|
43
44
|
public const string GENERATED_FOLDER_NAME = "Generated";
|
|
44
45
|
public const string UNITY_PACKAGE_NAME_FORMAT = "{0}_v{1}.unityPackage";
|
|
45
46
|
public const char EMPTY_SPACE = ' ';
|
|
@@ -104,6 +105,7 @@ namespace PackageTool
|
|
|
104
105
|
public const string PACKAGE_UPDATE_SUCCESS_FORMAT =
|
|
105
106
|
"[Package Tools] Successfully updated package source for [{0}].";
|
|
106
107
|
|
|
108
|
+
public const string SAMPLES_FOLDER_NAME = "Samples~";
|
|
107
109
|
public const string SAMPLES_HEADER_LABEL = "Samples";
|
|
108
110
|
public const string SAMPLES_ELEMENT_LABEL_FORMAT = "Sample {0}:";
|
|
109
111
|
}
|
|
@@ -72,13 +72,14 @@ namespace PackageTool
|
|
|
72
72
|
[Serializable]
|
|
73
73
|
public sealed class Sample
|
|
74
74
|
{
|
|
75
|
+
public string sourcePath;
|
|
75
76
|
public string displayName;
|
|
76
77
|
public string description;
|
|
77
|
-
public string
|
|
78
|
+
public string folderName;
|
|
78
79
|
|
|
79
80
|
public bool IsEmpty() => string.IsNullOrEmpty(displayName)
|
|
80
|
-
|| string.IsNullOrEmpty(
|
|
81
|
-
|| string.IsNullOrEmpty(
|
|
81
|
+
|| string.IsNullOrEmpty(sourcePath)
|
|
82
|
+
|| string.IsNullOrEmpty(folderName);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
/// <summary>
|
|
@@ -91,7 +92,6 @@ namespace PackageTool
|
|
|
91
92
|
/// <summary>
|
|
92
93
|
/// A collection of paths to folders and files for the source for the package.
|
|
93
94
|
/// </summary>
|
|
94
|
-
// public string[] packageSourcePaths;
|
|
95
95
|
public string sourcePath;
|
|
96
96
|
|
|
97
97
|
public string documentationPath = "Documentation~";
|
|
@@ -123,34 +123,8 @@ namespace PackageTool.Tools
|
|
|
123
123
|
var normalizedSourcePath = Path.GetFullPath(packageManifest.sourcePath);
|
|
124
124
|
|
|
125
125
|
CopyDocumentationToDirectory(packageManifest);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
// {
|
|
129
|
-
// var fileInfo = new FileInfo(normalizedSourcePath);
|
|
130
|
-
// if (fileInfo.Directory == null)
|
|
131
|
-
// return;
|
|
132
|
-
//
|
|
133
|
-
// var parentDirectoryPath = fileInfo.Directory.FullName;
|
|
134
|
-
// var newPath = normalizedSourcePath.Replace(parentDirectoryPath, normalizedDestinationPath);
|
|
135
|
-
//
|
|
136
|
-
// File.Copy(normalizedSourcePath, newPath);
|
|
137
|
-
//
|
|
138
|
-
// var sourceMetaPath = string.Format(EditorConstants.META_FORMAT, normalizedSourcePath);
|
|
139
|
-
// if (File.Exists(sourceMetaPath))
|
|
140
|
-
// {
|
|
141
|
-
// var newMetaPath = sourceMetaPath.Replace(parentDirectoryPath, normalizedDestinationPath);
|
|
142
|
-
// File.Copy(sourceMetaPath, newMetaPath);
|
|
143
|
-
// }
|
|
144
|
-
// }
|
|
145
|
-
// Otherwise if this is a folder, copy it and all the contents over to the destination folder.
|
|
146
|
-
// else
|
|
147
|
-
{
|
|
148
|
-
RecursivelyCopyDirectoriesAndFiles(
|
|
149
|
-
packageManifest,
|
|
150
|
-
new DirectoryInfo(normalizedSourcePath),
|
|
151
|
-
normalizedSourcePath,
|
|
152
|
-
normalizedDestinationPath);
|
|
153
|
-
}
|
|
126
|
+
RecursivelyCopyDirectoriesAndFiles(packageManifest, normalizedSourcePath, normalizedDestinationPath);
|
|
127
|
+
CopySamplesToDirectory(packageManifest);
|
|
154
128
|
|
|
155
129
|
Debug.LogFormat(EditorConstants.PACKAGE_UPDATE_SUCCESS_FORMAT, packageManifest.packageName);
|
|
156
130
|
|
|
@@ -188,11 +162,9 @@ namespace PackageTool.Tools
|
|
|
188
162
|
|
|
189
163
|
Directory.CreateDirectory(destinationPath);
|
|
190
164
|
|
|
191
|
-
|
|
192
|
-
if (documentationDir.Exists)
|
|
165
|
+
if (Directory.Exists(packageManifest.documentationPath))
|
|
193
166
|
RecursivelyCopyDirectoriesAndFiles(
|
|
194
167
|
packageManifest,
|
|
195
|
-
documentationDir,
|
|
196
168
|
normalizedDocumentationPath,
|
|
197
169
|
destinationPath
|
|
198
170
|
);
|
|
@@ -220,6 +192,34 @@ namespace PackageTool.Tools
|
|
|
220
192
|
File.Copy(normalizedSourcePath, destinationPath);
|
|
221
193
|
}
|
|
222
194
|
|
|
195
|
+
private static void CopySamplesToDirectory(PackageManifestConfig packageManifest)
|
|
196
|
+
{
|
|
197
|
+
var samples = packageManifest.samples;
|
|
198
|
+
samples = samples.Where(s => !s.IsEmpty()).ToArray();
|
|
199
|
+
if (samples.Length == 0)
|
|
200
|
+
return;
|
|
201
|
+
|
|
202
|
+
var sampleDestinationPath =
|
|
203
|
+
Path.Combine(packageManifest.packageDestinationPath, EditorConstants.SAMPLES_FOLDER_NAME);
|
|
204
|
+
var normalizedSamplesPath = Path.GetFullPath(sampleDestinationPath);
|
|
205
|
+
if (Directory.Exists(normalizedSamplesPath))
|
|
206
|
+
Directory.Delete(normalizedSamplesPath, true);
|
|
207
|
+
|
|
208
|
+
Directory.CreateDirectory(normalizedSamplesPath);
|
|
209
|
+
|
|
210
|
+
foreach (var sample in samples)
|
|
211
|
+
RecursivelyCopyDirectoriesAndFiles(
|
|
212
|
+
packageManifest,
|
|
213
|
+
sample.sourcePath,
|
|
214
|
+
Path.Combine(sampleDestinationPath, sample.folderName),
|
|
215
|
+
IgnoreMetaFile
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
return;
|
|
219
|
+
|
|
220
|
+
bool IgnoreMetaFile(FileInfo fileInfo) => fileInfo.Extension == EditorConstants.META_EXTENSION;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
223
|
/// <summary>
|
|
224
224
|
/// Returns true if the <paramref name="path"/> is for a file, otherwise false.
|
|
225
225
|
/// </summary>
|
|
@@ -241,14 +241,19 @@ namespace PackageTool.Tools
|
|
|
241
241
|
/// <param name="destinationPath"></param>
|
|
242
242
|
private static void RecursivelyCopyDirectoriesAndFiles(
|
|
243
243
|
PackageManifestConfig packageManifest,
|
|
244
|
-
DirectoryInfo directoryInfo,
|
|
245
244
|
string sourcePath,
|
|
246
|
-
string destinationPath
|
|
245
|
+
string destinationPath,
|
|
246
|
+
Func<FileInfo, bool> ignoreFile = null
|
|
247
247
|
)
|
|
248
248
|
{
|
|
249
249
|
var normalizedSourcePath = Path.GetFullPath(sourcePath);
|
|
250
250
|
var normalizedDestinationPath = Path.GetFullPath(destinationPath);
|
|
251
|
-
|
|
251
|
+
if (!Directory.Exists(normalizedDestinationPath))
|
|
252
|
+
Directory.CreateDirectory(normalizedDestinationPath);
|
|
253
|
+
|
|
254
|
+
var directoryInfo = new DirectoryInfo(sourcePath);
|
|
255
|
+
var subDirectoryInfo =
|
|
256
|
+
directoryInfo.GetDirectories(EditorConstants.WILDCARD_FILTER, SearchOption.AllDirectories);
|
|
252
257
|
foreach (var sdi in subDirectoryInfo)
|
|
253
258
|
{
|
|
254
259
|
// If any of the paths we're looking at match the ignore paths from the user, skip them
|
|
@@ -259,12 +264,9 @@ namespace PackageTool.Tools
|
|
|
259
264
|
}
|
|
260
265
|
|
|
261
266
|
Directory.CreateDirectory(sdi.FullName.Replace(normalizedSourcePath, normalizedDestinationPath));
|
|
262
|
-
|
|
263
|
-
RecursivelyCopyDirectoriesAndFiles(packageManifest, sdi, normalizedSourcePath,
|
|
264
|
-
normalizedDestinationPath);
|
|
265
267
|
}
|
|
266
268
|
|
|
267
|
-
var fileInfo = directoryInfo.GetFiles(EditorConstants.WILDCARD_FILTER);
|
|
269
|
+
var fileInfo = directoryInfo.GetFiles(EditorConstants.WILDCARD_FILTER, SearchOption.AllDirectories);
|
|
268
270
|
foreach (var fi in fileInfo)
|
|
269
271
|
{
|
|
270
272
|
// If any of the paths we're looking at match the ignore paths from the user, skip them
|
|
@@ -274,6 +276,9 @@ namespace PackageTool.Tools
|
|
|
274
276
|
continue;
|
|
275
277
|
}
|
|
276
278
|
|
|
279
|
+
if (ignoreFile?.Invoke(fi) ?? false)
|
|
280
|
+
continue;
|
|
281
|
+
|
|
277
282
|
var newPath = Path.GetFullPath(fi.FullName).Replace(normalizedSourcePath, normalizedDestinationPath);
|
|
278
283
|
File.Copy(fi.FullName, newPath);
|
|
279
284
|
}
|
|
@@ -59,6 +59,8 @@ namespace PackageTool.Tools
|
|
|
59
59
|
{
|
|
60
60
|
var relativePath = FileTools.ConvertToRelativePath(path, Application.dataPath);
|
|
61
61
|
property.stringValue = relativePath;
|
|
62
|
+
property.serializedObject.ApplyModifiedProperties();
|
|
63
|
+
GUIUtility.ExitGUI();
|
|
62
64
|
}
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -85,6 +87,8 @@ namespace PackageTool.Tools
|
|
|
85
87
|
var relativePath = "/" + FileTools.ConvertToRelativePath(path, Application.dataPath);
|
|
86
88
|
relativePath = FileTools.ConvertToRelativePath(relativePath, sourcePath);
|
|
87
89
|
property.stringValue = relativePath;
|
|
90
|
+
property.serializedObject.ApplyModifiedProperties();
|
|
91
|
+
GUIUtility.ExitGUI();
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
}
|
|
@@ -115,6 +119,8 @@ namespace PackageTool.Tools
|
|
|
115
119
|
{
|
|
116
120
|
var relativePath = FileTools.ConvertToRelativePath(path, Application.dataPath);
|
|
117
121
|
property.stringValue = relativePath;
|
|
122
|
+
property.serializedObject.ApplyModifiedProperties();
|
|
123
|
+
GUIUtility.ExitGUI();
|
|
118
124
|
}
|
|
119
125
|
}
|
|
120
126
|
}
|
|
@@ -145,6 +151,8 @@ namespace PackageTool.Tools
|
|
|
145
151
|
{
|
|
146
152
|
var relativePath = FileTools.ConvertToRelativePath(path, Application.dataPath);
|
|
147
153
|
property.stringValue = relativePath;
|
|
154
|
+
property.serializedObject.ApplyModifiedProperties();
|
|
155
|
+
GUIUtility.ExitGUI();
|
|
148
156
|
}
|
|
149
157
|
}
|
|
150
158
|
}
|
|
@@ -170,6 +178,8 @@ namespace PackageTool.Tools
|
|
|
170
178
|
{
|
|
171
179
|
var relativePath = FileTools.ConvertToRelativePath(path, Application.dataPath);
|
|
172
180
|
property.stringValue = relativePath;
|
|
181
|
+
property.serializedObject.ApplyModifiedProperties();
|
|
182
|
+
GUIUtility.ExitGUI();
|
|
173
183
|
}
|
|
174
184
|
}
|
|
175
185
|
}
|
|
@@ -59,7 +59,7 @@ namespace PackageTool.Tools
|
|
|
59
59
|
model.Samples = manifest.samples != null && manifest.samples.Length > 0
|
|
60
60
|
? manifest.samples
|
|
61
61
|
.Where(s => !s.IsEmpty())
|
|
62
|
-
.Select(s => new Sample(s.displayName, s.description, s.
|
|
62
|
+
.Select(s => new Sample(s.displayName, s.description, "Samples~/" + s.folderName))
|
|
63
63
|
.ToArray()
|
|
64
64
|
: null;
|
|
65
65
|
|
|
@@ -70,9 +70,9 @@ namespace PackageTool.Tools
|
|
|
70
70
|
homepage = homepage.Remove(homepage.Length - 2, 1);
|
|
71
71
|
|
|
72
72
|
model.Homepage = homepage;
|
|
73
|
-
model.DocumentationUrl = $"{homepage}/-/blob/
|
|
74
|
-
model.ChangelogUrl = $"{homepage}/-/blob/
|
|
75
|
-
model.LicensesUrl = $"{homepage}/-/blob/
|
|
73
|
+
model.DocumentationUrl = $"{homepage}/-/blob/{manifest.packageVersion}/README.md";
|
|
74
|
+
model.ChangelogUrl = $"{homepage}/-/blob/{manifest.packageVersion}/CHANGELOG.md";
|
|
75
|
+
model.LicensesUrl = $"{homepage}/-/blob/{manifest.packageVersion}/LICENSE";
|
|
76
76
|
model.Repository = new Repository("git", $"{homepage}.git");
|
|
77
77
|
model.Bugs = new Bugs($"{homepage}/-/issues");
|
|
78
78
|
}
|
|
@@ -8,7 +8,7 @@ namespace PackageTool.Utils.PackageInitialize
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
## [
|
|
11
|
+
## [0.0.0]({homepage}/-/tags/0.0.0)
|
|
12
12
|
|
|
13
13
|
### Added
|
|
14
14
|
|
|
@@ -81,10 +81,6 @@ registry.
|
|
|
81
81
|
}}
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
#### Add package in PackageManager
|
|
85
|
-
|
|
86
|
-
Open `Window -> Package Manager` choose `Packages: My Regestries` and install package
|
|
87
|
-
|
|
88
84
|
";
|
|
89
85
|
}
|
|
90
86
|
|
package/README.md
CHANGED
|
@@ -35,10 +35,6 @@ registry.
|
|
|
35
35
|
}
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
#### Add package in PackageManager
|
|
39
|
-
|
|
40
|
-
Open `Window -> Package Manager` choose `Packages: My Regestries` and install package
|
|
41
|
-
|
|
42
38
|
## Setting up your first package
|
|
43
39
|
|
|
44
40
|
Creating your first package is a simple process that can be made more complex because information available about Unity
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
%YAML 1.1
|
|
2
|
+
%TAG !u! tag:unity3d.com,2011:
|
|
3
|
+
--- !u!1 &7163308873607426892
|
|
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: 189958532589283299}
|
|
12
|
+
- component: {fileID: 415496657422796839}
|
|
13
|
+
- component: {fileID: 9059559485555714885}
|
|
14
|
+
m_Layer: 0
|
|
15
|
+
m_Name: ExamplePrefab
|
|
16
|
+
m_TagString: Untagged
|
|
17
|
+
m_Icon: {fileID: 0}
|
|
18
|
+
m_NavMeshLayer: 0
|
|
19
|
+
m_StaticEditorFlags: 0
|
|
20
|
+
m_IsActive: 1
|
|
21
|
+
--- !u!4 &189958532589283299
|
|
22
|
+
Transform:
|
|
23
|
+
m_ObjectHideFlags: 0
|
|
24
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
25
|
+
m_PrefabInstance: {fileID: 0}
|
|
26
|
+
m_PrefabAsset: {fileID: 0}
|
|
27
|
+
m_GameObject: {fileID: 7163308873607426892}
|
|
28
|
+
serializedVersion: 2
|
|
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_ConstrainProportionsScale: 0
|
|
33
|
+
m_Children: []
|
|
34
|
+
m_Father: {fileID: 0}
|
|
35
|
+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
36
|
+
--- !u!33 &415496657422796839
|
|
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: 7163308873607426892}
|
|
43
|
+
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
|
44
|
+
--- !u!23 &9059559485555714885
|
|
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: 7163308873607426892}
|
|
51
|
+
m_Enabled: 1
|
|
52
|
+
m_CastShadows: 1
|
|
53
|
+
m_ReceiveShadows: 1
|
|
54
|
+
m_DynamicOccludee: 1
|
|
55
|
+
m_StaticShadowCaster: 0
|
|
56
|
+
m_MotionVectors: 1
|
|
57
|
+
m_LightProbeUsage: 1
|
|
58
|
+
m_ReflectionProbeUsage: 1
|
|
59
|
+
m_RayTracingMode: 2
|
|
60
|
+
m_RayTraceProcedural: 0
|
|
61
|
+
m_RenderingLayerMask: 1
|
|
62
|
+
m_RendererPriority: 0
|
|
63
|
+
m_Materials:
|
|
64
|
+
- {fileID: 10302, guid: 0000000000000000f000000000000000, type: 0}
|
|
65
|
+
m_StaticBatchInfo:
|
|
66
|
+
firstSubMesh: 0
|
|
67
|
+
subMeshCount: 0
|
|
68
|
+
m_StaticBatchRoot: {fileID: 0}
|
|
69
|
+
m_ProbeAnchor: {fileID: 0}
|
|
70
|
+
m_LightProbeVolumeOverride: {fileID: 0}
|
|
71
|
+
m_ScaleInLightmap: 1
|
|
72
|
+
m_ReceiveGI: 1
|
|
73
|
+
m_PreserveUVs: 0
|
|
74
|
+
m_IgnoreNormalsForChartDetection: 0
|
|
75
|
+
m_ImportantGI: 0
|
|
76
|
+
m_StitchLightmapSeams: 1
|
|
77
|
+
m_SelectedEditorRenderState: 3
|
|
78
|
+
m_MinimumChartSize: 4
|
|
79
|
+
m_AutoUVMaxDistance: 0.5
|
|
80
|
+
m_AutoUVMaxAngle: 89
|
|
81
|
+
m_LightmapParameters: {fileID: 0}
|
|
82
|
+
m_SortingLayerID: 0
|
|
83
|
+
m_SortingLayer: 0
|
|
84
|
+
m_SortingOrder: 0
|
|
85
|
+
m_AdditionalVertexStreams: {fileID: 0}
|
|
@@ -0,0 +1,291 @@
|
|
|
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_UseRadianceAmbientProbe: 0
|
|
42
|
+
--- !u!157 &3
|
|
43
|
+
LightmapSettings:
|
|
44
|
+
m_ObjectHideFlags: 0
|
|
45
|
+
serializedVersion: 12
|
|
46
|
+
m_GIWorkflowMode: 1
|
|
47
|
+
m_GISettings:
|
|
48
|
+
serializedVersion: 2
|
|
49
|
+
m_BounceScale: 1
|
|
50
|
+
m_IndirectOutputScale: 1
|
|
51
|
+
m_AlbedoBoost: 1
|
|
52
|
+
m_EnvironmentLightingMode: 0
|
|
53
|
+
m_EnableBakedLightmaps: 0
|
|
54
|
+
m_EnableRealtimeLightmaps: 0
|
|
55
|
+
m_LightmapEditorSettings:
|
|
56
|
+
serializedVersion: 12
|
|
57
|
+
m_Resolution: 2
|
|
58
|
+
m_BakeResolution: 40
|
|
59
|
+
m_AtlasSize: 1024
|
|
60
|
+
m_AO: 0
|
|
61
|
+
m_AOMaxDistance: 1
|
|
62
|
+
m_CompAOExponent: 1
|
|
63
|
+
m_CompAOExponentDirect: 0
|
|
64
|
+
m_ExtractAmbientOcclusion: 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_PVREnvironmentSampleCount: 500
|
|
80
|
+
m_PVREnvironmentReferencePointCount: 2048
|
|
81
|
+
m_PVRFilteringMode: 2
|
|
82
|
+
m_PVRDenoiserTypeDirect: 0
|
|
83
|
+
m_PVRDenoiserTypeIndirect: 0
|
|
84
|
+
m_PVRDenoiserTypeAO: 0
|
|
85
|
+
m_PVRFilterTypeDirect: 0
|
|
86
|
+
m_PVRFilterTypeIndirect: 0
|
|
87
|
+
m_PVRFilterTypeAO: 0
|
|
88
|
+
m_PVREnvironmentMIS: 0
|
|
89
|
+
m_PVRCulling: 1
|
|
90
|
+
m_PVRFilteringGaussRadiusDirect: 1
|
|
91
|
+
m_PVRFilteringGaussRadiusIndirect: 5
|
|
92
|
+
m_PVRFilteringGaussRadiusAO: 2
|
|
93
|
+
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
|
|
94
|
+
m_PVRFilteringAtrousPositionSigmaIndirect: 2
|
|
95
|
+
m_PVRFilteringAtrousPositionSigmaAO: 1
|
|
96
|
+
m_ExportTrainingData: 0
|
|
97
|
+
m_TrainingDataDestination: TrainingData
|
|
98
|
+
m_LightProbeSampleCountMultiplier: 4
|
|
99
|
+
m_LightingDataAsset: {fileID: 0}
|
|
100
|
+
m_LightingSettings: {fileID: 4890085278179872738, guid: fa48e9f62fa1abb339b66860c7d9a71f,
|
|
101
|
+
type: 2}
|
|
102
|
+
--- !u!196 &4
|
|
103
|
+
NavMeshSettings:
|
|
104
|
+
serializedVersion: 2
|
|
105
|
+
m_ObjectHideFlags: 0
|
|
106
|
+
m_BuildSettings:
|
|
107
|
+
serializedVersion: 3
|
|
108
|
+
agentTypeID: 0
|
|
109
|
+
agentRadius: 0.5
|
|
110
|
+
agentHeight: 2
|
|
111
|
+
agentSlope: 45
|
|
112
|
+
agentClimb: 0.4
|
|
113
|
+
ledgeDropHeight: 0
|
|
114
|
+
maxJumpAcrossDistance: 0
|
|
115
|
+
minRegionArea: 2
|
|
116
|
+
manualCellSize: 0
|
|
117
|
+
cellSize: 0.16666667
|
|
118
|
+
manualTileSize: 0
|
|
119
|
+
tileSize: 256
|
|
120
|
+
buildHeightMesh: 0
|
|
121
|
+
maxJobWorkers: 0
|
|
122
|
+
preserveTilesOutsideBounds: 0
|
|
123
|
+
debug:
|
|
124
|
+
m_Flags: 0
|
|
125
|
+
m_NavMeshData: {fileID: 0}
|
|
126
|
+
--- !u!1 &519420028
|
|
127
|
+
GameObject:
|
|
128
|
+
m_ObjectHideFlags: 0
|
|
129
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
130
|
+
m_PrefabInstance: {fileID: 0}
|
|
131
|
+
m_PrefabAsset: {fileID: 0}
|
|
132
|
+
serializedVersion: 6
|
|
133
|
+
m_Component:
|
|
134
|
+
- component: {fileID: 519420032}
|
|
135
|
+
- component: {fileID: 519420031}
|
|
136
|
+
- component: {fileID: 519420029}
|
|
137
|
+
m_Layer: 0
|
|
138
|
+
m_Name: Main Camera
|
|
139
|
+
m_TagString: MainCamera
|
|
140
|
+
m_Icon: {fileID: 0}
|
|
141
|
+
m_NavMeshLayer: 0
|
|
142
|
+
m_StaticEditorFlags: 0
|
|
143
|
+
m_IsActive: 1
|
|
144
|
+
--- !u!81 &519420029
|
|
145
|
+
AudioListener:
|
|
146
|
+
m_ObjectHideFlags: 0
|
|
147
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
148
|
+
m_PrefabInstance: {fileID: 0}
|
|
149
|
+
m_PrefabAsset: {fileID: 0}
|
|
150
|
+
m_GameObject: {fileID: 519420028}
|
|
151
|
+
m_Enabled: 1
|
|
152
|
+
--- !u!20 &519420031
|
|
153
|
+
Camera:
|
|
154
|
+
m_ObjectHideFlags: 0
|
|
155
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
156
|
+
m_PrefabInstance: {fileID: 0}
|
|
157
|
+
m_PrefabAsset: {fileID: 0}
|
|
158
|
+
m_GameObject: {fileID: 519420028}
|
|
159
|
+
m_Enabled: 1
|
|
160
|
+
serializedVersion: 2
|
|
161
|
+
m_ClearFlags: 2
|
|
162
|
+
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
|
163
|
+
m_projectionMatrixMode: 1
|
|
164
|
+
m_GateFitMode: 2
|
|
165
|
+
m_FOVAxisMode: 0
|
|
166
|
+
m_Iso: 200
|
|
167
|
+
m_ShutterSpeed: 0.005
|
|
168
|
+
m_Aperture: 16
|
|
169
|
+
m_FocusDistance: 10
|
|
170
|
+
m_FocalLength: 50
|
|
171
|
+
m_BladeCount: 5
|
|
172
|
+
m_Curvature: {x: 2, y: 11}
|
|
173
|
+
m_BarrelClipping: 0.25
|
|
174
|
+
m_Anamorphism: 0
|
|
175
|
+
m_SensorSize: {x: 36, y: 24}
|
|
176
|
+
m_LensShift: {x: 0, y: 0}
|
|
177
|
+
m_NormalizedViewPortRect:
|
|
178
|
+
serializedVersion: 2
|
|
179
|
+
x: 0
|
|
180
|
+
y: 0
|
|
181
|
+
width: 1
|
|
182
|
+
height: 1
|
|
183
|
+
near clip plane: 0.3
|
|
184
|
+
far clip plane: 1000
|
|
185
|
+
field of view: 60
|
|
186
|
+
orthographic: 1
|
|
187
|
+
orthographic size: 5
|
|
188
|
+
m_Depth: -1
|
|
189
|
+
m_CullingMask:
|
|
190
|
+
serializedVersion: 2
|
|
191
|
+
m_Bits: 4294967295
|
|
192
|
+
m_RenderingPath: -1
|
|
193
|
+
m_TargetTexture: {fileID: 0}
|
|
194
|
+
m_TargetDisplay: 0
|
|
195
|
+
m_TargetEye: 0
|
|
196
|
+
m_HDR: 1
|
|
197
|
+
m_AllowMSAA: 0
|
|
198
|
+
m_AllowDynamicResolution: 0
|
|
199
|
+
m_ForceIntoRT: 0
|
|
200
|
+
m_OcclusionCulling: 0
|
|
201
|
+
m_StereoConvergence: 10
|
|
202
|
+
m_StereoSeparation: 0.022
|
|
203
|
+
--- !u!4 &519420032
|
|
204
|
+
Transform:
|
|
205
|
+
m_ObjectHideFlags: 0
|
|
206
|
+
m_CorrespondingSourceObject: {fileID: 0}
|
|
207
|
+
m_PrefabInstance: {fileID: 0}
|
|
208
|
+
m_PrefabAsset: {fileID: 0}
|
|
209
|
+
m_GameObject: {fileID: 519420028}
|
|
210
|
+
serializedVersion: 2
|
|
211
|
+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
212
|
+
m_LocalPosition: {x: 0, y: 0, z: -10}
|
|
213
|
+
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
214
|
+
m_ConstrainProportionsScale: 0
|
|
215
|
+
m_Children: []
|
|
216
|
+
m_Father: {fileID: 0}
|
|
217
|
+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
218
|
+
--- !u!1001 &520738513
|
|
219
|
+
PrefabInstance:
|
|
220
|
+
m_ObjectHideFlags: 0
|
|
221
|
+
serializedVersion: 2
|
|
222
|
+
m_Modification:
|
|
223
|
+
serializedVersion: 3
|
|
224
|
+
m_TransformParent: {fileID: 0}
|
|
225
|
+
m_Modifications:
|
|
226
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
227
|
+
type: 3}
|
|
228
|
+
propertyPath: m_LocalPosition.x
|
|
229
|
+
value: 0
|
|
230
|
+
objectReference: {fileID: 0}
|
|
231
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
232
|
+
type: 3}
|
|
233
|
+
propertyPath: m_LocalPosition.y
|
|
234
|
+
value: 0
|
|
235
|
+
objectReference: {fileID: 0}
|
|
236
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
237
|
+
type: 3}
|
|
238
|
+
propertyPath: m_LocalPosition.z
|
|
239
|
+
value: 0
|
|
240
|
+
objectReference: {fileID: 0}
|
|
241
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
242
|
+
type: 3}
|
|
243
|
+
propertyPath: m_LocalRotation.w
|
|
244
|
+
value: 1
|
|
245
|
+
objectReference: {fileID: 0}
|
|
246
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
247
|
+
type: 3}
|
|
248
|
+
propertyPath: m_LocalRotation.x
|
|
249
|
+
value: 0
|
|
250
|
+
objectReference: {fileID: 0}
|
|
251
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
252
|
+
type: 3}
|
|
253
|
+
propertyPath: m_LocalRotation.y
|
|
254
|
+
value: 0
|
|
255
|
+
objectReference: {fileID: 0}
|
|
256
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
257
|
+
type: 3}
|
|
258
|
+
propertyPath: m_LocalRotation.z
|
|
259
|
+
value: 0
|
|
260
|
+
objectReference: {fileID: 0}
|
|
261
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
262
|
+
type: 3}
|
|
263
|
+
propertyPath: m_LocalEulerAnglesHint.x
|
|
264
|
+
value: 0
|
|
265
|
+
objectReference: {fileID: 0}
|
|
266
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
267
|
+
type: 3}
|
|
268
|
+
propertyPath: m_LocalEulerAnglesHint.y
|
|
269
|
+
value: 0
|
|
270
|
+
objectReference: {fileID: 0}
|
|
271
|
+
- target: {fileID: 189958532589283299, guid: 62664beb370d5502fae71af4eead615b,
|
|
272
|
+
type: 3}
|
|
273
|
+
propertyPath: m_LocalEulerAnglesHint.z
|
|
274
|
+
value: 0
|
|
275
|
+
objectReference: {fileID: 0}
|
|
276
|
+
- target: {fileID: 7163308873607426892, guid: 62664beb370d5502fae71af4eead615b,
|
|
277
|
+
type: 3}
|
|
278
|
+
propertyPath: m_Name
|
|
279
|
+
value: ExamplePrefab
|
|
280
|
+
objectReference: {fileID: 0}
|
|
281
|
+
m_RemovedComponents: []
|
|
282
|
+
m_RemovedGameObjects: []
|
|
283
|
+
m_AddedGameObjects: []
|
|
284
|
+
m_AddedComponents: []
|
|
285
|
+
m_SourcePrefab: {fileID: 100100000, guid: 62664beb370d5502fae71af4eead615b, type: 3}
|
|
286
|
+
--- !u!1660057539 &9223372036854775807
|
|
287
|
+
SceneRoots:
|
|
288
|
+
m_ObjectHideFlags: 0
|
|
289
|
+
m_Roots:
|
|
290
|
+
- {fileID: 519420032}
|
|
291
|
+
- {fileID: 520738513}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "com.elestrago.unity.package-tools",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.10",
|
|
4
4
|
"displayName": "Package Tool",
|
|
5
5
|
"description": "Tool for create unity packages",
|
|
6
6
|
"category": "unity",
|
|
7
7
|
"unity": "2021.3",
|
|
8
8
|
"homepage": "https://gitlab.com/elestrago-pkg/package-tool",
|
|
9
|
-
"documentationUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/
|
|
10
|
-
"changelogUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/
|
|
11
|
-
"licensesUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/
|
|
9
|
+
"documentationUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/2.0.10/README.md",
|
|
10
|
+
"changelogUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/2.0.10/CHANGELOG.md",
|
|
11
|
+
"licensesUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/2.0.10/LICENSE",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"keywords": [
|
|
14
14
|
"unity",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
},
|
|
22
22
|
"samples": [
|
|
23
23
|
{
|
|
24
|
-
"displayName": "Example
|
|
25
|
-
"description": "This is example
|
|
26
|
-
"path": "Samples~/
|
|
24
|
+
"displayName": "Example Sample",
|
|
25
|
+
"description": "This is example for check test samples",
|
|
26
|
+
"path": "Samples~/ExampleSample"
|
|
27
27
|
}
|
|
28
28
|
],
|
|
29
29
|
"author": {
|