public new static GameObject ReadXml(XmlReader reader, Component workingObj) { ShotWeapon shotWeapon = (ShotWeapon)workingObj; reader.Read(); shotWeapon.cooldown = float.Parse(reader.ReadString()); reader.Read(); shotWeapon.cooldownTimer = float.Parse(reader.ReadString()); reader.Read(); shotWeapon.energyCost = int.Parse(reader.ReadString()); return(workingObj.gameObject); }
public static Module DeserializeModule(XmlReader reader) { GameObject workingGO = null; Component workingCO = null; while (reader.Read() && !(!reader.IsStartElement() && reader.LocalName.Equals(typeof(Module).Name))) { if (reader.IsStartElement()) { switch (reader.LocalName) { case "BASE": workingGO = MyPrefab.ReadXml(reader, null); workingCO = workingGO.GetComponent <Module>(); break; case "DAMAGEABLE": Damageable.ReadXml(reader, workingCO); break; case "MODULE_DATA": Module.ReadXml(reader, workingCO); break; case "SINGLE_SHOT_WEAPON": SingleShotWeapon.ReadXml(reader, workingCO); break; case "WEAPON": Weapon.ReadXml(reader, workingCO); break; case "SHOT_WEAPON": ShotWeapon.ReadXml(reader, workingCO); break; } } } return((Module)workingCO); }