Track LocalMods as part of monolith
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
using Barotrauma.Networking;
|
||||
using Barotrauma;
|
||||
using MoreLevelContent.Shared;
|
||||
|
||||
namespace MoreLevelContent.Missions
|
||||
{
|
||||
// Client
|
||||
partial class MissionNPCCollection
|
||||
{
|
||||
internal void Read(IReadMessage msg)
|
||||
{
|
||||
bool hasCharacters = msg.ReadBoolean();
|
||||
if (!hasCharacters)
|
||||
{
|
||||
Log.Debug("Mission has no characters");
|
||||
return;
|
||||
}
|
||||
byte characterCount = msg.ReadByte();
|
||||
for (int i = 0; i < characterCount; i++)
|
||||
{
|
||||
Character character = Character.ReadSpawnData(msg);
|
||||
bool allowOrdering = msg.ReadBoolean();
|
||||
characters.Add(character);
|
||||
if (allowOrdering)
|
||||
{
|
||||
_ = GameMain.GameSession.CrewManager.AddCharacterToCrewList(character);
|
||||
Log.InternalDebug($"Added character {character.Name} to crew list");
|
||||
}
|
||||
ushort itemCount = msg.ReadUInt16();
|
||||
for (int j = 0; j < itemCount; j++)
|
||||
{
|
||||
Item.ReadSpawnData(msg);
|
||||
}
|
||||
}
|
||||
if (characters.Contains(null))
|
||||
{
|
||||
throw new System.Exception("Error in EscortMission.ClientReadInitial: character list contains null (mission: " + mission.Prefab.Identifier + ")");
|
||||
}
|
||||
|
||||
if (characters.Count != characterCount)
|
||||
{
|
||||
throw new System.Exception("Error in EscortMission.ClientReadInitial: character count does not match the server count (" + characterCount + " != " + characters.Count + "mission: " + mission.Prefab.Identifier + ")");
|
||||
}
|
||||
|
||||
InitCharacters();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user