public int GlobalInt(string key) { if (GlobalFlagValues.ContainsKey(key)) { return((int)GlobalFlagValues[key]); } return(0); // TODO Throw Exceptinon }
public bool GlobalBool(string key) { if (GlobalFlagValues.ContainsKey(key)) { return((bool)GlobalFlagValues[key]); } return(false); // TODO Throw Exception }
public string GlobalString(string key) { if (GlobalFlagValues.ContainsKey(key)) { return((string)GlobalFlagValues[key]); } return(string.Empty); // TODO Throw Exception }
public void WriteToFile(string path, string associateFileName) { string globalFlagValues = GLOBAL_FLAGS_NONE; if (GlobalFlagValues != null && GlobalFlagValues.Count > 0) { globalFlagValues = string.Join("|", GlobalFlagValues.Select(gflag => $"{gflag.Key.ToString(CultureInfo.InvariantCulture)}:{(gflag.Value ? "1" : "0")}")); } string meta = $"{ ((int)SessionType).ToString(CultureInfo.InvariantCulture) }," + $"{ UniqueId.ToString(CultureInfo.InvariantCulture) }," + $"{ associateFileName }," + $"{ MissionInternalName }," + $"{ SideIndex.ToString(CultureInfo.InvariantCulture) }," + $"{ ((int)Difficulty).ToString(CultureInfo.InvariantCulture) }," + globalFlagValues + "," + (IsCheatSession ? "1" : "0"); byte[] bytes = Encoding.UTF8.GetBytes(meta); for (int i = 0; i < bytes.Length; i++) { bytes[i] = (byte)~bytes[i]; } try { File.Delete(path); File.WriteAllBytes(path, bytes); } catch (IOException ex) { Logger.Log("FAILED to write saved game meta file for " + Path.GetFileName(path) + ": " + ex.Message); } }