public TechnologySerializable Serialize() { var serializable = new TechnologySerializable(); serializable.Ship = Ship.Id; return(serializable); }
public static TechnologyData Deserialize(TechnologySerializable serializable, Database database) { var data = new TechnologyData(serializable, database); data.CreateContent(serializable, database); return(data); }
public TechnologySerializable Serialize() { var serializable = new TechnologySerializable(); serializable.Component = Component.Id; serializable.Faction = Faction.Id; return(serializable); }
public Content_Ship(TechnologySerializable serializable, Database database) { if (serializable == null || database == null) { return; } Ship = database.GetShipId(serializable.Ship); }
public TechnologySerializable Serialize() { var serializable = new TechnologySerializable(); serializable.Satellite = Satellite.Id; serializable.Faction = Faction.Id; return(serializable); }
public Content_Satellite(TechnologySerializable serializable, Database database) { if (serializable == null || database == null) { return; } Satellite = database.GetSatelliteId(serializable.Satellite); Faction = database.GetFactionId(serializable.Faction); }
public Content_Component(TechnologySerializable serializable, Database database) { if (serializable == null || database == null) { return; } Component = database.GetComponentId(serializable.Component); Faction = database.GetFactionId(serializable.Faction); }
public void Load(TechnologySerializable serializable, Database database) { Ship = database.GetShipId(serializable.ItemId); if (Ship.IsNull) { throw new DatabaseException(this.GetType().Name + ".Ship cannot be null"); } OnDataDeserialized(serializable, database); }
private TechnologyData(TechnologySerializable serializable, Database database) { ItemId = new ItemId <TechnologyData>(serializable.Id, serializable.FileName); Type = serializable.Type; Price = new NumericValue <int>(serializable.Price, 0, 1000); Hidden = serializable.Hidden; Special = serializable.Special; Dependencies = serializable.Dependencies?.Select(item => new Wrapper <TechnologyData> { Item = database.GetTechnologyId(item) }).ToArray(); }
public Technology_Ship(TechnologySerializable serializable, Database.Loader loader) : base(serializable, loader) { Ship = loader.GetShip(new ItemId <Ship>(serializable.ItemId)); if (Ship == null) { throw new DatabaseException(this.GetType().Name + ".Ship cannot be null - " + serializable.ItemId); } OnDataDeserialized(serializable, loader); }
public void Load(TechnologySerializable serializable, Database database) { Component = database.GetComponentId(serializable.ItemId); if (Component.IsNull) { throw new DatabaseException(this.GetType().Name + ".Component cannot be null"); } Faction = database.GetFactionId(serializable.Faction); OnDataDeserialized(serializable, database); }
public void Load(TechnologySerializable serializable, Database database) { Satellite = database.GetSatelliteId(serializable.ItemId); if (Satellite.IsNull) { throw new DatabaseException(this.GetType().Name + ".Satellite cannot be null"); } Faction = database.GetFactionId(serializable.Faction); OnDataDeserialized(serializable, database); }
public Technology_Satellite(TechnologySerializable serializable, Database.Loader loader) : base(serializable, loader) { Satellite = loader.GetSatellite(new ItemId <Satellite>(serializable.ItemId)); if (Satellite == null) { throw new DatabaseException(this.GetType().Name + ".Satellite cannot be null - " + serializable.ItemId); } Faction = loader.GetFaction(new ItemId <Faction>(serializable.Faction)); OnDataDeserialized(serializable, loader); }
public Technology_Component(TechnologySerializable serializable, Database.Loader loader) : base(serializable, loader) { Component = loader.GetComponent(new ItemId <Component>(serializable.ItemId)); if (Component == null) { throw new DatabaseException(this.GetType().Name + ".Component cannot be null - " + serializable.ItemId); } Faction = loader.GetFaction(new ItemId <Faction>(serializable.Faction)); OnDataDeserialized(serializable, loader); }
protected Technology(TechnologySerializable serializable, Database.Loader loader) { Id = new ItemId <Technology>(serializable.Id); loader.AddTechnology(serializable.Id, this); Type = serializable.Type; Price = UnityEngine.Mathf.Clamp(serializable.Price, 0, 10000); Hidden = serializable.Hidden; Special = serializable.Special; Dependencies = new ImmutableCollection <Technology>(serializable.Dependencies?.Select(item => loader.GetTechnology(new ItemId <Technology>(item), true))); OnDataDeserialized(serializable, loader); }
public Technology(TechnologySerializable serializable, Database database) { Id = new ItemId <Technology>(serializable); Type = serializable.Type; Price = new NumericValue <int>(serializable.Price, 0, 10000); Hidden = serializable.Hidden; Special = serializable.Special; Dependencies = serializable.Dependencies?.Select(id => new Wrapper <Technology> { Item = database.GetTechnologyId(id) }).ToArray(); _content = CreateContent(serializable.Type); _content.Load(serializable, database); OnDataDeserialized(serializable, database); }
public static Technology Create(TechnologySerializable serializable, Database.Loader loader) { switch (serializable.Type) { case TechType.Component: return(new Technology_Component(serializable, loader)); case TechType.Ship: return(new Technology_Ship(serializable, loader)); case TechType.Satellite: return(new Technology_Satellite(serializable, loader)); default: throw new DatabaseException("Technology: Invalid content type - " + serializable.Type); } }
private void CreateContent(TechnologySerializable serializable, Database database) { if (serializable.Type == TechType.Component) { Content = new Content_Component(serializable, database); } else if (serializable.Type == TechType.Satellite) { Content = new Content_Satellite(serializable, database); } else if (serializable.Type == TechType.Ship) { Content = new Content_Ship(serializable, database); } else { Content = new Content_Empty(); } }
public void Save(TechnologySerializable serializable) { serializable.ItemId = 0; serializable.ItemId = 0; serializable.ItemId = 0; serializable.Faction = 0; _content.Save(ref serializable); serializable.Type = Type; serializable.Price = Price.Value; serializable.Hidden = Hidden; serializable.Special = Special; if (Dependencies == null || Dependencies.Length == 0) { serializable.Dependencies = null; } else { serializable.Dependencies = Dependencies.Select(wrapper => wrapper.Item.Value).ToArray(); } OnDataSerialized(ref serializable); }
partial void OnDataSerialized(ref TechnologySerializable serializable);
partial void OnDataDeserialized(TechnologySerializable serializable, Database database);
public void Save(ref TechnologySerializable serializable) { serializable.ItemId = Satellite.Value; serializable.Faction = Faction.Value; OnDataSerialized(ref serializable); }
public void Save(ref TechnologySerializable serializable) { serializable.ItemId = Ship.Value; OnDataSerialized(ref serializable); }
public void Save(ref TechnologySerializable serializable) { }
public void Load(TechnologySerializable serializable, Database database) { }
partial void OnDataDeserialized(TechnologySerializable serializable, Database.Loader loader);