Fixed networking
This commit is contained in:
@@ -213,10 +213,16 @@ namespace Barotrauma
|
|||||||
|
|
||||||
character.AnimController.GrabLimb = character.AnimController.GrabLimb == LimbType.None ? LimbType.Torso : LimbType.None;
|
character.AnimController.GrabLimb = character.AnimController.GrabLimb == LimbType.None ? LimbType.Torso : LimbType.None;
|
||||||
|
|
||||||
|
foreach (Limb limb in Character.Controlled.SelectedCharacter.AnimController.Limbs)
|
||||||
|
{
|
||||||
|
limb.pullJoint.Enabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (GameMain.Client != null)
|
if (GameMain.Client != null)
|
||||||
{
|
{
|
||||||
GameMain.Client.CreateEntityEvent(Character.Controlled, new object[] { NetEntityEvent.Type.Repair });
|
GameMain.Client.CreateEntityEvent(Character.Controlled, new object[] { NetEntityEvent.Type.Control });
|
||||||
}
|
}
|
||||||
|
|
||||||
grabHoldButton.Text = "Grabbing: " + (character.AnimController.GrabLimb == LimbType.Torso ? "Torso" : "Hands");
|
grabHoldButton.Text = "Grabbing: " + (character.AnimController.GrabLimb == LimbType.Torso ? "Torso" : "Hands");
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -17,15 +17,19 @@ namespace Barotrauma
|
|||||||
switch ((NetEntityEvent.Type)extraData[0])
|
switch ((NetEntityEvent.Type)extraData[0])
|
||||||
{
|
{
|
||||||
case NetEntityEvent.Type.InventoryState:
|
case NetEntityEvent.Type.InventoryState:
|
||||||
msg.WriteRangedInteger(0, 2, 0);
|
msg.WriteRangedInteger(0, 3, 0);
|
||||||
inventory.ClientWrite(msg, extraData);
|
inventory.ClientWrite(msg, extraData);
|
||||||
break;
|
break;
|
||||||
case NetEntityEvent.Type.Repair:
|
case NetEntityEvent.Type.Repair:
|
||||||
msg.WriteRangedInteger(0, 2, 1);
|
msg.WriteRangedInteger(0, 3, 1);
|
||||||
msg.Write(AnimController.Anim == AnimController.Animation.CPR);
|
msg.Write(AnimController.Anim == AnimController.Animation.CPR);
|
||||||
break;
|
break;
|
||||||
case NetEntityEvent.Type.Status:
|
case NetEntityEvent.Type.Status:
|
||||||
msg.WriteRangedInteger(0, 2, 2);
|
msg.WriteRangedInteger(0, 3, 2);
|
||||||
|
break;
|
||||||
|
case NetEntityEvent.Type.Control:
|
||||||
|
msg.WriteRangedInteger(0, 3, 3);
|
||||||
|
msg.Write((int)AnimController.GrabLimb);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -91,7 +95,7 @@ namespace Barotrauma
|
|||||||
bool crouching = msg.ReadBoolean();
|
bool crouching = msg.ReadBoolean();
|
||||||
keys[(int)InputType.Crouch].Held = crouching;
|
keys[(int)InputType.Crouch].Held = crouching;
|
||||||
keys[(int)InputType.Crouch].SetState(false, crouching);
|
keys[(int)InputType.Crouch].SetState(false, crouching);
|
||||||
AnimController.GrabLimb = (LimbType)msg.ReadInt16();
|
AnimController.GrabLimb = (LimbType)msg.ReadInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hasAttackLimb = msg.ReadBoolean();
|
bool hasAttackLimb = msg.ReadBoolean();
|
||||||
|
|||||||
@@ -324,7 +324,7 @@ namespace Barotrauma
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case ClientNetObject.ENTITY_STATE:
|
case ClientNetObject.ENTITY_STATE:
|
||||||
int eventType = msg.ReadRangedInteger(0,2);
|
int eventType = msg.ReadRangedInteger(0,3);
|
||||||
switch (eventType)
|
switch (eventType)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@@ -356,6 +356,9 @@ namespace Barotrauma
|
|||||||
Kill(lastAttackCauseOfDeath);
|
Kill(lastAttackCauseOfDeath);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
AnimController.GrabLimb = (LimbType)msg.ReadInt32();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -435,7 +438,7 @@ namespace Barotrauma
|
|||||||
if (AnimController is HumanoidAnimController)
|
if (AnimController is HumanoidAnimController)
|
||||||
{
|
{
|
||||||
tempBuffer.Write(((HumanoidAnimController)AnimController).Crouching);
|
tempBuffer.Write(((HumanoidAnimController)AnimController).Crouching);
|
||||||
tempBuffer.Write((int)((HumanoidAnimController)AnimController).GrabLimb);
|
tempBuffer.Write((int)AnimController.GrabLimb);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool hasAttackLimb = AnimController.Limbs.Any(l => l != null && l.attack != null);
|
bool hasAttackLimb = AnimController.Limbs.Any(l => l != null && l.attack != null);
|
||||||
|
|||||||
Reference in New Issue
Block a user