public AmmunitionObsoleteSerializable Serialize() { var serializable = new AmmunitionObsoleteSerializable(); serializable.Id = ItemId.Id; serializable.FileName = ItemId.Name; serializable.ItemType = (int)ItemType.AmmunitionObsolete; serializable.AmmunitionClass = AmmunitionClass; serializable.DamageType = DamageType; serializable.Impulse = Impulse.Value; serializable.Recoil = Recoil.Value; serializable.Size = Size.Value; serializable.InitialPosition = InitialPosition; serializable.AreaOfEffect = AreaOfEffect.Value; serializable.Damage = Damage.Value; serializable.Range = Range.Value; serializable.Velocity = Velocity.Value; serializable.LifeTime = LifeTime.Value; serializable.HitPoints = HitPoints.Value; serializable.IgnoresShipVelocity = IgnoresShipVelocity; serializable.EnergyCost = EnergyCost.Value; serializable.CoupledAmmunitionId = CoupledAmmunitionId.Id; serializable.Color = Utils.ColorUtils.ColorToString(Color); serializable.FireSound = FireSound.ToString(); serializable.HitEffectPrefab = HitEffectPrefab; serializable.BulletPrefab = BulletPrefab; return(serializable); }
public AmmunitionObsolete(AmmunitionObsoleteSerializable serializable, Database database) { Id = new ItemId <AmmunitionObsolete>(serializable.Id, serializable.FileName); AmmunitionClass = serializable.AmmunitionClass; DamageType = serializable.DamageType; Impulse = new NumericValue <float>(serializable.Impulse, 0f, 10f); Recoil = new NumericValue <float>(serializable.Recoil, 0f, 10f); Size = new NumericValue <float>(serializable.Size, 0f, 1000f); InitialPosition = serializable.InitialPosition; AreaOfEffect = new NumericValue <float>(serializable.AreaOfEffect, 0f, 1000f); Damage = new NumericValue <float>(serializable.Damage, 0f, 1E+09f); Range = new NumericValue <float>(serializable.Range, 0f, 1000f); Velocity = new NumericValue <float>(serializable.Velocity, 0f, 1000f); LifeTime = new NumericValue <float>(serializable.LifeTime, 0f, 1E+09f); HitPoints = new NumericValue <int>(serializable.HitPoints, 0, 999999999); IgnoresShipVelocity = serializable.IgnoresShipVelocity; EnergyCost = new NumericValue <float>(serializable.EnergyCost, 0f, 1E+09f); CoupledAmmunition = database.GetAmmunitionObsoleteId(serializable.CoupledAmmunitionId); Color = Helpers.ColorFromString(serializable.Color); FireSound = serializable.FireSound; HitSound = serializable.HitSound; HitEffectPrefab = serializable.HitEffectPrefab; BulletPrefab = serializable.BulletPrefab; OnDataDeserialized(serializable, database); }
public AmmunitionObsoleteStats(AmmunitionObsoleteSerializable serializable, Database.Loader loader) { AmmunitionClass = serializable.AmmunitionClass; DamageType = serializable.DamageType; Impulse = UnityEngine.Mathf.Clamp(serializable.Impulse, 0f, 10f); Recoil = UnityEngine.Mathf.Clamp(serializable.Recoil, 0f, 10f); Size = UnityEngine.Mathf.Clamp(serializable.Size, 0f, 1000f); InitialPosition = serializable.InitialPosition; AreaOfEffect = UnityEngine.Mathf.Clamp(serializable.AreaOfEffect, 0f, 1000f); Damage = UnityEngine.Mathf.Clamp(serializable.Damage, 0f, 1E+09f); Range = UnityEngine.Mathf.Clamp(serializable.Range, 0f, 1000f); Velocity = UnityEngine.Mathf.Clamp(serializable.Velocity, 0f, 1000f); LifeTime = UnityEngine.Mathf.Clamp(serializable.LifeTime, 0f, 1E+09f); HitPoints = UnityEngine.Mathf.Clamp(serializable.HitPoints, 0, 999999999); IgnoresShipVelocity = serializable.IgnoresShipVelocity; EnergyCost = UnityEngine.Mathf.Clamp(serializable.EnergyCost, 0f, 1E+09f); CoupledAmmunition = loader.GetAmmunitionObsolete(new ItemId <AmmunitionObsolete>(serializable.CoupledAmmunitionId)); Color = new ColorData(serializable.Color); FireSound = new AudioClipId(serializable.FireSound); HitSound = new AudioClipId(serializable.HitSound); HitEffectPrefab = new PrefabId(serializable.HitEffectPrefab, PrefabId.Type.Effect); BulletPrefab = new PrefabId(serializable.BulletPrefab, PrefabId.Type.Bullet); OnDataDeserialized(serializable, loader); }
public void Save(AmmunitionObsoleteSerializable serializable) { serializable.AmmunitionClass = AmmunitionClass; serializable.DamageType = DamageType; serializable.Impulse = Impulse.Value; serializable.Recoil = Recoil.Value; serializable.Size = Size.Value; serializable.InitialPosition = InitialPosition; serializable.AreaOfEffect = AreaOfEffect.Value; serializable.Damage = Damage.Value; serializable.Range = Range.Value; serializable.Velocity = Velocity.Value; serializable.LifeTime = LifeTime.Value; serializable.HitPoints = HitPoints.Value; serializable.IgnoresShipVelocity = IgnoresShipVelocity; serializable.EnergyCost = EnergyCost.Value; serializable.CoupledAmmunitionId = CoupledAmmunition.Value; serializable.Color = Helpers.ColorToString(Color); serializable.FireSound = FireSound; serializable.HitSound = HitSound; serializable.HitEffectPrefab = HitEffectPrefab; serializable.BulletPrefab = BulletPrefab; OnDataSerialized(ref serializable); }
partial void OnDataSerialized(ref AmmunitionObsoleteSerializable serializable);
partial void OnDataDeserialized(AmmunitionObsoleteSerializable serializable, Database database);
public static AmmunitionObsoleteData Deserialize(AmmunitionObsoleteSerializable serializable, Database database) { return(new AmmunitionObsoleteData(serializable, database)); }
partial void OnDataDeserialized(AmmunitionObsoleteSerializable serializable, Database.Loader loader);
private AmmunitionObsolete(AmmunitionObsoleteSerializable serializable, Database.Loader loader) { Id = new ItemId <AmmunitionObsolete>(serializable.Id); loader.AddAmmunitionObsolete(serializable.Id, this); Stats = new AmmunitionObsoleteStats(serializable, loader); }
public static AmmunitionObsolete Create(AmmunitionObsoleteSerializable serializable, Database.Loader loader) { return(new AmmunitionObsolete(serializable, loader)); }