(566a98ad3) Fixed docking button usage not being synced

This commit is contained in:
Joonas Rikkonen
2019-05-16 06:36:55 +03:00
parent 037ef71ce9
commit d21ccf5ecd
11 changed files with 273 additions and 240 deletions
@@ -29,6 +29,8 @@ namespace Barotrauma.Items.Components
private GUIComponent statusContainer, dockingContainer;
private bool dockingNetworkMessagePending;
private GUIButton dockingButton;
private string dockText, undockText;
@@ -308,7 +310,15 @@ namespace Barotrauma.Items.Components
{
OnClicked = (btn, userdata) =>
{
item.SendSignal(0, "1", "toggle_docking", sender: Character.Controlled);
if (GameMain.Client == null)
{
item.SendSignal(0, "1", "toggle_docking", sender: Character.Controlled);
}
else
{
dockingNetworkMessagePending = true;
item.CreateClientEvent(this);
}
return true;
}
};
@@ -768,6 +778,8 @@ namespace Barotrauma.Items.Components
public void ClientWrite(Lidgren.Network.NetBuffer msg, object[] extraData = null)
{
msg.Write(autoPilot);
msg.Write(dockingNetworkMessagePending);
dockingNetworkMessagePending = false;
if (!autoPilot)
{