Exemplo n.º 1
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;
 }
Exemplo n.º 2
0
 public void Save(WeaponSerializable serializable)
 {
     serializable.WeaponClass       = WeaponClass;
     serializable.FireRate          = FireRate.Value;
     serializable.Spread            = Spread.Value;
     serializable.Magazine          = Magazine.Value;
     serializable.ActivationType    = ActivationType;
     serializable.ShotSound         = ShotSound;
     serializable.ChargeSound       = ChargeSound;
     serializable.ShotEffectPrefab  = ShotEffectPrefab;
     serializable.ControlButtonIcon = ControlButtonIcon;
     OnDataSerialized(ref serializable);
 }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        public Weapon(WeaponSerializable serializable, Database database)
        {
            Id                = new ItemId <Weapon>(serializable.Id, serializable.FileName);
            WeaponClass       = serializable.WeaponClass;
            FireRate          = new NumericValue <float>(serializable.FireRate, 0f, 100f);
            Spread            = new NumericValue <float>(serializable.Spread, 0f, 360f);
            Magazine          = new NumericValue <int>(serializable.Magazine, 0, 999999999);
            ActivationType    = serializable.ActivationType;
            ShotSound         = serializable.ShotSound;
            ChargeSound       = serializable.ChargeSound;
            ShotEffectPrefab  = serializable.ShotEffectPrefab;
            ControlButtonIcon = serializable.ControlButtonIcon;

            OnDataDeserialized(serializable, database);
        }
Exemplo n.º 5
0
        public WeaponSerializable Serialize()
        {
            var serializable = new WeaponSerializable();

            serializable.Id                = ItemId.Id;
            serializable.FileName          = ItemId.Name;
            serializable.ItemType          = (int)ItemType.Weapon;
            serializable.WeaponClass       = WeaponClass;
            serializable.FireRate          = FireRate.Value;
            serializable.Spread            = Spread.Value;
            serializable.Magazine          = Magazine.Value;
            serializable.ActivationType    = ActivationType;
            serializable.ShotSound         = ShotSound.ToString();
            serializable.ChargeSound       = ChargeSound.ToString();
            serializable.ShotEffectPrefab  = ShotEffectPrefab;
            serializable.ControlButtonIcon = ControlButtonIcon;
            return(serializable);
        }
Exemplo n.º 6
0
 public static WeaponData Deserialize(WeaponSerializable serializable, Database database)
 {
     return(new WeaponData(serializable, database));
 }
Exemplo n.º 7
0
 partial void OnDataSerialized(ref WeaponSerializable serializable);
Exemplo n.º 8
0
 partial void OnDataDeserialized(WeaponSerializable serializable, Database database);
Exemplo n.º 9
0
 partial void OnDataDeserialized(WeaponSerializable serializable, Database.Loader loader);
Exemplo n.º 10
0
 private Weapon(WeaponSerializable serializable, Database.Loader loader)
 {
     Id = new ItemId <Weapon>(serializable.Id);
     loader.AddWeapon(serializable.Id, this);
     Stats = new WeaponStats(serializable, loader);
 }
Exemplo n.º 11
0
 public static Weapon Create(WeaponSerializable serializable, Database.Loader loader)
 {
     return(new Weapon(serializable, loader));
 }