Sync sub selection
This commit is contained in:
@@ -529,34 +529,40 @@ namespace Barotrauma.Networking
|
||||
case ServerNetObject.SYNC_IDS:
|
||||
bool lobbyUpdated = inc.ReadBoolean();
|
||||
inc.ReadPadBits();
|
||||
if (lobbyUpdated)
|
||||
{
|
||||
GameMain.NetLobbyScreen.LastUpdateID = inc.ReadUInt32();
|
||||
GameMain.NetLobbyScreen.ServerName = inc.ReadString();
|
||||
GameMain.NetLobbyScreen.ServerMessage = inc.ReadString();
|
||||
|
||||
UInt16 subListCount = inc.ReadUInt16();
|
||||
if (subListCount > 0)
|
||||
{
|
||||
List<Submarine> submarines = new List<Submarine>();
|
||||
for (int i = 0; i < subListCount; i++)
|
||||
{
|
||||
string subName = inc.ReadString();
|
||||
string subHash = inc.ReadString();
|
||||
|
||||
var matchingSub = Submarine.SavedSubmarines.Find(s => s.Name == subName);
|
||||
if (matchingSub != null)
|
||||
{
|
||||
submarines.Add(matchingSub);
|
||||
}
|
||||
else
|
||||
{
|
||||
submarines.Add(new Submarine(Path.Combine(Submarine.SavePath, subName), subHash, false));
|
||||
}
|
||||
}
|
||||
if (lobbyUpdated)
|
||||
{
|
||||
GameMain.NetLobbyScreen.LastUpdateID = inc.ReadUInt32();
|
||||
GameMain.NetLobbyScreen.ServerName = inc.ReadString();
|
||||
GameMain.NetLobbyScreen.ServerMessage = inc.ReadString();
|
||||
|
||||
UInt16 subListCount = inc.ReadUInt16();
|
||||
if (subListCount > 0)
|
||||
{
|
||||
List<Submarine> submarines = new List<Submarine>();
|
||||
for (int i = 0; i < subListCount; i++)
|
||||
{
|
||||
string subName = inc.ReadString();
|
||||
string subHash = inc.ReadString();
|
||||
|
||||
var matchingSub = Submarine.SavedSubmarines.Find(s => s.Name == subName);
|
||||
if (matchingSub != null)
|
||||
{
|
||||
submarines.Add(matchingSub);
|
||||
}
|
||||
else
|
||||
{
|
||||
submarines.Add(new Submarine(Path.Combine(Submarine.SavePath, subName), subHash, false));
|
||||
}
|
||||
}
|
||||
GameMain.NetLobbyScreen.UpdateSubList(GameMain.NetLobbyScreen.SubList, submarines);
|
||||
GameMain.NetLobbyScreen.UpdateSubList(GameMain.NetLobbyScreen.ShuttleList.ListBox, submarines);
|
||||
}
|
||||
GameMain.NetLobbyScreen.UpdateSubList(GameMain.NetLobbyScreen.ShuttleList.ListBox, submarines);
|
||||
}
|
||||
string selectSubName = inc.ReadString();
|
||||
string selectSubHash = inc.ReadString();
|
||||
GameMain.NetLobbyScreen.TrySelectSub(selectSubName, selectSubHash, GameMain.NetLobbyScreen.SubList);
|
||||
string selectShuttleName = inc.ReadString();
|
||||
string selectShuttleHash = inc.ReadString();
|
||||
GameMain.NetLobbyScreen.TrySelectSub(selectShuttleName, selectShuttleHash, GameMain.NetLobbyScreen.ShuttleList.ListBox);
|
||||
}
|
||||
lastRecvChatMsgID = inc.ReadUInt32();
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user