예제 #1
0
        public virtual void Save(ZoneSaveData saveData)
        {
            if (IsEnabled)
            {
                PersistNpcData();
            }

            _variables.SaveTo(saveData.PersistentVariables, VariableDefinition.Saved);
            saveData.Npcs = _npcData.Select(npc => npc.Value).ToList();
        }
예제 #2
0
        public virtual string Save(WorldSaveData saveData)
        {
            _variables.SaveTo(saveData.PersistentVariables, VariableDefinition.Saved);

            foreach (var zone in Zones)
            {
                if (zone != null)
                {
                    var zoneSaveData = new ZoneSaveData();
                    zone.Save(zoneSaveData);
                    zoneSaveData.Name = zone.Zone.name;
                    saveData.Zones.Add(zoneSaveData);
                }
            }

            return(SaveFilename);
        }
예제 #3
0
 public virtual void Load(ZoneSaveData saveData)
 {
     _variables.LoadFrom(saveData.PersistentVariables, VariableDefinition.Saved);
     _npcData = saveData.Npcs.ToDictionary(npc => npc.Id);
 }