/// <summary> /// Deserialization constructor. /// </summary> /// <param name="category"></param> /// <param name="serial"></param> internal EveProperty(EvePropertyCategory category, SerializableProperty serial) { ID = serial.ID; Name = serial.Name; Description = serial.Description; DefaultValue = serial.DefaultValue; Icon = serial.Icon; Unit = serial.Unit; UnitID = serial.UnitID; HigherIsBetter = serial.HigherIsBetter; Category = category; switch (serial.ID) { case DBConstants.CPUNeedPropertyID: CPU = this; break; case DBConstants.PGNeedPropertyID: Powergrid = this; break; } }
/// <summary> /// Deserialization constructor /// </summary> /// <param name="owner"></param> /// <param name="serial"></param> internal EveProperty(EvePropertyCategory owner, SerializableProperty serial) { m_owner = owner; m_id = serial.ID; m_icon = serial.Icon; m_unit = serial.Unit; m_unitID = serial.UnitID; m_description = serial.Description; m_defaultValue = serial.DefaultValue; m_higherIsBetter = serial.HigherIsBetter; m_name = serial.Name; switch (m_id) { case DBConstants.CPUNeedPropertyID: s_cpuProperty = this; break; case DBConstants.PGNeedPropertyID: s_powergridProperty = this; break; } }
/// <summary> /// Initialize static properties /// </summary> internal static void Load() { PropertiesDatafile datafile = Util.DeserializeDatafile<PropertiesDatafile>(DatafileConstants.PropertiesDatafile); // Fetch deserialized data foreach (var srcCategory in datafile.Categories) { var category = new EvePropertyCategory(srcCategory); m_categoriesByName[category.Name] = category; // Store skills foreach (var property in category) { m_propertiesByID[property.ID] = property; m_propertiesByName[property.Name] = property; } } // Visibility in ships browser m_propertiesByName["Base Price"].AlwaysVisibleForShips = true; m_propertiesByID[48].AlwaysVisibleForShips = true; // CPU m_propertiesByID[11].AlwaysVisibleForShips = true; // Powergrid m_propertiesByID[1132].AlwaysVisibleForShips = true; // Calibration m_propertiesByID[14].AlwaysVisibleForShips = true; // High Slots m_propertiesByID[13].AlwaysVisibleForShips = true; // Med Slots m_propertiesByID[12].AlwaysVisibleForShips = true; // Low Slots m_propertiesByID[283].AlwaysVisibleForShips = true; // Drone Capacity m_propertiesByID[1271].AlwaysVisibleForShips = true; // Drone Bandwidth m_propertiesByID[38].AlwaysVisibleForShips = true; // Cargo Capacity m_propertiesByID[4].AlwaysVisibleForShips = true; // Mass m_propertiesByID[161].AlwaysVisibleForShips = true; // Volume m_propertiesByID[482].AlwaysVisibleForShips = true; // Capacitor Capacity m_propertiesByID[55].AlwaysVisibleForShips = true; // Recharge time m_propertiesByID[76].AlwaysVisibleForShips = true; // Maximum Targeting Range m_propertiesByID[564].AlwaysVisibleForShips = true; // Scan Resolution m_propertiesByID[552].AlwaysVisibleForShips = true; // Signature Radius m_propertiesByID[37].AlwaysVisibleForShips = true; // Max Velocity m_propertiesByID[1281].AlwaysVisibleForShips = true; // Ship Warp Speed m_propertiesByID[9].AlwaysVisibleForShips = true; // Structure HP m_propertiesByID[263].AlwaysVisibleForShips = true; // Shield HP m_propertiesByID[265].AlwaysVisibleForShips = true; // Armor HP m_propertiesByID[479].AlwaysVisibleForShips = true; // Shield recharge time m_propertiesByID[271].AlwaysVisibleForShips = true; // Shield EM resistances m_propertiesByID[272].AlwaysVisibleForShips = true; // Shield Exp resistances m_propertiesByID[273].AlwaysVisibleForShips = true; // Shield Kin resistances m_propertiesByID[274].AlwaysVisibleForShips = true; // Shield Therm resistances m_propertiesByID[267].AlwaysVisibleForShips = true; // Armor EM resistances m_propertiesByID[268].AlwaysVisibleForShips = true; // Armor Exp resistances m_propertiesByID[269].AlwaysVisibleForShips = true; // Armor Kin resistances m_propertiesByID[270].AlwaysVisibleForShips = true; // Armor Therm resistances // Hide if default m_propertiesByID[101].HideIfDefault = true; // Launcher hardpoints m_propertiesByID[102].HideIfDefault = true; // Turret hardpoints m_propertiesByID[208].HideIfDefault = true; // RADAR Sensor Strength m_propertiesByID[209].HideIfDefault = true; // LADAR Sensor Strength m_propertiesByID[210].HideIfDefault = true; // Magnetometric Sensor Strength m_propertiesByID[211].HideIfDefault = true; // Gravimetric Sensor Strength m_propertiesByID[974].HideIfDefault = true; // Hull EM resistances m_propertiesByID[975].HideIfDefault = true; // Hull Exp resistances m_propertiesByID[976].HideIfDefault = true; // Hull Kin resistances m_propertiesByID[977].HideIfDefault = true; // Hull Therm resistances m_propertiesByID[114].HideIfDefault = true; // EM damage m_propertiesByID[116].HideIfDefault = true; // Explosive damage m_propertiesByID[117].HideIfDefault = true; // Kinetic damage m_propertiesByID[118].HideIfDefault = true; // Thermal damage m_propertiesByID[175].HideIfDefault = true; // Charisma Modifier m_propertiesByID[176].HideIfDefault = true; // Intelligence Modifier m_propertiesByID[177].HideIfDefault = true; // Memory Modifier m_propertiesByID[178].HideIfDefault = true; // Perception Modifier m_propertiesByID[179].HideIfDefault = true; // Willpower Modifier m_propertiesByID[633].HideIfDefault = true; // Meta Level }