mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-03-10 07:14:27 +00:00
sync initial state of GhostAirlock
This commit is contained in:
parent
32a9b68948
commit
01f1425ac0
@ -10,6 +10,9 @@ internal class AirlockManager : WorldObjectManager
|
||||
public override WorldObjectScene WorldObjectScene => WorldObjectScene.SolarSystem;
|
||||
public override bool DlcOnly => true;
|
||||
|
||||
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct) =>
|
||||
public override async UniTask BuildWorldObjects(OWScene scene, CancellationToken ct)
|
||||
{
|
||||
QSBWorldSync.Init<QSBAirlockInterface, AirlockInterface>();
|
||||
}
|
||||
QSBWorldSync.Init<QSBGhostAirlock, GhostAirlock>();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,17 @@
|
||||
using QSB.EchoesOfTheEye.AirlockSync.WorldObjects;
|
||||
using QSB.Messaging;
|
||||
|
||||
namespace QSB.EchoesOfTheEye.AirlockSync.Messages;
|
||||
|
||||
internal class AirlockInitialStateMessage : QSBWorldObjectMessage<QSBGhostAirlock, (bool innerDoorOpen, bool outerDoorOpen, bool pressurized)>
|
||||
{
|
||||
public AirlockInitialStateMessage(bool innerDoorOpen, bool outerDoorOpen, bool pressurized) : base((innerDoorOpen, outerDoorOpen, pressurized)) { }
|
||||
|
||||
public override void OnReceiveRemote()
|
||||
{
|
||||
var airlock = WorldObject.AttachedObject;
|
||||
airlock._innerDoor.SetOpenImmediate(Data.innerDoorOpen);
|
||||
airlock._outerDoor.SetOpenImmediate(Data.outerDoorOpen);
|
||||
airlock.SetPressurization(Data.pressurized);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using QSB.EchoesOfTheEye.AirlockSync.Messages;
|
||||
using QSB.Messaging;
|
||||
using QSB.WorldSync;
|
||||
|
||||
namespace QSB.EchoesOfTheEye.AirlockSync.WorldObjects;
|
||||
|
||||
internal class QSBGhostAirlock : WorldObject<GhostAirlock>
|
||||
{
|
||||
public override void SendInitialState(uint to)
|
||||
=> this.SendMessage(
|
||||
new AirlockInitialStateMessage(
|
||||
AttachedObject._innerDoor.IsOpen(),
|
||||
AttachedObject._outerDoor.IsOpen(),
|
||||
AttachedObject._pressurized
|
||||
));
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user