Resetting EntityEvent & EntitySpawner IDs when starting a new round, LOS effect is enabled when a client takes control of a character
This commit is contained in:
@@ -2397,6 +2397,9 @@ namespace Barotrauma
|
||||
{
|
||||
GameMain.Client.Character = character;
|
||||
Controlled = character;
|
||||
|
||||
GameMain.LightManager.LosEnabled = true;
|
||||
|
||||
character.memInput.Clear();
|
||||
character.memPos.Clear();
|
||||
character.memLocalPos.Clear();
|
||||
|
||||
@@ -170,7 +170,7 @@ namespace Barotrauma
|
||||
|
||||
public void StartShift(Level level, bool reloadSub = true, bool loadSecondSub = false)
|
||||
{
|
||||
GameMain.LightManager.LosEnabled = (GameMain.Server==null || GameMain.Server.CharacterInfo!=null);
|
||||
GameMain.LightManager.LosEnabled = GameMain.NetworkMember == null || GameMain.NetworkMember.CharacterInfo != null;
|
||||
|
||||
this.level = level;
|
||||
|
||||
|
||||
@@ -577,6 +577,8 @@ namespace Barotrauma.Networking
|
||||
if (Character != null) Character.Remove();
|
||||
|
||||
Entity.Spawner.Clear();
|
||||
entityEventManager.Clear();
|
||||
LastSentEntityEventID = 0;
|
||||
|
||||
endVoteTickBox.Selected = false;
|
||||
|
||||
|
||||
@@ -906,6 +906,12 @@ namespace Barotrauma.Networking
|
||||
List<CharacterInfo> characterInfos = new List<CharacterInfo>();
|
||||
foreach (Client client in connectedClients)
|
||||
{
|
||||
client.lastRecvEntitySpawnID = 0;
|
||||
|
||||
client.entityEventLastSent.Clear();
|
||||
client.lastSentEntityEventID = 0;
|
||||
client.lastRecvEntityEventID = 0;
|
||||
|
||||
if (client.characterInfo == null)
|
||||
{
|
||||
client.characterInfo = new CharacterInfo(Character.HumanConfigFile, client.name);
|
||||
|
||||
@@ -120,6 +120,8 @@ namespace Barotrauma.Networking
|
||||
{
|
||||
ID = 0;
|
||||
|
||||
lastReceivedID = 0;
|
||||
|
||||
events.Clear();
|
||||
eventLastSent.Clear();
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ namespace Barotrauma.Networking
|
||||
//write into a temporary buffer so we can write the length before the actual data
|
||||
NetBuffer tempBuffer = new NetBuffer();
|
||||
WriteEvent(tempBuffer, e, recipient);
|
||||
tempBuffer.WritePadBits();
|
||||
|
||||
Debug.Assert(
|
||||
tempBuffer.LengthBytes < 256,
|
||||
@@ -40,6 +39,7 @@ namespace Barotrauma.Networking
|
||||
msg.Write((UInt16)e.Entity.ID);
|
||||
msg.Write((byte)tempBuffer.LengthBytes);
|
||||
msg.Write(tempBuffer);
|
||||
msg.WritePadBits();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user