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 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 PATH_PROPERTY_NAME = "path";
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 pathRect = new Rect(descriptionRect)
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
- pathRect.width -= EditorConstants.FOLDER_PATH_PICKER_BUFFER;
34
- pathRect.height = EditorConstants.FOLDER_PATH_PICKER_HEIGHT;
35
- var newPathRect = new Rect(pathRect);
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 pathProperty = property.FindPropertyRelative(PATH_PROPERTY_NAME);
38
- EditorGUI.PropertyField(displayNameRect, property.FindPropertyRelative(DISPLAY_NAME_PROPERTY_NAME));
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
- newPathRect.width + EditorConstants.FOLDER_PATH_PICKER_BUFFER + 10,
46
- newPathRect.position.y),
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.DrawSourceFolderPicker(
55
+ GUILayoutTools.DrawFolderPicker(
52
56
  folderPickerRect,
53
- pathProperty,
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 META_FORMAT = "{0}.meta";
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 path;
78
+ public string folderName;
78
79
 
79
80
  public bool IsEmpty() => string.IsNullOrEmpty(displayName)
80
- || string.IsNullOrEmpty(description)
81
- || string.IsNullOrEmpty(path);
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
- // if (IsFile(normalizedSourcePath) && File.Exists(normalizedSourcePath))
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
- var documentationDir = new DirectoryInfo(packageManifest.documentationPath);
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
- var subDirectoryInfo = directoryInfo.GetDirectories(EditorConstants.WILDCARD_FILTER);
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.path))
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/main/README.md";
74
- model.ChangelogUrl = $"{homepage}/-/blob/main/CHANGELOG.md";
75
- model.LicensesUrl = $"{homepage}/-/blob/main/LICENSE";
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
- ## [v0.0.0]({homepage}/-/tags/v0.0.0)
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.8",
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/main/README.md",
10
- "changelogUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/main/CHANGELOG.md",
11
- "licensesUrl": "https://gitlab.com/elestrago-pkg/package-tool/-/blob/main/LICENSE",
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 Project",
25
- "description": "This is example project for check test samples",
26
- "path": "Samples~/Example Project"
24
+ "displayName": "Example Sample",
25
+ "description": "This is example for check test samples",
26
+ "path": "Samples~/ExampleSample"
27
27
  }
28
28
  ],
29
29
  "author": {