Skip to content

Commit 4fa8585

Browse files
authored
Merge pull request #800 from Autodesk/analytics-fix
Fix Modal Exit Exception, Restore Velocity Data on Modal Close, UI Fixes, Update to 5.0.0
2 parents cb514a6 + 388bad0 commit 4fa8585

29 files changed

+2756
-2730
lines changed

VersionManager.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"Version": "4.3.3",
2+
"Version": "5.0.0",
33
"URL": "https://synthesis.autodesk.com/download.html"
44
}

engine/Assembly-CSharp.csproj

+726-711
Large diffs are not rendered by default.

engine/Assets/Prefabs/MainMenu/MenuPanel.prefab

+16-16
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ RectTransform:
546546
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
547547
m_AnchorMin: {x: 0, y: 0}
548548
m_AnchorMax: {x: 1, y: 1}
549-
m_AnchoredPosition: {x: 0.000061035156, y: -17.5}
549+
m_AnchoredPosition: {x: 0.00012207031, y: -17.5}
550550
m_SizeDelta: {x: 0, y: -35}
551551
m_Pivot: {x: 0.5, y: 0.5}
552552
--- !u!222 &7476564013342952241
@@ -1835,8 +1835,8 @@ RectTransform:
18351835
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
18361836
m_AnchorMin: {x: 0, y: 0}
18371837
m_AnchorMax: {x: 1, y: 0}
1838-
m_AnchoredPosition: {x: 0, y: 10}
1839-
m_SizeDelta: {x: -20, y: 60}
1838+
m_AnchoredPosition: {x: -3.7450027, y: 10}
1839+
m_SizeDelta: {x: -27.49, y: 60}
18401840
m_Pivot: {x: 0.5, y: 0}
18411841
--- !u!222 &8178300921656266155
18421842
CanvasRenderer:
@@ -1868,8 +1868,8 @@ MonoBehaviour:
18681868
m_Calls: []
18691869
m_text: Settings
18701870
m_isRightToLeft: 0
1871-
m_fontAsset: {fileID: 11400000, guid: d773a0b9b3212ab4fb694b91237f4660, type: 2}
1872-
m_sharedMaterial: {fileID: 7508162858481735423, guid: d773a0b9b3212ab4fb694b91237f4660, type: 2}
1871+
m_fontAsset: {fileID: 11400000, guid: 98cce4828f4b4e04997da22ea07c56cf, type: 2}
1872+
m_sharedMaterial: {fileID: -4735131342780090120, guid: 98cce4828f4b4e04997da22ea07c56cf, type: 2}
18731873
m_fontSharedMaterials: []
18741874
m_fontMaterial: {fileID: 0}
18751875
m_fontMaterials: []
@@ -2059,9 +2059,9 @@ MonoBehaviour:
20592059
m_PersistentCalls:
20602060
m_Calls:
20612061
- m_Target: {fileID: 8178300922566973820}
2062-
m_TargetAssemblyTypeName: MenuManager, Assembly-CSharp
2063-
m_MethodName: ButtonPrint
2064-
m_Mode: 5
2062+
m_TargetAssemblyTypeName: Synthesis.UI.MenuManager, CoreEngine
2063+
m_MethodName: Singleplayer
2064+
m_Mode: 1
20652065
m_Arguments:
20662066
m_ObjectArgument: {fileID: 0}
20672067
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
@@ -2412,7 +2412,7 @@ GameObject:
24122412
m_Icon: {fileID: 0}
24132413
m_NavMeshLayer: 0
24142414
m_StaticEditorFlags: 0
2415-
m_IsActive: 0
2415+
m_IsActive: 1
24162416
--- !u!224 &8178300922175038050
24172417
RectTransform:
24182418
m_ObjectHideFlags: 0
@@ -2431,7 +2431,7 @@ RectTransform:
24312431
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
24322432
m_AnchorMin: {x: 0, y: 1}
24332433
m_AnchorMax: {x: 0, y: 1}
2434-
m_AnchoredPosition: {x: 985.0001, y: -84.99998}
2434+
m_AnchoredPosition: {x: 445, y: -265}
24352435
m_SizeDelta: {x: 170, y: 170}
24362436
m_Pivot: {x: 0.5, y: 0.5}
24372437
--- !u!222 &8178300922175038077
@@ -2455,7 +2455,7 @@ MonoBehaviour:
24552455
m_Name:
24562456
m_EditorClassIdentifier:
24572457
m_Material: {fileID: 0}
2458-
m_Color: {r: 0.36078432, g: 0.48627454, b: 0.9803922, a: 1}
2458+
m_Color: {r: 0.80784315, g: 0.37254903, b: 0.44313726, a: 1}
24592459
m_RaycastTarget: 1
24602460
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
24612461
m_Maskable: 1
@@ -2517,9 +2517,9 @@ MonoBehaviour:
25172517
m_PersistentCalls:
25182518
m_Calls:
25192519
- m_Target: {fileID: 8178300922566973820}
2520-
m_TargetAssemblyTypeName: MenuManager, Assembly-CSharp
2521-
m_MethodName: ButtonPrint
2522-
m_Mode: 5
2520+
m_TargetAssemblyTypeName: Synthesis.UI.MenuManager, CoreEngine
2521+
m_MethodName: OpenSettingsPanel
2522+
m_Mode: 1
25232523
m_Arguments:
25242524
m_ObjectArgument: {fileID: 0}
25252525
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
@@ -2540,7 +2540,7 @@ MonoBehaviour:
25402540
m_Script: {fileID: 11500000, guid: 08fc19faaeba3544b82c75c038a060c5, type: 3}
25412541
m_Name:
25422542
m_EditorClassIdentifier:
2543-
IndicateScaleFactor: 1.117647
2543+
IndicateScaleFactor: 1.05
25442544
ClickedScaleFactor: 0.98
25452545
--- !u!1 &8178300922366409720
25462546
GameObject:
@@ -3494,7 +3494,7 @@ GameObject:
34943494
m_Icon: {fileID: 0}
34953495
m_NavMeshLayer: 0
34963496
m_StaticEditorFlags: 0
3497-
m_IsActive: 1
3497+
m_IsActive: 0
34983498
--- !u!224 &8178300923016162136
34993499
RectTransform:
35003500
m_ObjectHideFlags: 0

engine/Assets/Scenes/GridMenuScene.unity

-136
Original file line numberDiff line numberDiff line change
@@ -6055,94 +6055,6 @@ PrefabInstance:
60556055
m_Modification:
60566056
m_TransformParent: {fileID: 817081843}
60576057
m_Modifications:
6058-
- target: {fileID: 2265115877353416166, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6059-
propertyPath: m_AnchorMax.y
6060-
value: 0
6061-
objectReference: {fileID: 0}
6062-
- target: {fileID: 2265115877353416166, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6063-
propertyPath: m_AnchorMin.y
6064-
value: 0
6065-
objectReference: {fileID: 0}
6066-
- target: {fileID: 2265115877353416166, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6067-
propertyPath: m_AnchoredPosition.x
6068-
value: 0
6069-
objectReference: {fileID: 0}
6070-
- target: {fileID: 2265115877353416166, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6071-
propertyPath: m_AnchoredPosition.y
6072-
value: 0
6073-
objectReference: {fileID: 0}
6074-
- target: {fileID: 2690117318601439900, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6075-
propertyPath: m_AnchorMax.y
6076-
value: 0
6077-
objectReference: {fileID: 0}
6078-
- target: {fileID: 2690117318601439900, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6079-
propertyPath: m_AnchorMin.y
6080-
value: 0
6081-
objectReference: {fileID: 0}
6082-
- target: {fileID: 2690117318601439900, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6083-
propertyPath: m_AnchoredPosition.x
6084-
value: 0
6085-
objectReference: {fileID: 0}
6086-
- target: {fileID: 2690117318601439900, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6087-
propertyPath: m_AnchoredPosition.y
6088-
value: 0
6089-
objectReference: {fileID: 0}
6090-
- target: {fileID: 3276807242788799584, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6091-
propertyPath: m_AnchorMax.y
6092-
value: 0
6093-
objectReference: {fileID: 0}
6094-
- target: {fileID: 3276807242788799584, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6095-
propertyPath: m_AnchorMin.y
6096-
value: 0
6097-
objectReference: {fileID: 0}
6098-
- target: {fileID: 3276807242788799584, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6099-
propertyPath: m_AnchoredPosition.x
6100-
value: 0
6101-
objectReference: {fileID: 0}
6102-
- target: {fileID: 3276807242788799584, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6103-
propertyPath: m_AnchoredPosition.y
6104-
value: 0
6105-
objectReference: {fileID: 0}
6106-
- target: {fileID: 6193327979032553445, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6107-
propertyPath: m_AnchorMax.y
6108-
value: 0
6109-
objectReference: {fileID: 0}
6110-
- target: {fileID: 6193327979032553445, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6111-
propertyPath: m_AnchorMin.y
6112-
value: 0
6113-
objectReference: {fileID: 0}
6114-
- target: {fileID: 6193327979032553445, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6115-
propertyPath: m_AnchoredPosition.x
6116-
value: 0
6117-
objectReference: {fileID: 0}
6118-
- target: {fileID: 6193327979032553445, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6119-
propertyPath: m_AnchoredPosition.y
6120-
value: 0
6121-
objectReference: {fileID: 0}
6122-
- target: {fileID: 8178300921564503001, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6123-
propertyPath: m_IsActive
6124-
value: 0
6125-
objectReference: {fileID: 0}
6126-
- target: {fileID: 8178300921643922103, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6127-
propertyPath: m_IsActive
6128-
value: 0
6129-
objectReference: {fileID: 0}
6130-
- target: {fileID: 8178300921710398091, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6131-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
6132-
value: 1
6133-
objectReference: {fileID: 0}
6134-
- target: {fileID: 8178300921710398091, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6135-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
6136-
value: Singleplayer
6137-
objectReference: {fileID: 0}
6138-
- target: {fileID: 8178300921710398091, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6139-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
6140-
value: Synthesis.UI.MenuManager, CoreEngine
6141-
objectReference: {fileID: 0}
6142-
- target: {fileID: 8178300921806933664, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6143-
propertyPath: m_Sprite
6144-
value:
6145-
objectReference: {fileID: 21300000, guid: d939e97073dcb0440b758a3d8648149a, type: 3}
61466058
- target: {fileID: 8178300921806933670, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
61476059
propertyPath: m_Name
61486060
value: MenuPanel
@@ -6231,53 +6143,5 @@ PrefabInstance:
62316143
propertyPath: m_LocalEulerAnglesHint.z
62326144
value: 0
62336145
objectReference: {fileID: 0}
6234-
- target: {fileID: 8178300922175038049, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6235-
propertyPath: m_IsActive
6236-
value: 1
6237-
objectReference: {fileID: 0}
6238-
- target: {fileID: 8178300922175038050, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6239-
propertyPath: m_AnchoredPosition.x
6240-
value: 445
6241-
objectReference: {fileID: 0}
6242-
- target: {fileID: 8178300922175038050, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6243-
propertyPath: m_AnchoredPosition.y
6244-
value: -265
6245-
objectReference: {fileID: 0}
6246-
- target: {fileID: 8178300922175038051, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6247-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode
6248-
value: 1
6249-
objectReference: {fileID: 0}
6250-
- target: {fileID: 8178300922175038051, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6251-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
6252-
value: OpenSettingsPanel
6253-
objectReference: {fileID: 0}
6254-
- target: {fileID: 8178300922175038051, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6255-
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName
6256-
value: Synthesis.UI.MenuManager, CoreEngine
6257-
objectReference: {fileID: 0}
6258-
- target: {fileID: 8178300922822037920, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6259-
propertyPath: m_IsActive
6260-
value: 0
6261-
objectReference: {fileID: 0}
6262-
- target: {fileID: 8178300923016162143, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6263-
propertyPath: m_IsActive
6264-
value: 0
6265-
objectReference: {fileID: 0}
6266-
- target: {fileID: 8525743289434460525, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6267-
propertyPath: m_AnchorMax.y
6268-
value: 0
6269-
objectReference: {fileID: 0}
6270-
- target: {fileID: 8525743289434460525, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6271-
propertyPath: m_AnchorMin.y
6272-
value: 0
6273-
objectReference: {fileID: 0}
6274-
- target: {fileID: 8525743289434460525, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6275-
propertyPath: m_AnchoredPosition.x
6276-
value: 0
6277-
objectReference: {fileID: 0}
6278-
- target: {fileID: 8525743289434460525, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}
6279-
propertyPath: m_AnchoredPosition.y
6280-
value: 0
6281-
objectReference: {fileID: 0}
62826146
m_RemovedComponents: []
62836147
m_SourcePrefab: {fileID: 100100000, guid: a164eb99c8d3069438923ac0c0b61657, type: 3}

engine/Assets/Scripts/Physics/PhysicsManager.cs

+51-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using SynthesisAPI.EventBus;
66
using Synthesis.Replay;
77
using Synthesis.Runtime;
8+
using UnityEngine.UIElements;
89

910
#nullable enable
1011

@@ -16,6 +17,10 @@ public static class PhysicsManager {
1617
private static Dictionary<int, IPhysicsOverridable> _physObjects = new Dictionary<int, IPhysicsOverridable>();
1718
private static Dictionary<int, List<ContactRecorder>> _contactRecorders = new Dictionary<int, List<ContactRecorder>>();
1819

20+
private static Dictionary<Rigidbody, RigidbodyFrameData> _storedValues = new Dictionary<Rigidbody, RigidbodyFrameData>();
21+
22+
private static bool _storeOnFreeze = true;
23+
1924
private static bool _isFrozen;
2025
private static int _frozenCounter;
2126
public static bool IsFrozen {
@@ -42,14 +47,52 @@ public static bool IsFrozen {
4247
SimulationRunner.RemoveContext(SimulationRunner.RUNNING_SIM_CONTEXT);
4348
SimulationRunner.AddContext(SimulationRunner.PAUSED_SIM_CONTEXT);
4449
//UnityEngine.Physics.autoSimulation = false;
45-
_physObjects.ForEach(x => { x.Value.Freeze(); });
50+
_physObjects.ForEach(x =>
51+
{
52+
if (_storeOnFreeze)
53+
{
54+
x.Value.GetAllRigidbodies().ForEach(rb =>
55+
{
56+
var data = new RigidbodyFrameData
57+
{
58+
Velocity = rb.velocity,
59+
AngularVelocity = rb.angularVelocity
60+
};
61+
_storedValues[rb] = data;
62+
});
63+
}
64+
x.Value.Freeze();
65+
});
4666
}
4767
else
4868
{
4969
SimulationRunner.RemoveContext(SimulationRunner.PAUSED_SIM_CONTEXT);
5070
SimulationRunner.AddContext(SimulationRunner.RUNNING_SIM_CONTEXT);
5171
//UnityEngine.Physics.autoSimulation = true;
52-
_physObjects.ForEach(x => { x.Value.Unfreeze(); });
72+
73+
_physObjects.ForEach(x =>
74+
{
75+
76+
x.Value.Unfreeze();
77+
if (_storeOnFreeze)
78+
{
79+
_storedValues.ForEach((rb, f) =>
80+
{
81+
try
82+
{
83+
rb.velocity = f.Velocity;
84+
rb.angularVelocity = f.AngularVelocity;
85+
}
86+
catch (Exception e)
87+
{
88+
// ignored
89+
}
90+
});
91+
}
92+
93+
_storedValues.Clear();
94+
_storeOnFreeze = true;
95+
});
5396
}
5497
EventBus.Push(new PhysicsFreezeChangeEvent { IsFrozen = _isFrozen });
5598
}
@@ -86,6 +129,12 @@ public static bool Unregister<T>(T overridable) where T: class, IPhysicsOverrida
86129
return true;
87130
}
88131

132+
public static void DisableLoadFromStoredDataOnce()
133+
{
134+
_storeOnFreeze = false;
135+
_storedValues.Clear();
136+
}
137+
89138
public static List<IPhysicsOverridable> GetAllOverridable()
90139
=> new List<IPhysicsOverridable>(_physObjects.Values);
91140

engine/Assets/Scripts/Physics/ReplayRunner.cs

+1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ private void TogglePlay(IEvent e) {
7575
if (de.State == DigitalState.Down) {
7676
// if (PhysicsManager.IsFrozen)
7777
// ReplayManager.MakeCurrentNewestFrame();
78+
PhysicsManager.DisableLoadFromStoredDataOnce();
7879
PhysicsManager.IsFrozen = !PhysicsManager.IsFrozen;
7980
if (PhysicsManager.IsFrozen) {
8081
ReplayManager.NewestFrame.ApplyFrame();

engine/Assets/Scripts/SimObjects/RobotSimObject.cs

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public IntakeTriggerData? IntakeData {
7979
}
8080

8181
SimulationPreferences.SetRobotIntakeTriggerData(MiraLive.MiraAssembly.Info.GUID, _intakeData);
82+
PreferenceManager.Save();
8283
}
8384
}
8485

@@ -95,6 +96,7 @@ public ShotTrajectoryData? TrajectoryData {
9596
}
9697

9798
SimulationPreferences.SetRobotTrajectoryData(MiraLive.MiraAssembly.Info.GUID, _trajectoryData);
99+
PreferenceManager.Save();
98100
}
99101
}
100102

engine/Assets/Scripts/UI/Dynamic/DynamicUIManager.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public static bool CloseActivePanel() {
126126

127127
EventBus.Push(new PanelClosedEvent(ActivePanel));
128128

129-
AnalyticsManager.LogEvent(new AnalyticsEvent(category: "ui", action: $"{ActiveModal.GetType().Name}", label:"create"));
129+
AnalyticsManager.LogEvent(new AnalyticsEvent(category: "ui", action: $"{ActivePanel.GetType().Name}", label:"create"));
130130
AnalyticsManager.PostData();
131131

132132
ActivePanel.Delete();

0 commit comments

Comments
 (0)