Exemple #1
0
        public SerializableAbility ToSerializeable()
        {
            SerializableAbility sAbility = new SerializableAbility();

            sAbility.DisplayName = DisplayName;
            List <Stat.SerializableStat> attributes = new List <Stat.SerializableStat>();

            for (int x = 0; x < Attributes.Length; x++)
            {
                attributes.Add(Attributes[x].ToSerializeable());
            }
            sAbility.attributes = attributes.ToArray();
            return(sAbility);
        }
Exemple #2
0
        // Serialization Stuff ----------------------------------------------

        public static Ability Deserialize(GameObject player, SerializableAbility sAbility)
        {
            // Deserialize Related Stats
            List <Stat> attributes = new List <Stat>();

            for (int x = 0; x < sAbility.attributes.Length; x++)
            {
                attributes.Add(sAbility.attributes[x].Deserialize());
            }

            if (sAbility.DisplayName == BlinkAbility.Name)
            {
                return(new BlinkAbility(player, attributes.ToArray()));
            }
            else if (sAbility.DisplayName == ReviveProjectileAbility.Name)
            {
                return(new ReviveProjectileAbility(player, attributes.ToArray()));
            }

            throw new UnityException($"Can't find Ability for \"{sAbility.DisplayName}\"");
        }