public void Save(DroneBaySerializable serializable) { serializable.EnergyConsumption = EnergyConsumption.Value; serializable.PassiveEnergyConsumption = PassiveEnergyConsumption.Value; serializable.Range = Range.Value; serializable.DamageMultiplier = DamageMultiplier.Value; serializable.DefenseMultiplier = DefenseMultiplier.Value; serializable.SpeedMultiplier = SpeedMultiplier.Value; serializable.ImprovedAi = ImprovedAi; serializable.Capacity = Capacity.Value; serializable.ActivationType = ActivationType; serializable.LaunchSound = LaunchSound; serializable.LaunchEffectPrefab = LaunchEffectPrefab; serializable.ControlButtonIcon = ControlButtonIcon; OnDataSerialized(ref serializable); }
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; }
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); }
public DroneBaySerializable Serialize() { var serializable = new DroneBaySerializable(); serializable.Id = ItemId.Id; serializable.FileName = ItemId.Name; serializable.ItemType = (int)ItemType.DroneBay; serializable.EnergyConsumption = EnergyConsumption.Value; serializable.PassiveEnergyConsumption = PassiveEnergyConsumption.Value; serializable.Range = Range.Value; serializable.DamageMultiplier = DamageMultiplier.Value; serializable.DefenseMultiplier = DefenseMultiplier.Value; serializable.SpeedMultiplier = SpeedMultiplier.Value; serializable.ImprovedAi = ImprovedAi; serializable.Capacity = Capacity.Value; serializable.ActivationType = ActivationType; serializable.LaunchSound = LaunchSound.ToString(); serializable.LaunchEffectPrefab = LaunchEffectPrefab; serializable.ControlButtonIcon = ControlButtonIcon; return(serializable); }
partial void OnDataSerialized(ref DroneBaySerializable serializable);
partial void OnDataDeserialized(DroneBaySerializable serializable, Database database);
public static DroneBayData Deserialize(DroneBaySerializable serializable, Database database) { return(new DroneBayData(serializable, database)); }
partial void OnDataDeserialized(DroneBaySerializable serializable, Database.Loader loader);
private DroneBay(DroneBaySerializable serializable, Database.Loader loader) { Id = new ItemId <DroneBay>(serializable.Id); loader.AddDroneBay(serializable.Id, this); Stats = new DroneBayStats(serializable, loader); }
public static DroneBay Create(DroneBaySerializable serializable, Database.Loader loader) { return(new DroneBay(serializable, loader)); }