quantum-space-buddies/QSB/MeteorSync/Messages/FragmentInitialStateMessage.cs

30 lines
878 B
C#
Raw Normal View History

using OWML.Common;
2021-12-23 06:59:08 +00:00
using QSB.Messaging;
using QSB.MeteorSync.WorldObjects;
using QSB.Utility;
2021-11-14 04:41:46 +00:00
2022-03-03 03:46:33 +00:00
namespace QSB.MeteorSync.Messages;
public class FragmentInitialStateMessage : QSBWorldObjectMessage<QSBFragment,
(float OrigIntegrity, float Integrity, float LeashLength)>
2021-11-14 04:41:46 +00:00
{
public FragmentInitialStateMessage(QSBFragment qsbFragment) : base((
qsbFragment.AttachedObject._origIntegrity,
qsbFragment.AttachedObject._integrity,
(float)qsbFragment.LeashLength // will have a value at this point, so cast is okay
)) { }
2021-12-23 06:59:08 +00:00
2022-03-03 03:46:33 +00:00
public override void OnReceiveRemote()
{
WorldObject.AttachedObject._origIntegrity = Data.OrigIntegrity;
WorldObject.SetIntegrity(Data.Integrity);
if (WorldObject.LeashLength != null)
{
DebugLog.ToConsole($"leash length for {WorldObject} already set", MessageType.Warning);
return;
2022-03-03 03:46:33 +00:00
}
2021-12-23 06:59:08 +00:00
WorldObject.LeashLength = Data.LeashLength;
2021-11-14 04:41:46 +00:00
}
}