Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
 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);
 }
Esempio n. 5
0
 partial void OnDataSerialized(ref AmmunitionObsoleteSerializable serializable);
Esempio n. 6
0
 partial void OnDataDeserialized(AmmunitionObsoleteSerializable serializable, Database database);
Esempio n. 7
0
 public static AmmunitionObsoleteData Deserialize(AmmunitionObsoleteSerializable serializable, Database database)
 {
     return(new AmmunitionObsoleteData(serializable, database));
 }
Esempio n. 8
0
 partial void OnDataDeserialized(AmmunitionObsoleteSerializable serializable, Database.Loader loader);
Esempio n. 9
0
 private AmmunitionObsolete(AmmunitionObsoleteSerializable serializable, Database.Loader loader)
 {
     Id = new ItemId <AmmunitionObsolete>(serializable.Id);
     loader.AddAmmunitionObsolete(serializable.Id, this);
     Stats = new AmmunitionObsoleteStats(serializable, loader);
 }
Esempio n. 10
0
 public static AmmunitionObsolete Create(AmmunitionObsoleteSerializable serializable, Database.Loader loader)
 {
     return(new AmmunitionObsolete(serializable, loader));
 }