gg.easy.airship 0.1.2099 → 0.1.2101

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.
Files changed (37) hide show
  1. package/Editor/Accessories/AccessoryCollectionEditorTools.cs +144 -141
  2. package/Editor/Accessories/AccessoryComponentEditor.cs +0 -1
  3. package/Editor/Accessories/AccessoryEditorWindow.cs +4 -1
  4. package/Editor/Accessories/Clothing/PlatformGearBundleManifestEditor.cs +2 -0
  5. package/Editor/AirshipComponentEditor.cs +10 -3
  6. package/Editor/GameConfig/GameConfigEditor.cs +1 -1
  7. package/Editor/Packages/AirshipPackagesWindow.cs +2 -2
  8. package/Editor/Publish/Deploy.cs +1 -1
  9. package/Editor/Publish/PublishTargetWindow.cs +1 -1
  10. package/Editor/Toolbar/EditorToolbar.cs +1 -1
  11. package/Editor/TypescriptCompiler~/utsc.js +147 -140
  12. package/Resources/Fonts/Roboto/Roboto-Bold SDF.asset +44 -17
  13. package/Resources/Fonts/Roboto/Roboto-Light SDF.asset +44 -17
  14. package/Runtime/Code/Airship/Resources/Scripts/MaterialColorURP.cs +1 -1
  15. package/Runtime/Code/Authentication/EasyAuthenticator.cs +28 -4
  16. package/{Editor/Auth → Runtime/Code/Authentication}/EditorAuthManager.cs +6 -5
  17. package/Runtime/Code/Components/LayoutMaxSize.cs +1 -1
  18. package/Runtime/Code/CoreAssetReferences.cs +1 -1
  19. package/Runtime/Code/Http/Internal/InternalHttpManager.cs +5 -3
  20. package/Runtime/Code/Luau/LuauCoreCallbacks.cs +3 -0
  21. package/Runtime/Code/Luau/LuauMetadata.cs +63 -0
  22. package/Runtime/Code/LuauAPI/AudioMixerAPI.cs +11 -0
  23. package/Runtime/Code/LuauAPI/AudioMixerAPI.cs.meta +3 -0
  24. package/Runtime/Code/Player/Accessories/AccessoryBuilder.cs +8 -1
  25. package/Runtime/Code/Player/Accessories/Randomizer/Editor/AccessoryRandomizerEditor.cs +1 -1
  26. package/Runtime/Code/Player/Character/Animation/CharacterAnimationHelper.cs +9 -7
  27. package/Runtime/Code/Player/Character/MovementSystem/CharacterMovement.cs +23 -14
  28. package/Runtime/Code/Player/PlayerInfo.cs +6 -1
  29. package/Runtime/Code/Player/PlayerManagerBridge.cs +7 -16
  30. package/Runtime/Code/VoiceChat/AirshipUniVoiceNetwork.cs +44 -27
  31. package/Runtime/Code/VoxelWorld/Editor/Airship.VoxelWorld.Editor.asmdef +2 -2
  32. package/Runtime/DevConsole/Resources/Prefabs/FAB_DevConsole.Instance.prefab +5 -5
  33. package/Runtime/DevConsole/Runtime/DevConsoleMono.cs +10 -1
  34. package/URP/AirshipURPAsset_Renderer.asset +1 -1
  35. package/package.json +1 -1
  36. package/Editor/Auth.meta +0 -3
  37. /package/{Editor/Auth → Runtime/Code/Authentication}/EditorAuthManager.cs.meta +0 -0
@@ -8,49 +8,49 @@ using Code.Player.Accessories;
8
8
  public class AccessoryCollectionTools {
9
9
  private const SelectionMode AssetModeMask = SelectionMode.Assets | SelectionMode.TopLevel | SelectionMode.DeepAssets;
10
10
  private static List<string> processedPaths = new List<string>();
11
- private static Material defaultMat;
12
-
13
- [MenuItem("Airship/Avatar/Fill All Avatar Accessories")]
14
- private static void FillAvatarCollection() {
15
- Debug.Log("Grabbing all avatar accessories");
16
- string folderPath = Application.dataPath + "/AirshipPackages/@Easy/Core/Prefabs/Accessories/AvatarItems";
17
- string allItemsPath
18
- = "Assets/AirshipPackages/@Easy/Core/Prefabs/Accessories/AvatarItems/EntireAvatarCollection.asset";
19
-
20
- AvatarAccessoryCollection allAccessories = AssetDatabase.LoadAssetAtPath<AvatarAccessoryCollection>(allItemsPath);
21
-
22
- //Compile accessories
23
- List<AccessoryComponent> accs = new List<AccessoryComponent>();
24
- int count = 0;
25
- GetAccessoriesInFolder(ref count, folderPath, "prefab", (relativePath)=>{
26
- var go = AssetDatabase.LoadAssetAtPath<GameObject>(relativePath);
27
- if(go != null){
28
- var acc = go.GetComponent<AccessoryComponent>();
29
- if (acc != null && acc.enabled) {
30
- //Debug.Log("Found Accessory: " + relativePath);
31
- accs.Add(acc);
32
- }
33
- }
34
- });
35
- allAccessories.accessories = accs.ToArray();
36
-
37
- //Compile faces
38
- List<AccessoryFace> faces = new List<AccessoryFace>();
39
- count = 0;
40
- GetAccessoriesInFolder(ref count, folderPath, "asset", (relativePath)=>{
41
- var face = AssetDatabase.LoadAssetAtPath<AccessoryFace>(relativePath);
42
- if (face != null) {
43
- //Debug.Log("Found Face: " + relativePath);
44
- faces.Add(face);
45
- }
46
- });
47
- allAccessories.faces = faces.ToArray();
48
-
49
- //Save
50
- EditorUtility.SetDirty(allAccessories);
51
- AssetDatabase.SaveAssets();
52
- AssetDatabase.Refresh();
53
- }
11
+ // private static Material defaultMat;
12
+
13
+ // [MenuItem("Airship/Avatar/Fill All Avatar Accessories")]
14
+ // private static void FillAvatarCollection() {
15
+ // Debug.Log("Grabbing all avatar accessories");
16
+ // string folderPath = Application.dataPath + "/AirshipPackages/@Easy/Core/Prefabs/Accessories/AvatarItems";
17
+ // string allItemsPath
18
+ // = "Assets/AirshipPackages/@Easy/Core/Prefabs/Accessories/AvatarItems/EntireAvatarCollection.asset";
19
+ //
20
+ // AvatarAccessoryCollection allAccessories = AssetDatabase.LoadAssetAtPath<AvatarAccessoryCollection>(allItemsPath);
21
+ //
22
+ // //Compile accessories
23
+ // List<AccessoryComponent> accs = new List<AccessoryComponent>();
24
+ // int count = 0;
25
+ // GetAccessoriesInFolder(ref count, folderPath, "prefab", (relativePath)=>{
26
+ // var go = AssetDatabase.LoadAssetAtPath<GameObject>(relativePath);
27
+ // if(go != null){
28
+ // var acc = go.GetComponent<AccessoryComponent>();
29
+ // if (acc != null && acc.enabled) {
30
+ // //Debug.Log("Found Accessory: " + relativePath);
31
+ // accs.Add(acc);
32
+ // }
33
+ // }
34
+ // });
35
+ // allAccessories.accessories = accs.ToArray();
36
+ //
37
+ // //Compile faces
38
+ // List<AccessoryFace> faces = new List<AccessoryFace>();
39
+ // count = 0;
40
+ // GetAccessoriesInFolder(ref count, folderPath, "asset", (relativePath)=>{
41
+ // var face = AssetDatabase.LoadAssetAtPath<AccessoryFace>(relativePath);
42
+ // if (face != null) {
43
+ // //Debug.Log("Found Face: " + relativePath);
44
+ // faces.Add(face);
45
+ // }
46
+ // });
47
+ // allAccessories.faces = faces.ToArray();
48
+ //
49
+ // //Save
50
+ // EditorUtility.SetDirty(allAccessories);
51
+ // AssetDatabase.SaveAssets();
52
+ // AssetDatabase.Refresh();
53
+ // }
54
54
 
55
55
  private static void GetAccessoriesInFolder(ref int count, string folderPath, string filetype, Action<string> packCallback) {
56
56
  if (!Directory.Exists(folderPath)) {
@@ -77,59 +77,59 @@ public class AccessoryCollectionTools {
77
77
  }
78
78
  }
79
79
 
80
- [MenuItem("Assets/Create/Airship/Accessories/Generate Materials In Folder")]
81
- static void GenerateMaterialsInFolder(){
82
- var processedFiles = new Dictionary<string, Material>();
83
- foreach (var obj in Selection.objects) {
84
- string selectionPath = AssetDatabase.GetAssetPath(obj); // relative path
85
- if (Directory.Exists(selectionPath)) {
86
- //This is a folder
87
- foreach(var file in Directory.GetFiles(selectionPath)){
88
- //Debug.Log("Found File: " + file);
89
- if(Path.GetExtension(file) != ".png"){
90
- continue;
91
- }
92
- var fileKey = Path.GetFileName(file).Split('_')[0];
93
- if(!processedFiles.ContainsKey(fileKey)){
94
- Debug.Log("Grabbing texture files for: " + fileKey);
95
-
96
- //Get all the textures we need
97
- //Debug.Log("Getting diffuse texture: " + Path.Combine(selectionPath,fileKey + "_Albedo.png"));
98
- var textureDiffuse = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Albedo.png"), typeof(Texture2D));
99
- var textureMetal = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Metalness.png"), typeof(Texture2D));
100
- var textureNormal = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Normals.png"), typeof(Texture2D));
101
-
102
- //Create the material and assign the textures
103
- var newMaterial = new Material(Shader.Find("Universal Render Pipeline/Lit"));
104
- if(textureDiffuse)
105
- newMaterial.SetTexture("_BaseMap", textureDiffuse);
106
- if(textureNormal)
107
- newMaterial.SetTexture("_BumpMap", textureNormal);
108
- if(textureMetal)
109
- newMaterial.SetTexture("_MetallicGlossMap", textureMetal);
110
-
111
- //Save the Material into the folder
112
- AssetDatabase.CreateAsset(newMaterial, Path.Combine(selectionPath, fileKey+".mat"));
113
-
114
-
115
- processedFiles.Add(fileKey, newMaterial);
116
- }
117
- }
118
- }
119
- }
120
- }
121
-
122
- [MenuItem("Assets/Create/Airship/Accessories/Generate Materials In Folder", true)]
123
- private static bool ValidateGenerateMaterialsInFolder(){
124
- foreach (var obj in Selection.objects) {
125
- string selectionPath = AssetDatabase.GetAssetPath(obj); // relative path
126
- if (Directory.Exists(selectionPath)) {
127
- //This is a folder
128
- return true;
129
- }
130
- }
131
- return false;
132
- }
80
+ // [MenuItem("Assets/Create/Airship/Accessories/Generate Materials In Folder")]
81
+ // static void GenerateMaterialsInFolder() {
82
+ // var processedFiles = new Dictionary<string, Material>();
83
+ // foreach (var obj in Selection.objects) {
84
+ // string selectionPath = AssetDatabase.GetAssetPath(obj); // relative path
85
+ // if (Directory.Exists(selectionPath)) {
86
+ // //This is a folder
87
+ // foreach(var file in Directory.GetFiles(selectionPath)){
88
+ // //Debug.Log("Found File: " + file);
89
+ // if(Path.GetExtension(file) != ".png"){
90
+ // continue;
91
+ // }
92
+ // var fileKey = Path.GetFileName(file).Split('_')[0];
93
+ // if(!processedFiles.ContainsKey(fileKey)){
94
+ // Debug.Log("Grabbing texture files for: " + fileKey);
95
+ //
96
+ // //Get all the textures we need
97
+ // //Debug.Log("Getting diffuse texture: " + Path.Combine(selectionPath,fileKey + "_Albedo.png"));
98
+ // var textureDiffuse = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Albedo.png"), typeof(Texture2D));
99
+ // var textureMetal = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Metalness.png"), typeof(Texture2D));
100
+ // var textureNormal = (Texture2D)AssetDatabase.LoadAssetAtPath(Path.Combine(selectionPath,fileKey + "_Normals.png"), typeof(Texture2D));
101
+ //
102
+ // //Create the material and assign the textures
103
+ // var newMaterial = new Material(Shader.Find("Universal Render Pipeline/Lit"));
104
+ // if(textureDiffuse)
105
+ // newMaterial.SetTexture("_BaseMap", textureDiffuse);
106
+ // if(textureNormal)
107
+ // newMaterial.SetTexture("_BumpMap", textureNormal);
108
+ // if(textureMetal)
109
+ // newMaterial.SetTexture("_MetallicGlossMap", textureMetal);
110
+ //
111
+ // //Save the Material into the folder
112
+ // AssetDatabase.CreateAsset(newMaterial, Path.Combine(selectionPath, fileKey+".mat"));
113
+ //
114
+ //
115
+ // processedFiles.Add(fileKey, newMaterial);
116
+ // }
117
+ // }
118
+ // }
119
+ // }
120
+ // }
121
+
122
+ // [MenuItem("Assets/Create/Airship/Accessories/Generate Materials In Folder", true)]
123
+ // private static bool ValidateGenerateMaterialsInFolder() {
124
+ // foreach (var obj in Selection.objects) {
125
+ // string selectionPath = AssetDatabase.GetAssetPath(obj); // relative path
126
+ // if (Directory.Exists(selectionPath)) {
127
+ // //This is a folder
128
+ // return true;
129
+ // }
130
+ // }
131
+ // return false;
132
+ // }
133
133
 
134
134
 
135
135
  [MenuItem("Airship/Avatar/Create Outfit Accessories from Mesh %f8", true)]
@@ -138,74 +138,77 @@ public class AccessoryCollectionTools {
138
138
  return Selection.GetFiltered<GameObject>(AssetModeMask).Length > 0;
139
139
  }
140
140
 
141
- [MenuItem("Airship/Avatar/Create Outfit Accessories from Mesh %f8")]
142
- [MenuItem("Assets/Create/Airship/Accessories/Create Outfit Accessories from Mesh")]
143
- static void CreateAccFromMesh(){
144
- processedPaths.Clear();
145
- defaultMat = AssetDatabase.LoadAssetAtPath<Material>("Assets/AirshipPackages/@Easy/CoreMaterials/MaterialLibrary/Clay.mat");
146
- var objects = Selection.GetFiltered<GameObject>(AssetModeMask);
147
- foreach(var obj in objects){
148
- Debug.Log("Unpacking: " + obj.name);
149
- var renderers = obj.GetComponentsInChildren<Renderer>();
150
- if(renderers.Length > 0){
151
- UnpackRenderers(obj, renderers);
152
- }
153
- }
154
- }
141
+ // [MenuItem("Airship/Avatar/Create Outfit Accessories from Mesh %f8")]
142
+ // [MenuItem("Assets/Create/Airship/Accessories/Create Outfit Accessories from Mesh")]
143
+ // static void CreateAccFromMesh(){
144
+ // processedPaths.Clear();
145
+ // defaultMat = AssetDatabase.LoadAssetAtPath<Material>("Assets/AirshipPackages/@Easy/CoreMaterials/MaterialLibrary/Clay.mat");
146
+ // var objects = Selection.GetFiltered<GameObject>(AssetModeMask);
147
+ // foreach(var obj in objects){
148
+ // Debug.Log("Unpacking: " + obj.name);
149
+ // var renderers = obj.GetComponentsInChildren<Renderer>();
150
+ // if(renderers.Length > 0){
151
+ // UnpackRenderers(obj, renderers);
152
+ // }
153
+ // }
154
+ // }
155
155
 
156
156
  [MenuItem("Airship/Avatar/Create Accessory from Mesh %f8", true)]
157
157
  [MenuItem("Assets/Create/Airship/Accessories/Create Accessory from Mesh", true)]
158
- private static bool ValidateCreateSingleAccFromMesh(){
158
+ private static bool ValidateCreateSingleAccFromMesh() {
159
159
  return Selection.GetFiltered<GameObject>(AssetModeMask).Length == 1;
160
160
  }
161
161
 
162
162
  [MenuItem("Airship/Avatar/Create Accessory from Mesh %f8")]
163
163
  [MenuItem("Assets/Create/Airship/Accessories/Create Accessory from Mesh")]
164
- static void CreateSingleAccFromMesh(){
164
+ static void CreateSingleAccFromMesh() {
165
165
  processedPaths.Clear();
166
- defaultMat = AssetDatabase.LoadAssetAtPath<Material>("Assets/AirshipPackages/@Easy/CoreMaterials//MaterialLibrary/Organic/Clay.mat");
166
+ // defaultMat = AssetDatabase.LoadAssetAtPath<Material>("Assets/AirshipPackages/@Easy/CoreMaterials//MaterialLibrary/Organic/Clay.mat");
167
167
  UnpackSingleObject(Selection.GetFiltered<GameObject>(AssetModeMask)[0]);
168
168
  }
169
169
 
170
170
  private static void UnpackSingleObject(GameObject rootGo){
171
171
  string rootPath = AssetDatabase.GetAssetPath(rootGo.GetInstanceID());
172
172
  string fileName = Path.GetFileNameWithoutExtension(rootPath);
173
- string accPrefabPath = Path.Combine(Path.GetDirectoryName(rootPath), fileName+".prefab");
173
+ string accPrefabPath = Path.Combine(Path.GetDirectoryName(rootPath), fileName + ".prefab");
174
174
 
175
175
  if (File.Exists(accPrefabPath)) {
176
- var acceptsOverwrite = EditorUtility.DisplayDialog(fileName+".prefab already exists. Do you want to replace it?",
176
+ var acceptsOverwrite = EditorUtility.DisplayDialog(fileName + ".prefab already exists. Do you want to replace it?",
177
177
  "A prefab already exists with this name. Replacing it will overwrite the existing prefab. This can't be undone.", "Replace", "Cancel");
178
178
  if (!acceptsOverwrite) {
179
179
  return;
180
180
  }
181
181
  }
182
182
 
183
- //Load the mesh into a prefab
184
- var accInstance = (GameObject)PrefabUtility.InstantiatePrefab(rootGo);
185
- accInstance.name = rootGo.name; // Remove (Clone)
186
- PrefabUtility.UnpackPrefabInstance(accInstance, PrefabUnpackMode.Completely, InteractionMode.AutomatedAction);
187
- var accComponent = accInstance.AddComponent<AccessoryComponent>();
188
- accComponent.skinnedToCharacter = accInstance.GetComponentInChildren<SkinnedMeshRenderer>() != null;
183
+ // Load the mesh into a prefab
184
+ var go = (GameObject)PrefabUtility.InstantiatePrefab(rootGo);
185
+ go.name = rootGo.name; // Remove (Clone)
186
+ go.transform.localScale = Vector3.one;
187
+ go.transform.localPosition = Vector3.zero;
188
+ // go.transform.localRotation = Quaternion.identity;
189
+ PrefabUtility.UnpackPrefabInstance(go, PrefabUnpackMode.Completely, InteractionMode.AutomatedAction);
190
+ var accComponent = go.AddComponent<AccessoryComponent>();
191
+ accComponent.skinnedToCharacter = go.GetComponentInChildren<SkinnedMeshRenderer>() != null;
189
192
  // Always default to right hand for reliability
190
193
  var slot = AccessorySlot.RightHand; // GetSlot(accInstance.name, accComponent.skinnedToCharacter);
191
194
  accComponent.accessorySlot = slot;
192
-
193
- foreach(var ren in accInstance.GetComponentsInChildren<Renderer>()){
194
- if(!ren){
195
+
196
+ foreach (var ren in go.GetComponentsInChildren<Renderer>()) {
197
+ if (!ren) {
195
198
  continue;
196
199
  }
197
200
  //Assign a default material
198
- var materials = ren.sharedMaterials;
199
- for(int i=0; i<ren.sharedMaterials.Length; i++){
200
- materials[i] = defaultMat;
201
- }
202
- ren.sharedMaterials = materials;
203
- ren.gameObject.AddComponent<MaterialColorURP>();
201
+ // var materials = ren.sharedMaterials;
202
+ // for (int i = 0; i < ren.sharedMaterials.Length; i++){
203
+ // materials[i] = defaultMat;
204
+ // }
205
+ // ren.sharedMaterials = materials;
206
+ // ren.gameObject.AddComponent<MaterialColorURP>();
204
207
  }
205
-
208
+
206
209
  //Save the prefab
207
- PrefabUtility.SaveAsPrefabAsset(accInstance, accPrefabPath);
208
- GameObject.DestroyImmediate(accInstance);
210
+ PrefabUtility.SaveAsPrefabAsset(go, accPrefabPath);
211
+ GameObject.DestroyImmediate(go);
209
212
 
210
213
  EditorUtility.DisplayDialog("Accessory Created", $"Created accessory {fileName}\nUsing slot: {slot}", "OK");
211
214
  }
@@ -250,13 +253,13 @@ public class AccessoryCollectionTools {
250
253
  continue;
251
254
  }
252
255
  //Assign a default material
253
- Debug.Log("Using mat: " + defaultMat.name);
254
- var materials = ren.sharedMaterials;
255
- for(int i=0; i<ren.sharedMaterials.Length; i++){
256
- materials[i] = defaultMat;
257
- }
258
- ren.sharedMaterials = materials;
259
- ren.gameObject.AddComponent<MaterialColorURP>();
256
+ // Debug.Log("Using mat: " + defaultMat.name);
257
+ // var materials = ren.sharedMaterials;
258
+ // for(int i=0; i<ren.sharedMaterials.Length; i++){
259
+ // materials[i] = defaultMat;
260
+ // }
261
+ // ren.sharedMaterials = materials;
262
+ // ren.gameObject.AddComponent<MaterialColorURP>();
260
263
 
261
264
  //Asssing the accessory
262
265
  var acc = ren.gameObject.AddComponent<AccessoryComponent>();
@@ -298,7 +301,7 @@ public class AccessoryCollectionTools {
298
301
  }
299
302
 
300
303
  //Load the accessories into the avatar collection to show in the avatar editor
301
- FillAvatarCollection();
304
+ // FillAvatarCollection();
302
305
 
303
306
  //Save changes
304
307
  AssetDatabase.SaveAssets();
@@ -5,7 +5,6 @@ using System.Linq;
5
5
  using Code.Player.Accessories;
6
6
  using Code.Platform.Server;
7
7
  using Code.Platform.Shared;
8
- using Editor.Auth;
9
8
  using System.Threading.Tasks;
10
9
  using System.Collections.Generic;
11
10
  using System.Diagnostics;
@@ -223,7 +223,10 @@ namespace Editor.Accessories {
223
223
  DestroyImmediate(_editingAccessoryComponent.gameObject);
224
224
  _editingAccessoryComponent = null;
225
225
  }
226
- _selectedItemLabel.text = "No selected item";
226
+
227
+ if (_selectedItemLabel != null) {
228
+ _selectedItemLabel.text = "No selected item";
229
+ }
227
230
  }
228
231
 
229
232
  private void BuildScene(AccessoryComponent accessoryComponent, bool forceRedraw = false) {
@@ -84,6 +84,8 @@ namespace Editor.Accessories.Clothing {
84
84
  }
85
85
  }
86
86
 
87
+ if (!CreateAssetBundles.PrePublishChecks()) return;
88
+
87
89
 
88
90
  // Create Class ID's for each gear piece
89
91
  foreach (var gear in manifest.gearList) {
@@ -382,11 +382,16 @@ public class ScriptBindingEditor : UnityEditor.Editor {
382
382
 
383
383
  var propNameDisplay = ObjectNames.NicifyVariableName(propName.stringValue);
384
384
  var decoratorDictionary = GetDecorators(bindingProp);
385
- var guiContent = new GUIContent(propNameDisplay, GetTooltip("", decoratorDictionary));
385
+
386
+ var documentation = bindingProp.Documentation;
387
+ var tooltip = GetTooltip(documentation?.Tooltip ?? "", decoratorDictionary);
388
+
389
+
390
+ var guiContent = new GUIContent(propNameDisplay, tooltip);
386
391
 
387
392
  var arrayElementType = LuauMetadataPropertySerializer.GetAirshipComponentPropertyTypeFromString(
388
393
  items.FindPropertyRelative("type").stringValue,
389
- HasDecorator(decorators, "int")
394
+ false
390
395
  );
391
396
 
392
397
  // Loop over styling decorators to display them in same order they were passed in
@@ -1083,7 +1088,9 @@ public class ScriptBindingEditor : UnityEditor.Editor {
1083
1088
  {
1084
1089
  case "Header":
1085
1090
  EditorGUILayout.Space();
1086
- EditorGUILayout.LabelField((String) parameters[0].value, EditorStyles.boldLabel);
1091
+ var guiStyle = EditorStyles.boldLabel;
1092
+ guiStyle.richText = true;
1093
+ EditorGUILayout.LabelField((String) parameters[0].value, guiStyle);
1087
1094
  return;
1088
1095
  case "Spacing":
1089
1096
  if (parameters.Count == 0)
@@ -1,7 +1,7 @@
1
1
  using System;
2
2
  using System.Collections.Generic;
3
3
  using System.Threading.Tasks;
4
- using Editor.Auth;
4
+ using Code.Authentication;
5
5
  using JetBrains.Annotations;
6
6
  using UnityEditor;
7
7
  using UnityEngine;
@@ -326,6 +326,8 @@ namespace Editor.Packages {
326
326
  yield break;
327
327
  }
328
328
 
329
+ Debug.Log("Starting deploy of " + packageDoc.id + "...");
330
+
329
331
  List<string> possibleKeys;
330
332
  if (currentEnvironment == "Staging") {
331
333
  possibleKeys = new List<string> { AuthConfig.instance.stagingApiKey, InternalHttpManager.editorAuthToken };
@@ -367,8 +369,6 @@ namespace Editor.Packages {
367
369
  continue;
368
370
  }
369
371
 
370
- Debug.Log("Deployment: ");
371
- Debug.Log(req.downloadHandler.text);
372
372
  deploymentDto = JsonUtility.FromJson<DeploymentDto>(req.downloadHandler.text);
373
373
  break;
374
374
  }
@@ -6,10 +6,10 @@ using System.IO;
6
6
  using System.Linq;
7
7
  using System.Threading.Tasks;
8
8
  using Airship.Editor;
9
+ using Code.Authentication;
9
10
  using Code.Bootstrap;
10
11
  using Code.Http.Internal;
11
12
  using Code.Platform.Shared;
12
- using Editor.Auth;
13
13
  using Editor.Packages;
14
14
  using Luau;
15
15
  using Proyecto26;
@@ -3,7 +3,7 @@ using System.Collections.Generic;
3
3
  using System.Linq;
4
4
  using System.Text;
5
5
  using System.Threading.Tasks;
6
- using Editor.Auth;
6
+ using Code.Authentication;
7
7
  using UnityEditor;
8
8
  using UnityEngine;
9
9
 
@@ -1,7 +1,7 @@
1
1
  using System.Reflection;
2
2
  using System.Threading.Tasks;
3
+ using Code.Authentication;
3
4
  using Code.Http.Internal;
4
- using Editor.Auth;
5
5
  using Editor.Packages;
6
6
  using ParrelSync;
7
7
  using UnityEditor;