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; }
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); }
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); }
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); }
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); }
public static WeaponData Deserialize(WeaponSerializable serializable, Database database) { return(new WeaponData(serializable, database)); }
partial void OnDataSerialized(ref WeaponSerializable serializable);
partial void OnDataDeserialized(WeaponSerializable serializable, Database database);
partial void OnDataDeserialized(WeaponSerializable serializable, Database.Loader loader);
private Weapon(WeaponSerializable serializable, Database.Loader loader) { Id = new ItemId <Weapon>(serializable.Id); loader.AddWeapon(serializable.Id, this); Stats = new WeaponStats(serializable, loader); }
public static Weapon Create(WeaponSerializable serializable, Database.Loader loader) { return(new Weapon(serializable, loader)); }