Ejemplo n.º 1
0
        public static CreatureSaveData Save(Creature creature)
        {
            var data = new CreatureSaveData();

            data.SpeciesPath = creature.Species ? creature.Species.Path : "";
            creature.Save(data);
            return(data);
        }
Ejemplo n.º 2
0
        protected virtual void Save(CreatureSaveData data)
        {
            data.Name          = Name;
            data.LearnedSkills = _learnedSkills;
            Traits.SaveTo(data.Traits, VariableDefinition.Saved);

            foreach (var move in Moves)
            {
                data.Moves.Add(Move.Save(move));
            }
        }
Ejemplo n.º 3
0
        public static Creature Create(CreatureSaveData data, ITrainer trainer)
        {
            var species = Resources.Load <Species>(data.SpeciesPath);

            if (species != null)
            {
                var creature = species.CreateCreature(trainer);
                creature.Load(data);
                return(creature);
            }

            return(null);
        }
Ejemplo n.º 4
0
        protected virtual void Load(CreatureSaveData data)
        {
            Name           = data.Name;
            _learnedSkills = data.LearnedSkills;
            Traits.LoadFrom(data.Traits, VariableDefinition.Saved);

            foreach (var moveData in data.Moves)
            {
                var move = Move.Create(this, moveData);

                if (move != null)
                {
                    Moves.Add(move);
                }
                else
                {
                    Debug.LogWarningFormat(this, _missingAbilityWarning, Name);
                }
            }
        }