public ActionResult EditTemperature(int skillId, int?temperatureId)
        {
            TemperatureEditViewModel model = new TemperatureEditViewModel()
            {
                SkillId       = skillId,
                TemperatureId = temperatureId
            };

            if (temperatureId != null && temperatureId != 0)
            {
                using (AlexaSkillEntities db = new AlexaSkillEntities())
                {
                    CoreTemperature temperature = db.CoreTemperatures.FirstOrDefault(x => x.Id == temperatureId);
                    model.Name             = temperature.Name;
                    model.DefaultDegree    = temperature.DefaultDegree;
                    model.DefaultMaxDegree = temperature.DefaultMaxDegree;
                    model.DefaultMinDegree = temperature.DefaultMinDegree;
                    model.DoneDegree       = temperature.DoneDegree;
                    model.DoneMaxDegree    = temperature.DoneMaxDegree;
                    model.DoneMinDegree    = temperature.DoneMinDegree;
                    model.MediumDegree     = temperature.MediumDegree;
                    model.MediumMaxDegree  = temperature.MediumMaxDegree;
                    model.MediumMinDegree  = temperature.MediumMinDegree;
                    model.RareDegree       = temperature.RareDegree;
                    model.RareMaxDegree    = temperature.RareMaxDegree;
                    model.RareMinDegree    = temperature.RareMinDegree;
                }
            }


            return(View(model));
        }
        public ActionResult EditTemperatureCalls(int skillId, int temperatureId)
        {
            TemperatureCallViewModel model = new TemperatureCallViewModel()
            {
                SkillId       = skillId,
                TemperatureId = temperatureId
            };

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                if (temperatureId != 0)
                {
                    CoreTemperature temperature = db.CoreTemperatures.FirstOrDefault(x => x.Id == temperatureId);
                    if (temperature != null)
                    {
                        model.TemperatureName = temperature.Name;
                    }
                }
                List <Meat> meats = db.Meats.Where(x => x.CoreTemperatureId == temperatureId).ToList();

                foreach (Meat meat in meats)
                {
                    model.Calls.Add(new TemperatureCallItemViewModel()
                    {
                        Id   = meat.Id,
                        Name = meat.Name
                    });
                }
                db.SaveChanges();
            }

            return(View(model));
        }
        public void FixedUpdate()
        {
            if (HighLogic.LoadedSceneIsFlight && !vessel.HoldPhysics)
            {
                var    newTime  = Planetarium.GetUniversalTime();
                double timeSpan = 2 * (newTime - Time);
                if (Time > 0 && timeSpan > 0)
                {
                    CoreTemperatureRate = (1D - CoreTemperatureRateSmoothing) * CoreTemperatureRate +
                                          CoreTemperatureRateSmoothing * (part.temperature - CoreTemperature) / timeSpan;
                    SkinTemperatureRate = (1D - SkinTemperatureRateSmoothing) * SkinTemperatureRate +
                                          SkinTemperatureRateSmoothing * (part.skinTemperature - SkinTemperature) / timeSpan;

                    CoreTemperature = part.temperature;
                    SkinTemperature = part.skinTemperature;
                    Time            = newTime;

                    CoreTemperatureMenuLabel = Static.Settings.PartMenuTemperature
                                                ? $@"{
							CoreTemperature.ToUnsignedString(4, 0)}{
							(Static.Settings.PartMenuTemperatureLimit ? $" / {CoreTemperatureLimit.ToUnsignedString(3, 0)}" : "")} K{
							(Static.Settings.PartMenuTemperatureRate ? $" {CoreTemperatureRate.ToSignedString(3, 0)} K/s" : "")}"
                                                : null;
                    SkinTemperatureMenuLabel = Static.Settings.PartMenuTemperature
                                                ? $@"{
							SkinTemperature.ToUnsignedString(4, 0)}{
							(Static.Settings.PartMenuTemperatureLimit ? $" / {SkinTemperatureLimit.ToUnsignedString(3, 0)}" : "")} K{
							(Static.Settings.PartMenuTemperatureRate ? $" {SkinTemperatureRate.ToSignedString(3, 0)} K/s" : "")}"
                                                : null;
                }
                CoreTemperatureField.guiActive = Static.Settings.PartMenuTemperature;
                SkinTemperatureField.guiActive = Static.Settings.PartMenuTemperature;
            }
        }
Example #4
0
        public override void OnUpdate()
        {
            //Update Events
            Events["ActivateReactor"].active   = !IsEnabled && !IsNuclear;
            Events["DeactivateReactor"].active = IsEnabled && !IsNuclear;
            Events["BreedTritium"].active      = !breedtritium && IsNeutronRich && IsEnabled;
            Events["StopBreedTritium"].active  = breedtritium && IsNeutronRich && IsEnabled;
            Events["RetrofitReactor"].active   = ResearchAndDevelopment.Instance != null ? !isupgraded && ResearchAndDevelopment.Instance.Science >= upgradeCost && hasrequiredupgrade : false;
            //Update Fields
            Fields["currentTPwr"].guiActive = IsEnabled && (ongoing_thermal_power_f > 0);
            Fields["currentCPwr"].guiActive = IsEnabled && (ongoing_charged_power_f > 0);
            fuelModeStr = current_fuel_mode != null ? current_fuel_mode.ModeGUIName : "";
            //
            reactorTypeStr = isupgraded ? upgradedName != "" ? upgradedName : originalName : originalName;
            coretempStr    = CoreTemperature.ToString("0") + " K";
            if (update_count - last_draw_update > 10)
            {
                if (IsEnabled)
                {
                    if (current_fuel_mode != null && !current_fuel_mode.ReactorFuels.Any(fuel => getFuelAvailability(fuel) <= 0))
                    {
                        if (ongoing_thermal_power_f > 0)
                        {
                            currentTPwr = PluginHelper.getFormattedPowerString(ongoing_thermal_power_f) + "_th";
                        }
                        if (ongoing_charged_power_f > 0)
                        {
                            currentCPwr = PluginHelper.getFormattedPowerString(ongoing_charged_power_f) + "_cp";
                        }
                        statusStr = "Active (" + powerPcnt.ToString("0.00") + "%)";
                    }
                    else if (current_fuel_mode != null)
                    {
                        statusStr = current_fuel_mode.ReactorFuels.FirstOrDefault(fuel => getFuelAvailability(fuel) <= 0).FuelName + " Deprived";
                    }
                }
                else
                {
                    if (powerPcnt > 0)
                    {
                        statusStr = "Decay Heating (" + powerPcnt.ToString("0.00") + "%)";
                    }
                    else
                    {
                        statusStr = "Offline";
                    }
                }

                last_draw_update = update_count;
            }
            if (!vessel.isActiveVessel || part == null)
            {
                RenderingManager.RemoveFromPostDrawQueue(0, OnGUI);
            }
            update_count++;
        }
Example #5
0
 public GPUAnalysis Analyze()
 {
     return(new GPUAnalysis()
     {
         BusLoad = BusLoad.IsSensorThresholded(),
         CoreClock = CoreClock.IsSensorThresholded(),
         CoreLoad = CoreLoad.IsSensorThresholded(),
         CoreTemperature = CoreTemperature.IsSensorThresholded(),
         FanSpeed = FanSpeed.IsSensorThresholded(),
         FrameBufferLoad = FrameBufferLoad.IsSensorThresholded(),
         ShaderClock = ShaderClock.IsSensorThresholded(),
         VideoEngineLoad = VideoEngineLoad.IsSensorThresholded()
     });
 }
        public ActionResult EditTemperature(TemperatureEditViewModel model)
        {
            CoreTemperature temperature = new CoreTemperature();

            using (AlexaSkillEntities db = new AlexaSkillEntities())
            {
                if (model.TemperatureId != null && model.TemperatureId != 0)
                {
                    temperature = db.CoreTemperatures.FirstOrDefault(x => x.Id == model.TemperatureId);
                }

                if (db.CoreTemperatures.Where(x => x.Name == model.Name && x.Id != model.TemperatureId).Count() > 0)
                {
                    return(RedirectToAction("Overview", "CoreTemperature", new { skillId = model.SkillId }));
                }

                if (temperature != null)
                {
                    temperature.Name             = model.Name;
                    temperature.DefaultDegree    = model.DefaultDegree;
                    temperature.DefaultMaxDegree = model.DefaultMaxDegree;
                    temperature.DefaultMinDegree = model.DefaultMinDegree;
                    temperature.DoneDegree       = model.DoneDegree;
                    temperature.DoneMaxDegree    = model.DoneMaxDegree;
                    temperature.DoneMinDegree    = model.DoneMinDegree;
                    temperature.MediumDegree     = model.MediumDegree;
                    temperature.MediumMaxDegree  = model.MediumMaxDegree;
                    temperature.MediumMinDegree  = model.MediumMinDegree;
                    temperature.RareDegree       = model.RareDegree;
                    temperature.RareMaxDegree    = model.RareMaxDegree;
                    temperature.RareMinDegree    = model.RareMinDegree;

                    if (model.TemperatureId == null || model.TemperatureId == 0)
                    {
                        db.CoreTemperatures.Add(temperature);
                    }
                }
                db.SaveChanges();
            }
            return(RedirectToAction("Overview", "CoreTemperature", new { skillId = model.SkillId }));
        }
        public override void OnUpdate()
        {
            bool transmitter_on = has_transmitter && part_transmitter.isActive();

            Events["ActivateReceiver"].active = !receiverIsEnabled && !transmitter_on;
            Events["DisableReceiver"].active  = receiverIsEnabled;
            Fields["toteff"].guiActive        = (connectedsatsi > 0 || connectedrelaysi > 0);

            if (IsThermalSource)
            {
                coreTempererature = CoreTemperature.ToString("0.0") + " K";
                Fields["coreTempererature"].guiActive = true;
            }
            else
            {
                Fields["coreTempererature"].guiActive = false;
            }

            Fields["coreTempererature"].guiActive = IsThermalSource;

            if (receiverIsEnabled)
            {
                if (powerInput > 1000)
                {
                    beamedpower = (powerInput / 1000).ToString("0.00") + "MW";
                }
                else
                {
                    beamedpower = powerInput.ToString("0.00") + "KW";
                }
            }
            else
            {
                beamedpower = "Offline.";
            }

            connectedsats      = string.Format("{0}/{1}", connectedsatsi, MicrowaveSources.instance.transmitters.Count);
            connectedrelays    = string.Format("{0}/{1}", connectedrelaysi, MicrowaveSources.instance.relays.Count);
            networkDepthString = networkDepth.ToString();
            toteff             = (efficiency_d * 100).ToString("0.00") + "%";

            if (anim != null)
            {
                if (connectedsatsi > 0 || connectedrelaysi > 0)
                {
                    if (play_up)
                    {
                        play_down            = true;
                        play_up              = false;
                        anim[animName].speed = 1f;
                        anim.Blend(animName, 2f);
                    }
                }
                else
                {
                    if (play_down)
                    {
                        play_down = false;
                        play_up   = true;

                        if (anim[animName].normalizedTime == 0.0f)
                        {
                            anim[animName].normalizedTime = 1.0f;
                        }

                        anim[animName].speed = -1f;
                        anim.Blend(animName, 2f);
                    }
                }
            }
        }
        public override void OnStart(PartModule.StartState state)
        {
            PowerOutputBase         = PowerOutput;
            upgradedPowerOutputBase = upgradedPowerOutput;

            // Gui Fields
            Fields["partMass"].guiActiveEditor = partMass > 0;

            String[] resources_to_supply = { FNResourceManager.FNRESOURCE_THERMALPOWER, FNResourceManager.FNRESOURCE_WASTEHEAT, FNResourceManager.FNRESOURCE_CHARGED_PARTICLES };
            this.resources_to_supply = resources_to_supply;
            print("[KSP Interstellar] Configuring Reactor Fuel Modes");
            fuel_modes = getReactorFuelModes();
            setDefaultFuelMode();
            print("[KSP Interstellar] Configuration Complete");
            var rnd = new System.Random();

            windowID = rnd.Next(int.MaxValue);
            base.OnStart(state);


            if (state == StartState.Editor)
            {
                print("[KSPI] Checking for upgrade tech: " + UpgradeTechnology);

                if (this.HasTechsRequiredToUpgrade() || CanPartUpgradeAlternative())
                {
                    print("[KSPI] Found required upgradeTech, Upgrading Reactor");
                    upgradePartModule();
                }

                maximumThermalPowerFloat = MaximumThermalPower;
                reactorTypeStr           = isupgraded ? upgradedName != "" ? upgradedName : originalName : originalName;
                coretempStr = CoreTemperature.ToString("0") + " K";

                return;
            }

            if (this.HasTechsRequiredToUpgrade() || CanPartUpgradeAlternative())
            {
                hasrequiredupgrade = true;
            }

            if (!reactorInit && startDisabled)
            {
                last_active_time = (float)(Planetarium.GetUniversalTime() - 4.0 * GameConstants.EARH_DAY_SECONDS);
                IsEnabled        = false;
                startDisabled    = false;
                reactorInit      = true;
            }
            else if (!reactorInit)
            {
                IsEnabled   = true;
                reactorInit = true;
            }
            print("[KSP Interstellar] Reactor Persistent Resource Update");
            if (IsEnabled && last_active_time > 0)
            {
                doPersistentResourceUpdate();
            }

            this.part.force_activate();
            //RenderingManager.AddToPostDrawQueue(0, OnGUI);
            print("[KSP Interstellar] Configuring Reactor");

            maximumThermalPowerFloat = MaximumThermalPower;
        }