private bool ReceiveWorldState(ArraySegment <byte> rawData) { Logger.Debug("Total: {sizeInMemory} bytes.", rawData.Count); InMemDriver stream = DeserializeWorldState(rawData); if (stream == null) { Logger.Error("Error during world state serialization. Abort."); return(false); } LoadGameResult loadResult = SaveLoad.LoadSaveGameData(stream); if (loadResult == null) { Logger.Error("Unable to load world state. Abort."); return(false); } if (loadResult.LoadResult.Successful) { Logger.Info(loadResult.ToFriendlyString()); } else { Logger.Error(loadResult.ToFriendlyString()); } GameLoopRunner.RunOnMainThread(() => SaveLoad.LoadGame(loadResult.LoadResult)); return(true); }