Skip to content

Commit ed548d3

Browse files
committed
feat(ir): fast align
1 parent 5e48cc0 commit ed548d3

File tree

4 files changed

+101
-89
lines changed

4 files changed

+101
-89
lines changed

src/Packages/com.yuxiaviation.v320neo.fdmi/Runtime/Avionics/System/ADIRU/ADIRU.asset

+61-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Packages/com.yuxiaviation.v320neo.fdmi/Runtime/Avionics/System/ADIRU/ADR.asset

+7-67
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Packages/com.yuxiaviation.v320neo.fdmi/Runtime/Avionics/System/ADIRU/IR.asset

+20-20
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Packages/com.yuxiaviation.v320neo.fdmi/Runtime/Avionics/System/ADIRU/IR.cs

+13-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public class IR : UdonSharpBehaviour {
2828
[SerializeField] private FDMiVector3 Position;
2929

3030
[SerializeField] [UdonSynced] private int _alignTime = -1;
31+
[SerializeField] [UdonSynced] private int _fastAlignBeforeTime = -1;
3132

3233
private int _lastMode = (int)ADIRUMode.OFF;
3334

@@ -69,6 +70,10 @@ private void UpdateLocal() {
6970
}
7071

7172
private void UpdateOwner() {
73+
if (AdiruMode == ADIRUMode.OFF && IsAligned) {
74+
_fastAlignBeforeTime = (int)Networking.GetServerTimeInSeconds() + 10;
75+
}
76+
7277
if (AdiruMode == ADIRUMode.OFF || _lastAdiruMode != AdiruMode) {
7378
if (_alignTime == -1) return;
7479

@@ -80,10 +85,17 @@ private void UpdateOwner() {
8085

8186
if (_alignTime != -1) return;
8287

83-
_alignTime = (int)Networking.GetServerTimeInSeconds() + 30;
88+
_alignTime = GetAlignTime();
8489
RequestSerialization();
8590
}
8691

92+
private int GetAlignTime() {
93+
if (_fastAlignBeforeTime != -1 && Networking.GetServerTimeInSeconds() > _fastAlignBeforeTime)
94+
return (int)Networking.GetServerTimeInSeconds() + 10;
95+
96+
return (int)Networking.GetServerTimeInSeconds() + 30;
97+
}
98+
8799
private void UpdateData() {
88100
Pitch.Data = SimPitch.Data;
89101
Roll.Data = SimRoll.Data;

0 commit comments

Comments
 (0)