public static bool IsCrossAssemblyExcluded(this MechDef d) { if (!Settings.UseOnlyCCAssemblyOptions) { if (Settings.CrossAssemblyExcludedMechs.Contains(d.Description.Id)) { return(true); } if (d.Chassis.ChassisTags.Contains("chassis_ExcludeCrossAssembly")) { return(true); } } if (d.IsVehicle()) { VehicleChassisDef vd = d.Chassis.GetVehicleChassisDefFromFakeVehicle(); if (vd == null) { return(false); } IVAssemblyVariant vv = CCIntegration.GetCCVehicleAssemblyVariant(vd); if (vv == null) { return(false); } return(vv.Exclude); } IAssemblyVariant v = CCIntegration.GetCCAssemblyVariant(d.Chassis); if (v != null) { return(v.Exclude); } return(false); }
public static string getOriginal(this VehicleChassisDef def) { if (originals.TryGetValue(def.GetType(), out Dictionary <string, string> origs) == false) { return(def.ToJSON()); } if (origs.TryGetValue(def.Description.Id, out string result) == false) { return(def.ToJSON()); } return(result); }
public static string GetVariant(this ChassisDef d) { if (d.IsVehicle()) { VehicleChassisDef vd = d.GetVehicleChassisDefFromFakeVehicle(); if (vd == null) { return(d.Description.Id); } IVAssemblyVariant iVAssemblyVariant = GetCCVehicleAssemblyVariant(vd); //FileLog.Log($"vehicle {d.Description.Id} -> {iVAssemblyVariant?.PrefabID ?? d.Description.Id} null:{iVAssemblyVariant==null}"); return(iVAssemblyVariant?.PrefabID ?? d.Description.Id); } return(GetCCAssemblyVariant(d)?.PrefabID ?? d.Description.UIName); }
public static void setOriginal(this VehicleChassisDef def, string json) { if (originals.TryGetValue(def.GetType(), out Dictionary <string, string> origs) == false) { origs = new Dictionary <string, string>(); originals.Add(def.GetType(), origs); } if (origs.ContainsKey(def.Description.Id)) { origs[def.Description.Id] = json; } else { origs.Add(def.Description.Id, json); } }
public static bool Is <T>(this VehicleChassisDef target) { return(Database.Is <T>(target)); }
public static bool Is <T>(this VehicleChassisDef target, out T res) { return(Database.Is(target, out res)); }
public static IEnumerable <T> GetComponents <T>(this VehicleChassisDef target) { return(Database.GetCustoms <T>(target)); }
public static T GetComponent <T>(this VehicleChassisDef target) { return(Database.GetCustom <T>(target)); }