ProperSave.SaveFileMetadata.CreateMetadataForCurrentLobby C# (CSharp) Method

CreateMetadataForCurrentLobby() static private method

static private CreateMetadataForCurrentLobby ( ) : SaveFileMetadata
return SaveFileMetadata
        internal static SaveFileMetadata CreateMetadataForCurrentLobby()
        {
            return new SaveFileMetadata
            {
                SteamIds = NetworkUser.readOnlyInstancesList.ToArray().Select(el => el.Network_id.steamId.value).ToArray(),
                UserProfileId = LocalUserManager.readOnlyLocalUsersList[0].userProfile.fileName,
                GameMode = Run.instance.gameModeIndex
            };
        }

Usage Example

Exemplo n.º 1
0
        private static void SaveGame()
        {
            var save = ProperSavePlugin.CurrentSave = new SaveFile
            {
                SaveFileMeta = SaveFileMetadata.GetCurrentLobbySaveMetadata() ?? SaveFileMetadata.CreateMetadataForCurrentLobby()
            };

            if (string.IsNullOrEmpty(save.SaveFileMeta.FileName))
            {
                do
                {
                    save.SaveFileMeta.FileName = Guid.NewGuid().ToString();
                }while (File.Exists(save.SaveFileMeta.FilePath));
            }

            try
            {
                var json = JSONWriter.ToJson(save);
                File.WriteAllText(save.SaveFileMeta.FilePath, json);

                SaveFileMetadata.AddIfNotExists(save.SaveFileMeta);
                Chat.AddMessage(Language.GetString(LanguageConsts.PS_CHAT_SAVE));
            }
            catch (Exception e)
            {
                ProperSavePlugin.InstanceLogger.LogWarning("Failed to save the game");
                ProperSavePlugin.InstanceLogger.LogError(e);
            }
        }