Unstable 0.17.0.0

This commit is contained in:
Markus Isberg
2022-02-26 02:43:01 +09:00
parent a83f375681
commit 3974067915
913 changed files with 32472 additions and 32364 deletions
@@ -1,5 +1,4 @@
using Barotrauma.Networking;
using Microsoft.Xna.Framework;
namespace Barotrauma
{
@@ -12,15 +11,21 @@ namespace Barotrauma
partial void CreateNetworkEventProjSpecific(Entity entity, bool remove)
{
if (GameMain.Server != null && entity != null)
if (GameMain.Server == null || entity == null) { return; }
GameMain.Server.CreateEntityEvent(this, new object[] { new SpawnOrRemove(entity, remove) });
if (entity is Character character && character.Info != null)
{
GameMain.Server.CreateEntityEvent(this, new object[] { new SpawnOrRemove(entity, remove) });
}
foreach (var statKey in character.Info.SavedStatValues.Keys)
{
GameMain.NetworkMember.CreateEntityEvent(character, new object[] { NetEntityEvent.Type.UpdatePermanentStats, statKey });
}
}
}
public void ServerWrite(IWriteMessage message, Client client, object[] extraData = null)
{
if (GameMain.Server == null) return;
if (GameMain.Server == null) { return; }
SpawnOrRemove entities = (SpawnOrRemove)extraData[0];
@@ -31,17 +36,17 @@ namespace Barotrauma
}
else
{
if (entities.Entity is Item)
if (entities.Entity is Item item)
{
message.Write((byte)SpawnableType.Item);
DebugConsole.Log("Writing item spawn data " + entities.Entity.ToString() + " (original ID: " + entities.OriginalID + ", current ID: " + entities.Entity.ID + ")");
((Item)entities.Entity).WriteSpawnData(message, entities.OriginalID, entities.OriginalInventoryID, entities.OriginalItemContainerIndex);
item.WriteSpawnData(message, entities.OriginalID, entities.OriginalInventoryID, entities.OriginalItemContainerIndex, entities.OriginalSlotIndex);
}
else if (entities.Entity is Character)
else if (entities.Entity is Character character)
{
message.Write((byte)SpawnableType.Character);
DebugConsole.Log("Writing character spawn data: " + entities.Entity.ToString() + " (original ID: " + entities.OriginalID + ", current ID: " + entities.Entity.ID + ")");
((Character)entities.Entity).WriteSpawnData(message, entities.OriginalID, restrictMessageSize: true);
character.WriteSpawnData(message, entities.OriginalID, restrictMessageSize: true);
}
}
}