gg.easy.airship 0.1.2144 → 0.1.2145
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/Editor/LuauPluginUpdateCheck.cs +1 -1
- package/Editor/TypescriptServices/TypescriptServices.cs +5 -1
- package/Runtime/Code/Airship/Resources/Scripts/MaterialColorURP.cs +11 -1
- package/Runtime/Code/Auth/AuthManager.cs +4 -0
- package/Runtime/Code/Bootstrap/ClientBundleLoader.cs +1 -1
- package/Runtime/Code/Bundles/AirshipLuauDebugger.cs +0 -5
- package/Runtime/Code/Bundles/SystemRoot.cs +1 -1
- package/Runtime/Code/GoogleSignIn/GoogleSignIn.asmdef +15 -2
- package/Runtime/Code/GoogleSignIn/Plugins/iOS/GoogleSignIn.h.meta +13 -12
- package/Runtime/Code/GoogleSignIn/Plugins/iOS/GoogleSignIn.mm.meta +13 -12
- package/Runtime/Code/GoogleSignIn/Plugins/iOS/GoogleSignInAppController.h.meta +13 -12
- package/Runtime/Code/GoogleSignIn/Plugins/iOS/GoogleSignInAppController.mm.meta +13 -12
- package/Runtime/Code/Health/AirshipProfileExporter.cs +1 -1
- package/Runtime/Code/Luau/AirshipComponent.cs +33 -8
- package/Runtime/Code/Luau/LuauCoreCallbacks.cs +60 -56
- package/Runtime/Code/Luau/LuauCoreReflection.cs +10 -8
- package/Runtime/Code/Luau/LuauCoreUtilities.cs +5 -5
- package/Runtime/Code/Luau/LuauMetadata.cs +2 -0
- package/Runtime/Code/Luau/LuauPlugin.cs +38 -31
- package/Runtime/Code/Luau/ReflectionList.cs +28 -0
- package/Runtime/Code/Luau/RendererAPI.cs +11 -3
- package/Runtime/Code/Luau/ThreadManager.cs +0 -11
- package/Runtime/Code/Network/ServerConsole.cs +9 -2
- package/Runtime/Code/Player/Character/Animation/ClipReplacer/AnimatorClipReplacer.cs +16 -26
- package/Runtime/Code/Player/Character/MovementSystems/Character/CharacterMovement.cs +183 -97
- package/Runtime/Code/Player/Character/MovementSystems/Character/CharacterMovementSettings.cs +16 -6
- package/Runtime/Code/Player/PlayerManagerBridge.cs +1 -1
- package/Runtime/Code/VoiceChat/AirshipUniVoiceNetwork.cs +1 -1
- package/Runtime/DevConsole/Runtime/DevConsoleMono.cs +2 -0
- package/Runtime/Plugins/Android/libLuauPlugin.so +0 -0
- package/Runtime/Plugins/Linux/libLuauPlugin.so +0 -0
- package/Runtime/Plugins/Mac/LuauPlugin.bundle/Contents/MacOS/LuauPlugin +0 -0
- package/Runtime/Plugins/Windows/x64/LuauPlugin.dll +0 -0
- package/Runtime/Plugins/Windows/x64/LuauPlugin.pdb +0 -0
- package/Runtime/Plugins/iOS/LuauPluginIos.a +0 -0
- package/ThirdParty/Mirror/Core/NetworkClient.cs +1 -1
- package/ThirdParty/Mirror/Core/NetworkManager.cs +2 -2
- package/package.json +1 -1
|
@@ -57,7 +57,7 @@ public static class LuauPluginUpdateCheck {
|
|
|
57
57
|
if (lastHash != "") {
|
|
58
58
|
// Check if user wants to restart
|
|
59
59
|
var acceptsRestart = EditorUtility.DisplayDialog("Luau Plugin Updated",
|
|
60
|
-
"
|
|
60
|
+
"Airship Luau plugin has updated. Restart Unity to apply changes.", "Quit", "Cancel");
|
|
61
61
|
if (acceptsRestart) {
|
|
62
62
|
// Verify any unsaved changes are saved
|
|
63
63
|
var confirmedSaveState = EditorSceneManager.SaveCurrentModifiedScenesIfUserWantsTo();
|
|
@@ -163,7 +163,11 @@ namespace Airship.Editor {
|
|
|
163
163
|
private static IEnumerator StartTypescriptRuntime() {
|
|
164
164
|
TypescriptProjectsService.ReloadProject();
|
|
165
165
|
|
|
166
|
-
//
|
|
166
|
+
// Wait for updates
|
|
167
|
+
if (AirshipUpdateService.IsUpdatingAirship || AirshipPackagesWindow.IsModifyingPackages) {
|
|
168
|
+
yield return new WaitUntil(() =>
|
|
169
|
+
!AirshipPackagesWindow.IsModifyingPackages && !AirshipUpdateService.IsUpdatingAirship);
|
|
170
|
+
}
|
|
167
171
|
|
|
168
172
|
if (TypescriptCompilationService.IsWatchModeRunning) {
|
|
169
173
|
TypescriptCompilationService.StopCompilerServices(true);
|
|
@@ -62,7 +62,17 @@ public class MaterialColorURP : MonoBehaviour {
|
|
|
62
62
|
|
|
63
63
|
// Called when the color is changed in the inspector
|
|
64
64
|
private void OnValidate() {
|
|
65
|
-
|
|
65
|
+
#if UNITY_EDITOR
|
|
66
|
+
if (Application.isPlaying) {
|
|
67
|
+
DoUpdate();
|
|
68
|
+
} else {
|
|
69
|
+
EditorApplication.delayCall += () => {
|
|
70
|
+
if (this != null) DoUpdate();
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
#else
|
|
74
|
+
DoUpdate();
|
|
75
|
+
#endif
|
|
66
76
|
}
|
|
67
77
|
|
|
68
78
|
private void OnDestroy() {
|
|
@@ -5,7 +5,9 @@ using Cdm.Authentication.Browser;
|
|
|
5
5
|
using Cdm.Authentication.Clients;
|
|
6
6
|
using Cdm.Authentication.OAuth2;
|
|
7
7
|
using Code.Http.Internal;
|
|
8
|
+
#if UNITY_ANDROID
|
|
8
9
|
using Google;
|
|
10
|
+
#endif
|
|
9
11
|
using JetBrains.Annotations;
|
|
10
12
|
using Proyecto26;
|
|
11
13
|
using RSG;
|
|
@@ -112,6 +114,7 @@ public class AuthManager {
|
|
|
112
114
|
scope = "openid email profile",
|
|
113
115
|
});
|
|
114
116
|
|
|
117
|
+
#if UNITY_ANDROID
|
|
115
118
|
GoogleSignIn.Configuration = new GoogleSignInConfiguration() {
|
|
116
119
|
RequestEmail = true,
|
|
117
120
|
RequestProfile = true,
|
|
@@ -121,6 +124,7 @@ public class AuthManager {
|
|
|
121
124
|
ClientSecret = clientSecret,
|
|
122
125
|
#endif
|
|
123
126
|
};
|
|
127
|
+
#endif
|
|
124
128
|
|
|
125
129
|
#if AIRSHIP_ANDROID_DEBUG
|
|
126
130
|
GoogleSignIn.DefaultInstance.EnableDebugLogging(true);
|
|
@@ -68,11 +68,6 @@ public class AirshipLuauDebugger : NetworkBehaviour {
|
|
|
68
68
|
var n = "(Destroyed)";
|
|
69
69
|
if (unityObj != null) {
|
|
70
70
|
n = unityObj.name;
|
|
71
|
-
} else {
|
|
72
|
-
var cachedName = ThreadDataManager.GetObjectReferenceName_TEMP_DEBUG(instanceId);
|
|
73
|
-
if (cachedName != null) {
|
|
74
|
-
n = cachedName + " (Destroyed)";
|
|
75
|
-
}
|
|
76
71
|
}
|
|
77
72
|
var objName = $"[{t.Name}] {n}";
|
|
78
73
|
if (!countByName.TryAdd(objName, 1)) {
|
|
@@ -324,7 +324,7 @@ public class SystemRoot : Singleton<SystemRoot> {
|
|
|
324
324
|
|
|
325
325
|
#if AIRSHIP_PLAYER || true
|
|
326
326
|
try {
|
|
327
|
-
Debug.Log("Scanning network prefabs...");
|
|
327
|
+
// Debug.Log("Scanning network prefabs...");
|
|
328
328
|
Debug.Log($"Listing {NetworkClient.prefabs.Count} network prefabs:");
|
|
329
329
|
int i = 1;
|
|
330
330
|
foreach (var pair in NetworkClient.prefabs) {
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
"name": "GoogleSignin",
|
|
3
|
+
"rootNamespace": "",
|
|
4
|
+
"references": [],
|
|
5
|
+
"includePlatforms": [],
|
|
6
|
+
"excludePlatforms": [
|
|
7
|
+
"iOS"
|
|
8
|
+
],
|
|
9
|
+
"allowUnsafeCode": false,
|
|
10
|
+
"overrideReferences": false,
|
|
11
|
+
"precompiledReferences": [],
|
|
12
|
+
"autoReferenced": true,
|
|
13
|
+
"defineConstraints": [],
|
|
14
|
+
"versionDefines": [],
|
|
15
|
+
"noEngineReferences": false
|
|
16
|
+
}
|
|
@@ -5,7 +5,7 @@ labels:
|
|
|
5
5
|
- gvh_version-1.0.4
|
|
6
6
|
PluginImporter:
|
|
7
7
|
externalObjects: {}
|
|
8
|
-
serializedVersion:
|
|
8
|
+
serializedVersion: 3
|
|
9
9
|
iconMap: {}
|
|
10
10
|
executionOrder: {}
|
|
11
11
|
defineConstraints: []
|
|
@@ -14,21 +14,22 @@ PluginImporter:
|
|
|
14
14
|
isExplicitlyReferenced: 0
|
|
15
15
|
validateReferences: 1
|
|
16
16
|
platformData:
|
|
17
|
-
|
|
18
|
-
Any:
|
|
19
|
-
second:
|
|
17
|
+
Any:
|
|
20
18
|
enabled: 0
|
|
21
|
-
settings:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
settings:
|
|
20
|
+
Exclude Android: 1
|
|
21
|
+
Exclude Editor: 1
|
|
22
|
+
Exclude Linux64: 1
|
|
23
|
+
Exclude OSXUniversal: 1
|
|
24
|
+
Exclude Win: 1
|
|
25
|
+
Exclude Win64: 1
|
|
26
|
+
Exclude iOS: 1
|
|
27
|
+
Editor:
|
|
25
28
|
enabled: 0
|
|
26
29
|
settings:
|
|
27
30
|
DefaultValueInitialized: true
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
second:
|
|
31
|
-
enabled: 1
|
|
31
|
+
iOS:
|
|
32
|
+
enabled: 0
|
|
32
33
|
settings: {}
|
|
33
34
|
userData:
|
|
34
35
|
assetBundleName:
|
|
@@ -5,7 +5,7 @@ labels:
|
|
|
5
5
|
- gvh_version-1.0.4
|
|
6
6
|
PluginImporter:
|
|
7
7
|
externalObjects: {}
|
|
8
|
-
serializedVersion:
|
|
8
|
+
serializedVersion: 3
|
|
9
9
|
iconMap: {}
|
|
10
10
|
executionOrder: {}
|
|
11
11
|
defineConstraints: []
|
|
@@ -14,21 +14,22 @@ PluginImporter:
|
|
|
14
14
|
isExplicitlyReferenced: 0
|
|
15
15
|
validateReferences: 1
|
|
16
16
|
platformData:
|
|
17
|
-
|
|
18
|
-
Any:
|
|
19
|
-
second:
|
|
17
|
+
Any:
|
|
20
18
|
enabled: 0
|
|
21
|
-
settings:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
settings:
|
|
20
|
+
Exclude Android: 1
|
|
21
|
+
Exclude Editor: 1
|
|
22
|
+
Exclude Linux64: 1
|
|
23
|
+
Exclude OSXUniversal: 1
|
|
24
|
+
Exclude Win: 1
|
|
25
|
+
Exclude Win64: 1
|
|
26
|
+
Exclude iOS: 1
|
|
27
|
+
Editor:
|
|
25
28
|
enabled: 0
|
|
26
29
|
settings:
|
|
27
30
|
DefaultValueInitialized: true
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
second:
|
|
31
|
-
enabled: 1
|
|
31
|
+
iOS:
|
|
32
|
+
enabled: 0
|
|
32
33
|
settings: {}
|
|
33
34
|
userData:
|
|
34
35
|
assetBundleName:
|
|
@@ -5,7 +5,7 @@ labels:
|
|
|
5
5
|
- gvh_version-1.0.4
|
|
6
6
|
PluginImporter:
|
|
7
7
|
externalObjects: {}
|
|
8
|
-
serializedVersion:
|
|
8
|
+
serializedVersion: 3
|
|
9
9
|
iconMap: {}
|
|
10
10
|
executionOrder: {}
|
|
11
11
|
defineConstraints: []
|
|
@@ -14,21 +14,22 @@ PluginImporter:
|
|
|
14
14
|
isExplicitlyReferenced: 0
|
|
15
15
|
validateReferences: 1
|
|
16
16
|
platformData:
|
|
17
|
-
|
|
18
|
-
Any:
|
|
19
|
-
second:
|
|
17
|
+
Any:
|
|
20
18
|
enabled: 0
|
|
21
|
-
settings:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
settings:
|
|
20
|
+
Exclude Android: 1
|
|
21
|
+
Exclude Editor: 1
|
|
22
|
+
Exclude Linux64: 1
|
|
23
|
+
Exclude OSXUniversal: 1
|
|
24
|
+
Exclude Win: 1
|
|
25
|
+
Exclude Win64: 1
|
|
26
|
+
Exclude iOS: 1
|
|
27
|
+
Editor:
|
|
25
28
|
enabled: 0
|
|
26
29
|
settings:
|
|
27
30
|
DefaultValueInitialized: true
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
second:
|
|
31
|
-
enabled: 1
|
|
31
|
+
iOS:
|
|
32
|
+
enabled: 0
|
|
32
33
|
settings: {}
|
|
33
34
|
userData:
|
|
34
35
|
assetBundleName:
|
|
@@ -5,7 +5,7 @@ labels:
|
|
|
5
5
|
- gvh_version-1.0.4
|
|
6
6
|
PluginImporter:
|
|
7
7
|
externalObjects: {}
|
|
8
|
-
serializedVersion:
|
|
8
|
+
serializedVersion: 3
|
|
9
9
|
iconMap: {}
|
|
10
10
|
executionOrder: {}
|
|
11
11
|
defineConstraints: []
|
|
@@ -14,21 +14,22 @@ PluginImporter:
|
|
|
14
14
|
isExplicitlyReferenced: 0
|
|
15
15
|
validateReferences: 1
|
|
16
16
|
platformData:
|
|
17
|
-
|
|
18
|
-
Any:
|
|
19
|
-
second:
|
|
17
|
+
Any:
|
|
20
18
|
enabled: 0
|
|
21
|
-
settings:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
settings:
|
|
20
|
+
Exclude Android: 1
|
|
21
|
+
Exclude Editor: 1
|
|
22
|
+
Exclude Linux64: 1
|
|
23
|
+
Exclude OSXUniversal: 1
|
|
24
|
+
Exclude Win: 1
|
|
25
|
+
Exclude Win64: 1
|
|
26
|
+
Exclude iOS: 1
|
|
27
|
+
Editor:
|
|
25
28
|
enabled: 0
|
|
26
29
|
settings:
|
|
27
30
|
DefaultValueInitialized: true
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
second:
|
|
31
|
-
enabled: 1
|
|
31
|
+
iOS:
|
|
32
|
+
enabled: 0
|
|
32
33
|
settings: {}
|
|
33
34
|
userData:
|
|
34
35
|
assetBundleName:
|
|
@@ -184,7 +184,7 @@ namespace Code.Health
|
|
|
184
184
|
Profiler.logFile = logPath;
|
|
185
185
|
Profiler.enableBinaryLog = true;
|
|
186
186
|
|
|
187
|
-
Debug.Log($"Starting profiler for {durationSecs} seconds.");
|
|
187
|
+
Debug.Log($"Starting profiler for {durationSecs} seconds. Callstacks = {enableCallstacks}");
|
|
188
188
|
Profiler.enabled = true;
|
|
189
189
|
Profiler.enableAllocationCallstacks = enableCallstacks;
|
|
190
190
|
StopProfilingAfterDelay(logPath, fileName, durationSecs, profileInitiator);
|
|
@@ -61,6 +61,9 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
61
61
|
internal static bool UsePostCompileReconciliation { get; set; } = true;
|
|
62
62
|
private const bool ElevateToProtectedWithinCoreScene = true;
|
|
63
63
|
|
|
64
|
+
private static readonly List<GCHandle> InitGcHandles = new();
|
|
65
|
+
private static readonly List<IntPtr> InitStringPtrs = new();
|
|
66
|
+
|
|
64
67
|
public static LuauScript.AwakeData QueuedAwakeData = null;
|
|
65
68
|
public static readonly Dictionary<int, string> ComponentIdToScriptName = new();
|
|
66
69
|
|
|
@@ -110,6 +113,8 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
110
113
|
_validatedSceneInGameConfig = false;
|
|
111
114
|
QueuedAwakeData = null;
|
|
112
115
|
ComponentIdToScriptName.Clear();
|
|
116
|
+
InitGcHandles.Clear();
|
|
117
|
+
InitStringPtrs.Clear();
|
|
113
118
|
}
|
|
114
119
|
|
|
115
120
|
public static AirshipComponent Create(GameObject go, string scriptPath, LuauContext context) {
|
|
@@ -226,16 +231,17 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
226
231
|
|
|
227
232
|
InitAirshipComponent();
|
|
228
233
|
}
|
|
229
|
-
|
|
230
|
-
private void InitAirshipComponent() {
|
|
231
|
-
InitializeAirshipReference();
|
|
232
234
|
|
|
235
|
+
private unsafe void InitAirshipComponent() {
|
|
236
|
+
InitializeAirshipReference();
|
|
237
|
+
|
|
233
238
|
// Ensure all AirshipComponent dependencies are ready first
|
|
234
239
|
foreach (var dependency in GetDependencies()) {
|
|
235
240
|
dependency.Init();
|
|
236
241
|
}
|
|
237
242
|
|
|
238
|
-
var properties =
|
|
243
|
+
var properties = metadata.properties;
|
|
244
|
+
var propertiesCopied = false;
|
|
239
245
|
|
|
240
246
|
// Ensure allowed objects
|
|
241
247
|
for (var i = metadata.properties.Count - 1; i >= 0; i--) {
|
|
@@ -245,6 +251,11 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
245
251
|
case "object": {
|
|
246
252
|
if (!ReflectionList.IsAllowedFromString(property.objectType, context)) {
|
|
247
253
|
Debug.LogError($"[Airship] Skipping AirshipBehaviour property \"{property.name}\": Type \"{property.objectType}\" is not allowed");
|
|
254
|
+
if (!propertiesCopied) {
|
|
255
|
+
// As an optimization, we use the original metadata.properties list until we need to modify it at all, such as here:
|
|
256
|
+
propertiesCopied = true;
|
|
257
|
+
properties = new List<LuauMetadataProperty>(metadata.properties);
|
|
258
|
+
}
|
|
248
259
|
properties.RemoveAt(i);
|
|
249
260
|
}
|
|
250
261
|
|
|
@@ -253,16 +264,27 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
253
264
|
}
|
|
254
265
|
}
|
|
255
266
|
|
|
256
|
-
var propertyDtos =
|
|
257
|
-
|
|
258
|
-
|
|
267
|
+
var propertyDtos = properties.Count <= 1024 ?
|
|
268
|
+
stackalloc LuauMetadataPropertyMarshalDto[properties.Count] :
|
|
269
|
+
new LuauMetadataPropertyMarshalDto[properties.Count];
|
|
270
|
+
|
|
259
271
|
for (var i = 0; i < properties.Count; i++) {
|
|
260
272
|
var property = properties[i];
|
|
261
|
-
property.AsStructDto(thread,
|
|
273
|
+
property.AsStructDto(thread, InitGcHandles, InitStringPtrs, out var dto);
|
|
262
274
|
propertyDtos[i] = dto;
|
|
263
275
|
}
|
|
264
276
|
|
|
265
277
|
LuauPlugin.LuauInitializeAirshipComponent(context, thread, AirshipBehaviourRootV2.GetId(gameObject), _airshipComponentId, propertyDtos);
|
|
278
|
+
|
|
279
|
+
// Free handles:
|
|
280
|
+
foreach (var handle in InitGcHandles) {
|
|
281
|
+
handle.Free();
|
|
282
|
+
}
|
|
283
|
+
foreach (var strPtr in InitStringPtrs) {
|
|
284
|
+
Marshal.FreeCoTaskMem(strPtr);
|
|
285
|
+
}
|
|
286
|
+
InitGcHandles.Clear();
|
|
287
|
+
InitStringPtrs.Clear();
|
|
266
288
|
}
|
|
267
289
|
|
|
268
290
|
private void Start() {
|
|
@@ -470,6 +492,9 @@ public class AirshipComponent : MonoBehaviour {
|
|
|
470
492
|
}
|
|
471
493
|
|
|
472
494
|
private void OnValidate() {
|
|
495
|
+
if (Application.isPlaying) {
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
473
498
|
Validate();
|
|
474
499
|
}
|
|
475
500
|
|