示例#1
0
        public static void DeleteObject(ThermalPlant dataObject)
        {
            string query = string.Format("DELETE FROM {0} " +
                                         "WHERE Id = {1}", table, dataObject.Id);

            DataBaseManager.ExecuteQuery(query);
        }
示例#2
0
        public static bool Prefix(ThermalPlant __instance)
        {
            var TPColor     = __instance.GetAllComponentsInChildren <MeshRenderer>();
            var TPheadColor = __instance.GetAllComponentsInChildren <MeshRenderer>();



            foreach (var thermalcolor in TPColor)
            {
                if (thermalcolor.name.Contains("Thermal_reactor_body"))
                {
                    thermalcolor.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1);
                }
            }
            foreach (var thermalhcolor in TPheadColor)
            {
                if (thermalhcolor.name.Contains("Thermal_reactor_head"))
                {
                    thermalhcolor.material.color = new Color32(Convert.ToByte(Config.fabricatorValue), Convert.ToByte(Config.fabricatorgValue), Convert.ToByte(Config.fabricatorbValue), 1);
                }
            }



            return(true);
        }
 public static bool Prefix(ThermalPlant __instance)
 {
     if (__instance.constructable.constructed && __instance.temperature > 25f)
     {
         float dayNightSpeed = 2f * DayNightCycle.main.dayNightSpeed;
         float producedPower = 1.6500001f * dayNightSpeed * Mathf.Clamp01(Mathf.InverseLerp(25f, 100f, __instance.temperature));
         float storedPower   = 0f;
         if (!__instance.powerSource.AddEnergy(producedPower, out storedPower))
         {
             float excessPower      = (producedPower - storedPower) * DW_Tweaks_Settings.Instance.RenewablePowerPushExcess;
             float transferredPower = 0;
             if (__instance.powerSource.connectedRelay != null)
             {
                 if (!__instance.powerSource.connectedRelay.AddEnergy(excessPower, out transferredPower))
                 {
                     __instance.GetComponent <PowerRelay>().GetEndpoint().AddEnergy(excessPower - transferredPower, out transferredPower);
                 }
             }
             else
             {
                 __instance.GetComponent <PowerRelay>().GetEndpoint().AddEnergy(excessPower, out transferredPower);
             }
         }
     }
     return(false);
 }
示例#4
0
 /* Constructor needed to add rows in the RadGridView control */
 public ThermalPlantViewModel()
 {
     plant       = new ThermalPlant();
     Case        = 1;
     Company     = "";
     Fuel        = "";
     Subarea     = "";
     StartPeriod = 1;
 }
 public static void Postfix(ThermalPlant __instance)
 {
     if (Main.FahrenheitEnabled)
     {
         int fahrenheit = Mathf.CeilToInt(__instance.temperature * 1.8f + 32);
         __instance.temperatureText.text = $"{IntStringCache.GetStringForInt(fahrenheit)}\u00b0F";
     }
     else
     {
         __instance.temperatureText.text = $"{IntStringCache.GetStringForInt(Mathf.CeilToInt(__instance.temperature))}\u00b0C";
     }
 }
示例#6
0
 internal static void Postfix(ThermalPlant __instance)
 {
     __instance.powerSource.maxPower = Mathf.Max(maxPower, 0);
 }
示例#7
0
        internal static void Postfix(ThermalPlant __instance)
        {
            float powerDelta = __instance.powerSource.power - powerLevel;

            __instance.powerSource.SetPower(powerLevel + powerDelta * powerModifier);
        }
示例#8
0
 internal static void Prefix(ThermalPlant __instance)
 {
     powerLevel = __instance.powerSource.power;
 }
示例#9
0
        public static void Postfix(ThermalPlant __instance)
        {
            int fahrenheit = Mathf.CeilToInt(__instance.temperature * 1.8f + 32);

            __instance.temperatureText.text = IntStringCache.GetStringForInt(fahrenheit);
        }
示例#10
0
 public ThermalPlantPowerSourceInfo(PowerSource source) : base(source, TechType.ThermalPlant)
 {
     plant = source.gameObject.GetComponent <ThermalPlant>();
 }
示例#11
0
        public static int UpdateObject(ThermalPlant dataObject)
        {
            bool   isNew = false;
            string query = string.Format("SELECT nombre " +
                                         "FROM {0} " +
                                         "WHERE Id = {1}", table, dataObject.Id);

            OleDbDataReader reader = DataBaseManager.ReadData(query);

            if (!reader.Read())
            {
                query = string.Format("INSERT INTO {0}(nombre, Combustible, FactorDisponibilidad, FactorConsumoPromedio, Minimo, Maximo, CostoVariable, FactorConsumoVariable, Obligatorio, empresa, EtapaEntrada, Escenario, Subarea) " +
                                      "VALUES(@Name, @Fuel, @AvailabilityFactor, @ProductionFactor, @Min, @Max, @VariableCost, @VariableProductionFactor, @Mandatory, @Company, @StartPeriod, @Case, @Subarea)", table);
                isNew = true;
            }
            else
            {
                query = string.Format("UPDATE {0} SET " +
                                      "nombre = @Name, " +
                                      "Combustible = @Fuel, " +
                                      "FactorDisponibilidad = @AvailabilityFactor, " +
                                      "FactorConsumoPromedio = @ProductionFactor, " +
                                      "Minimo = @Min, " +
                                      "Maximo = @Max, " +
                                      "CostoVariable = @VariableCost, " +
                                      "FactorConsumoVariable = @VariableProductionFactor, " +
                                      "Obligatorio = @Mandatory, " +
                                      "empresa = @Company, " +
                                      "EtapaEntrada = @StartPeriod, " +
                                      "escenario = @Case, " +
                                      "Subarea = @Subarea " +
                                      "WHERE Id = @Id", table);
            }
            DataBaseManager.DbConnection.Close();

            using (OleDbCommand command = new OleDbCommand(query, DataBaseManager.DbConnection))
            {
                command.Parameters.Add("@Name", OleDbType.VarChar);
                command.Parameters.Add("@Fuel", OleDbType.VarChar);
                command.Parameters.Add("@AvailabilityFactor", OleDbType.Numeric);
                command.Parameters.Add("@ProductionFactor", OleDbType.Numeric);
                command.Parameters.Add("@Min", OleDbType.Numeric);
                command.Parameters.Add("@Max", OleDbType.Numeric);
                command.Parameters.Add("@VariableCost", OleDbType.Numeric);
                command.Parameters.Add("@VariableProductionFactor", OleDbType.Numeric);
                command.Parameters.Add("@Mandatory", OleDbType.Numeric);
                command.Parameters.Add("@Company", OleDbType.VarChar);
                command.Parameters.Add("@StartPeriod", OleDbType.Numeric);
                command.Parameters.Add("@Case", OleDbType.Numeric);
                command.Parameters.Add("@Subarea", OleDbType.VarChar);
                command.Parameters.Add("@Id", OleDbType.Numeric);

                DataBaseManager.DbConnection.Open();

                command.Parameters["@Name"].Value = dataObject.Name;
                command.Parameters["@Fuel"].Value = dataObject.Fuel;
                command.Parameters["@AvailabilityFactor"].Value = dataObject.AvailabilityFactor;
                command.Parameters["@ProductionFactor"].Value   = dataObject.ProductionFactor;
                command.Parameters["@Min"].Value                      = dataObject.Min;
                command.Parameters["@Max"].Value                      = dataObject.Max;
                command.Parameters["@VariableCost"].Value             = dataObject.VariableCost;
                command.Parameters["@VariableProductionFactor"].Value = dataObject.HasVariableProductionFactor;
                command.Parameters["@Mandatory"].Value                = dataObject.IsMandatory;
                command.Parameters["@Company"].Value                  = dataObject.Company;
                command.Parameters["@StartPeriod"].Value              = dataObject.StartPeriod;
                command.Parameters["@Case"].Value                     = dataObject.Case;
                command.Parameters["@Subarea"].Value                  = dataObject.Subarea;
                command.Parameters["@Id"].Value = dataObject.Id;

                try
                {
                    int rowsAffected = command.ExecuteNonQuery();
                }
                catch
                {
                    DataBaseManager.DbConnection.Close();
                    throw;
                }
                DataBaseManager.DbConnection.Close();
            }

            if (isNew)
            {
                int id;
                query  = string.Format("SELECT Max(Id) FROM {0}", table);
                reader = DataBaseManager.ReadData(query);
                reader.Read();
                id = Convert.ToInt32(reader.GetValue(0));
                DataBaseManager.DbConnection.Close();
                return(id);
            }
            else
            {
                return(-1);
            }
        }
示例#12
0
 public ThermalPlantViewModel(ThermalPlant plant)
 {
     this.plant = plant;
 }