Example #1
0
        protected BulletTrigger(BulletTriggerSerializable serializable, Database.Loader loader)
        {
            Condition  = serializable.Condition;
            EffectType = serializable.EffectType;

            OnDataDeserialized(serializable, loader);
        }
        public BulletTrigger(BulletTriggerSerializable serializable, Database database)
        {
            Condition  = serializable.Condition;
            EffectType = serializable.EffectType;
            _content   = CreateContent(serializable.EffectType);
            _content.Load(serializable, database);

            OnDataDeserialized(serializable, database);
        }
 public void Save(ref BulletTriggerSerializable serializable)
 {
     serializable.VisualEffect = VisualEffect.Value;
     serializable.AudioClip    = AudioClip;
     serializable.Color        = Helpers.ColorToString(Color);
     serializable.ColorMode    = ColorMode;
     serializable.Size         = Size.Value;
     serializable.Lifetime     = Lifetime.Value;
     OnDataSerialized(ref serializable);
 }
        public void Load(BulletTriggerSerializable serializable, Database database)
        {
            VisualEffect = database.GetVisualEffectId(serializable.VisualEffect);
            AudioClip    = serializable.AudioClip;
            Color        = Helpers.ColorFromString(serializable.Color);
            ColorMode    = serializable.ColorMode;
            Size         = new NumericValue <float>(serializable.Size, 0f, 100f);
            Lifetime     = new NumericValue <float>(serializable.Lifetime, 0f, 1000f);

            OnDataDeserialized(serializable, database);
        }
Example #5
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);
        }
 public void Save(ref BulletTriggerSerializable serializable)
 {
     serializable.AudioClip       = AudioClip;
     serializable.Ammunition      = Ammunition.Value;
     serializable.Color           = Helpers.ColorToString(Color);
     serializable.ColorMode       = ColorMode;
     serializable.Quantity        = Quantity.Value;
     serializable.Size            = Size.Value;
     serializable.Cooldown        = Cooldown.Value;
     serializable.RandomFactor    = RandomFactor.Value;
     serializable.PowerMultiplier = PowerMultiplier.Value;
     serializable.MaxNestingLevel = MaxNestingLevel.Value;
     OnDataSerialized(ref serializable);
 }
        public void Load(BulletTriggerSerializable serializable, Database database)
        {
            AudioClip       = serializable.AudioClip;
            Ammunition      = database.GetAmmunitionId(serializable.Ammunition);
            Color           = Helpers.ColorFromString(serializable.Color);
            ColorMode       = serializable.ColorMode;
            Quantity        = new NumericValue <int>(serializable.Quantity, 0, 1000);
            Size            = new NumericValue <float>(serializable.Size, 0f, 100f);
            Cooldown        = new NumericValue <float>(serializable.Cooldown, 0f, 1000f);
            RandomFactor    = new NumericValue <float>(serializable.RandomFactor, 0f, 1f);
            PowerMultiplier = new NumericValue <float>(serializable.PowerMultiplier, 0f, 1000f);
            MaxNestingLevel = new NumericValue <int>(serializable.MaxNestingLevel, 0, 100);

            OnDataDeserialized(serializable, database);
        }
Example #8
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);
        }
Example #9
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);
 }
Example #10
0
        public BulletTriggerSerializable Serialize()
        {
            var serializable = new BulletTriggerSerializable();

            serializable.Condition       = Condition;
            serializable.EffectType      = EffectType;
            serializable.VisualEffect    = VisualEffect.Id;
            serializable.AudioClip       = AudioClip.ToString();
            serializable.Ammunition      = Ammunition.Id;
            serializable.Color           = Utils.ColorUtils.ColorToString(Color);
            serializable.ColorMode       = ColorMode;
            serializable.Quantity        = Quantity.Value;
            serializable.Size            = Size.Value;
            serializable.Lifetime        = Lifetime.Value;
            serializable.Cooldown        = Cooldown.Value;
            serializable.RandomFactor    = RandomFactor.Value;
            serializable.PowerMultiplier = PowerMultiplier.Value;
            return(serializable);
        }
Example #11
0
        public static BulletTrigger Create(BulletTriggerSerializable serializable, Database.Loader loader)
        {
            switch (serializable.EffectType)
            {
            case BulletEffectType.None:
                return(new BulletTrigger_None(serializable, loader));

            case BulletEffectType.PlaySfx:
                return(new BulletTrigger_PlaySfx(serializable, loader));

            case BulletEffectType.SpawnBullet:
                return(new BulletTrigger_SpawnBullet(serializable, loader));

            case BulletEffectType.Detonate:
                return(new BulletTrigger_Detonate(serializable, loader));

            default:
                throw new DatabaseException("BulletTrigger: Invalid content type - " + serializable.EffectType);
            }
        }
        public BulletTriggerSerializable Serialize()
        {
            var serializable = new BulletTriggerSerializable();

            serializable.VisualEffect    = 0;
            serializable.AudioClip       = string.Empty;
            serializable.Ammunition      = 0;
            serializable.Color           = string.Empty;
            serializable.ColorMode       = 0;
            serializable.Quantity        = 0;
            serializable.Size            = 0f;
            serializable.Lifetime        = 0f;
            serializable.Cooldown        = 0f;
            serializable.RandomFactor    = 0f;
            serializable.PowerMultiplier = 0f;
            serializable.MaxNestingLevel = 0;
            _content.Save(ref serializable);
            serializable.Condition  = Condition;
            serializable.EffectType = EffectType;
            OnDataSerialized(ref serializable);
            return(serializable);
        }
Example #13
0
 public static BulletTriggerData Deserialize(BulletTriggerSerializable serializable, Database database)
 {
     return(new BulletTriggerData(serializable, database));
 }
Example #14
0
 public BulletTrigger_None(BulletTriggerSerializable serializable, Database.Loader loader)
     : base(serializable, loader)
 {
     OnDataDeserialized(serializable, loader);
 }
 partial void OnDataSerialized(ref BulletTriggerSerializable serializable);
 partial void OnDataDeserialized(BulletTriggerSerializable serializable, Database database);
Example #17
0
 partial void OnDataDeserialized(BulletTriggerSerializable serializable, Database.Loader loader);
 public void Load(BulletTriggerSerializable serializable, Database database)
 {
 }
 public void Save(ref BulletTriggerSerializable serializable)
 {
 }