Exemple #1
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);
        }
Exemple #2
0
        public BulletTrigger_PlaySfx(BulletTriggerSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            VisualEffect = loader.GetVisualEffect(new ItemId <VisualEffect>(serializable.VisualEffect));
            AudioClip    = new AudioClipId(serializable.AudioClip);
            Color        = new ColorData(serializable.Color);
            ColorMode    = serializable.ColorMode;
            Size         = UnityEngine.Mathf.Clamp(serializable.Size, 0f, 100f);
            Lifetime     = UnityEngine.Mathf.Clamp(serializable.Lifetime, 0f, 1000f);

            OnDataDeserialized(serializable, loader);
        }
Exemple #3
0
 private WeaponData(WeaponSerializable serializable, Database database)
 {
     ItemId            = new ItemId <WeaponData>(serializable.Id, serializable.FileName);
     WeaponClass       = serializable.WeaponClass;
     FireRate          = new NumericValue <float>(serializable.FireRate, 0.001f, 100f);
     Spread            = new NumericValue <float>(serializable.Spread, 0f, 180f);
     Magazine          = new NumericValue <int>(serializable.Magazine, 0, 1000);
     ActivationType    = serializable.ActivationType;
     ShotSound         = new AudioClipId(serializable.ShotSound);
     ChargeSound       = new AudioClipId(serializable.ChargeSound);
     ShotEffectPrefab  = serializable.ShotEffectPrefab;
     ControlButtonIcon = serializable.ControlButtonIcon;
 }
Exemple #4
0
        public WeaponStats(WeaponSerializable serializable, Database.Loader loader)
        {
            WeaponClass       = serializable.WeaponClass;
            FireRate          = UnityEngine.Mathf.Clamp(serializable.FireRate, 0f, 100f);
            Spread            = UnityEngine.Mathf.Clamp(serializable.Spread, 0f, 360f);
            Magazine          = UnityEngine.Mathf.Clamp(serializable.Magazine, 0, 999999999);
            ActivationType    = serializable.ActivationType;
            ShotSound         = new AudioClipId(serializable.ShotSound);
            ChargeSound       = new AudioClipId(serializable.ChargeSound);
            ShotEffectPrefab  = new PrefabId(serializable.ShotEffectPrefab, PrefabId.Type.Effect);
            ControlButtonIcon = new SpriteId(serializable.ControlButtonIcon, SpriteId.Type.ActionButton);

            OnDataDeserialized(serializable, loader);
        }
Exemple #5
0
 private DroneBayData(DroneBaySerializable serializable, Database database)
 {
     ItemId                   = new ItemId <DroneBayData>(serializable.Id, serializable.FileName);
     EnergyConsumption        = new NumericValue <float>(serializable.EnergyConsumption, 0f, 1000f);
     PassiveEnergyConsumption = new NumericValue <float>(serializable.PassiveEnergyConsumption, 0f, 1000f);
     Range              = new NumericValue <float>(serializable.Range, 1f, 100f);
     DamageMultiplier   = new NumericValue <float>(serializable.DamageMultiplier, 0.01f, 100f);
     DefenseMultiplier  = new NumericValue <float>(serializable.DefenseMultiplier, 0.01f, 100f);
     SpeedMultiplier    = new NumericValue <float>(serializable.SpeedMultiplier, 0.01f, 100f);
     ImprovedAi         = serializable.ImprovedAi;
     Capacity           = new NumericValue <int>(serializable.Capacity, 1, 100);
     ActivationType     = serializable.ActivationType;
     LaunchSound        = new AudioClipId(serializable.LaunchSound);
     LaunchEffectPrefab = serializable.LaunchEffectPrefab;
     ControlButtonIcon  = serializable.ControlButtonIcon;
 }
Exemple #6
0
 private BulletTriggerData(BulletTriggerSerializable serializable, Database database)
 {
     Condition       = serializable.Condition;
     EffectType      = serializable.EffectType;
     VisualEffect    = database.GetVisualEffectId(serializable.VisualEffect);
     AudioClip       = new AudioClipId(serializable.AudioClip);
     Ammunition      = database.GetAmmunitionId(serializable.Ammunition);
     Color           = Utils.ColorUtils.ColorFromString(serializable.Color);
     ColorMode       = serializable.ColorMode;
     Quantity        = new NumericValue <int>(serializable.Quantity, 0, 1000);
     Size            = new NumericValue <float>(serializable.Size, 0.01f, 100f);
     Lifetime        = new NumericValue <float>(serializable.Lifetime, 0f, 1000f);
     Cooldown        = new NumericValue <float>(serializable.Cooldown, 0f, 1000f);
     RandomFactor    = new NumericValue <float>(serializable.RandomFactor, 0f, 1f);
     PowerMultiplier = new NumericValue <float>(serializable.PowerMultiplier, 0f, 1000f);
 }
Exemple #7
0
        public BulletTrigger_SpawnBullet(BulletTriggerSerializable serializable, Database.Loader loader)
            : base(serializable, loader)
        {
            AudioClip       = new AudioClipId(serializable.AudioClip);
            Ammunition      = loader.GetAmmunition(new ItemId <Ammunition>(serializable.Ammunition));
            Color           = new ColorData(serializable.Color);
            ColorMode       = serializable.ColorMode;
            Quantity        = UnityEngine.Mathf.Clamp(serializable.Quantity, 0, 1000);
            Size            = UnityEngine.Mathf.Clamp(serializable.Size, 0f, 100f);
            Cooldown        = UnityEngine.Mathf.Clamp(serializable.Cooldown, 0f, 1000f);
            RandomFactor    = UnityEngine.Mathf.Clamp(serializable.RandomFactor, 0f, 1f);
            PowerMultiplier = UnityEngine.Mathf.Clamp(serializable.PowerMultiplier, 0f, 1000f);
            MaxNestingLevel = UnityEngine.Mathf.Clamp(serializable.MaxNestingLevel, 0, 100);

            OnDataDeserialized(serializable, loader);
        }
Exemple #8
0
        public DroneBayStats(DroneBaySerializable serializable, Database.Loader loader)
        {
            EnergyConsumption        = UnityEngine.Mathf.Clamp(serializable.EnergyConsumption, 0f, 1E+09f);
            PassiveEnergyConsumption = UnityEngine.Mathf.Clamp(serializable.PassiveEnergyConsumption, 0f, 1E+09f);
            Range              = UnityEngine.Mathf.Clamp(serializable.Range, 1f, 1000f);
            DamageMultiplier   = UnityEngine.Mathf.Clamp(serializable.DamageMultiplier, 0.01f, 1000f);
            DefenseMultiplier  = UnityEngine.Mathf.Clamp(serializable.DefenseMultiplier, 0.01f, 1000f);
            SpeedMultiplier    = UnityEngine.Mathf.Clamp(serializable.SpeedMultiplier, 0.01f, 1000f);
            ImprovedAi         = serializable.ImprovedAi;
            Capacity           = UnityEngine.Mathf.Clamp(serializable.Capacity, 1, 1000);
            ActivationType     = serializable.ActivationType;
            LaunchSound        = new AudioClipId(serializable.LaunchSound);
            LaunchEffectPrefab = new PrefabId(serializable.LaunchEffectPrefab, PrefabId.Type.Effect);
            ControlButtonIcon  = new SpriteId(serializable.ControlButtonIcon, SpriteId.Type.ActionButton);

            OnDataDeserialized(serializable, loader);
        }
Exemple #9
0
 private DeviceData(DeviceSerializable serializable, Database database)
 {
     ItemId                   = new ItemId <DeviceData>(serializable.Id, serializable.FileName);
     DeviceClass              = serializable.DeviceClass;
     EnergyConsumption        = new NumericValue <float>(serializable.EnergyConsumption, 0f, 1000f);
     PassiveEnergyConsumption = new NumericValue <float>(serializable.PassiveEnergyConsumption, 0f, 1000f);
     Power             = new NumericValue <float>(serializable.Power, 0f, 1000f);
     Range             = new NumericValue <float>(serializable.Range, 0f, 1000f);
     Size              = new NumericValue <float>(serializable.Size, 0f, 1000f);
     Cooldown          = new NumericValue <float>(serializable.Cooldown, 0f, 1000f);
     Offset            = serializable.Offset;
     ActivationType    = serializable.ActivationType;
     Color             = Utils.ColorUtils.ColorFromString(serializable.Color);
     Sound             = new AudioClipId(serializable.Sound);
     EffectPrefab      = serializable.EffectPrefab;
     ObjectPrefab      = serializable.ObjectPrefab;
     ControlButtonIcon = serializable.ControlButtonIcon;
 }
Exemple #10
0
        public DeviceStats(DeviceSerializable serializable, Database.Loader loader)
        {
            DeviceClass              = serializable.DeviceClass;
            EnergyConsumption        = UnityEngine.Mathf.Clamp(serializable.EnergyConsumption, 0f, 1E+09f);
            PassiveEnergyConsumption = UnityEngine.Mathf.Clamp(serializable.PassiveEnergyConsumption, 0f, 1E+09f);
            Power             = UnityEngine.Mathf.Clamp(serializable.Power, 0f, 1000f);
            Range             = UnityEngine.Mathf.Clamp(serializable.Range, 0f, 1000f);
            Size              = UnityEngine.Mathf.Clamp(serializable.Size, 0f, 1000f);
            Cooldown          = UnityEngine.Mathf.Clamp(serializable.Cooldown, 0f, 1000f);
            Lifetime          = UnityEngine.Mathf.Clamp(serializable.Lifetime, 0f, 1000f);
            Offset            = serializable.Offset;
            ActivationType    = serializable.ActivationType;
            Color             = new ColorData(serializable.Color);
            Sound             = new AudioClipId(serializable.Sound);
            EffectPrefab      = new PrefabId(serializable.EffectPrefab, PrefabId.Type.Effect);
            ObjectPrefab      = new PrefabId(serializable.ObjectPrefab, PrefabId.Type.Object);
            ControlButtonIcon = new SpriteId(serializable.ControlButtonIcon, SpriteId.Type.ActionButton);

            OnDataDeserialized(serializable, loader);
        }
Exemple #11
0
 private AmmunitionObsoleteData(AmmunitionObsoleteSerializable serializable, Database database)
 {
     ItemId              = new ItemId <AmmunitionObsoleteData>(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, 1000f);
     Range               = new NumericValue <float>(serializable.Range, 0f, 1000f);
     Velocity            = new NumericValue <float>(serializable.Velocity, 0f, 1000f);
     LifeTime            = new NumericValue <float>(serializable.LifeTime, 0f, 1000f);
     HitPoints           = new NumericValue <int>(serializable.HitPoints, 0, 1000);
     IgnoresShipVelocity = serializable.IgnoresShipVelocity;
     EnergyCost          = new NumericValue <float>(serializable.EnergyCost, 0f, 1000f);
     CoupledAmmunitionId = database.GetAmmunitionObsoleteId(serializable.CoupledAmmunitionId);
     Color               = Utils.ColorUtils.ColorFromString(serializable.Color);
     FireSound           = new AudioClipId(serializable.FireSound);
     HitEffectPrefab     = serializable.HitEffectPrefab;
     BulletPrefab        = serializable.BulletPrefab;
 }