Exemple #1
0
 public int GlobalInt(string key)
 {
     if (GlobalFlagValues.ContainsKey(key))
     {
         return((int)GlobalFlagValues[key]);
     }
     return(0); // TODO Throw Exceptinon
 }
Exemple #2
0
 public bool GlobalBool(string key)
 {
     if (GlobalFlagValues.ContainsKey(key))
     {
         return((bool)GlobalFlagValues[key]);
     }
     return(false); // TODO Throw Exception
 }
Exemple #3
0
 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);
            }
        }