示例#1
0
        /// <summary>
        /// Loads encounters from the default save file location
        /// </summary>
        public IEnumerable <EncounterModel> LoadEncounters(IEnumerable <CharacterModel> characters, IEnumerable <ConditionModel> conditions, IEnumerable <MonsterModel> monsters)
        {
            List <EncounterModel> encounters = new List <EncounterModel>();

            string path = Path.Combine(_saveDataFolder, _encountersSaveFileName);

            if (File.Exists(path))
            {
                IEncounterPersister encounterPersister = null;

                byte[] encounterBytes = File.ReadAllBytes(path);
                int    version        = BitConverter.ToInt32(encounterBytes.Take(4).ToArray(), 0);
                if (version == 1)
                {
                    encounterPersister = DependencyResolver.Resolve <Version1.EncounterPersister>();
                }

                if (encounterPersister != null)
                {
                    encounters = encounterPersister.GetEncounters(encounterBytes, characters, conditions, monsters).ToList();
                }
            }

            return(encounters);
        }
示例#2
0
        /// <summary>
        /// Gets a character from the byte array using selected resources
        /// </summary>
        public EncounterModel GetEncounter(byte[] encounterBytes, IEnumerable <CharacterModel> characters, IEnumerable <ConditionModel> conditions, IEnumerable <MonsterModel> monsters)
        {
            EncounterModel      encounter          = null;
            IEncounterPersister encounterPersister = DependencyResolver.Resolve <Version1.EncounterPersister>();

            encounter = encounterPersister.GetEncounters(encounterBytes, characters, conditions, monsters).First();
            return(encounter);
        }
示例#3
0
        /// <summary>
        /// Gets character bytes
        /// </summary>
        public byte[] GetEncounterBytes(EncounterModel encounter)
        {
            byte[] encounterBytes = null;
            IEncounterPersister encounterPersister = DependencyResolver.Resolve <Version1.EncounterPersister>();

            encounterBytes = encounterPersister.GetBytes(new EncounterModel[] { encounter });
            return(encounterBytes);
        }
示例#4
0
        /// <summary>
        /// Saves encounters to the default save file location
        /// </summary>
        public void SaveEncounters(IEnumerable <EncounterModel> encounters)
        {
            string path = Path.Combine(_saveDataFolder, _encountersSaveFileName);
            IEncounterPersister encounterPersister = DependencyResolver.Resolve <Version1.EncounterPersister>();

            byte[] encounterBytes = encounterPersister.GetBytes(encounters);
            File.WriteAllBytes(path, encounterBytes);
        }