Various improvements, oops.
This commit is contained in:
125
ui/rocket.ks
125
ui/rocket.ks
@ -1,4 +1,13 @@
|
||||
runoncepath("/lib/navigation").
|
||||
|
||||
function launchButtonPressed {
|
||||
// adjust torque settings here...
|
||||
local oldEpsilon is STEERINGMANAGER:TORQUEEPSILONMAX.
|
||||
set STEERINGMANAGER:TORQUEEPSILONMAX to maxEpsilon:TEXT:ToNumber().
|
||||
|
||||
local oldStopTime is STEERINGMANAGER:MAXSTOPPINGTIME.
|
||||
set STEERINGMANAGER:MAXSTOPPINGTIME to maxStopTime:TEXT:ToNumber().
|
||||
|
||||
run "launch"(
|
||||
targetApo:TEXT:ToNumber(),
|
||||
gravTurnStart:TEXT:ToNumber(),
|
||||
@ -6,67 +15,99 @@ function launchButtonPressed {
|
||||
initialPitch:TEXT:ToNumber(),
|
||||
minimumPitch:TEXT:ToNumber()
|
||||
).
|
||||
|
||||
set STEERINGMANAGER:TORQUEEPSILONMAX to oldEpsilon.
|
||||
set STEERINGMANAGER:MAXSTOPPINGTIME to oldStopTime..
|
||||
}
|
||||
|
||||
function nodeButtonPressed {
|
||||
function executeNode {
|
||||
run "execnode".
|
||||
}
|
||||
|
||||
local termOn is false.
|
||||
function terminalButtonPressed {
|
||||
if termOn {
|
||||
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Close Terminal").
|
||||
set termOn to false.
|
||||
} else {
|
||||
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Open Terminal").
|
||||
set termOn to true.
|
||||
}
|
||||
function showLaunchMenu {
|
||||
stk:ShowOnly(launchMenu).
|
||||
}
|
||||
|
||||
// Main UI.
|
||||
local interface is gui(200).
|
||||
local interface is gui(250, 300).
|
||||
set interface:X to 200.
|
||||
set interface:Y to 800.
|
||||
set interface:Y to 700.
|
||||
|
||||
// Launch button
|
||||
local hBox is interface:AddHBox().
|
||||
hBox:AddLabel("Initial Pitch").
|
||||
local initialPitch is hBox:AddTextField("85").
|
||||
// Main menu elements in here.
|
||||
local box is interface:AddVBox().
|
||||
|
||||
local hBox is interface:AddHBox().
|
||||
hBox:AddLabel("Minimum Pitch").
|
||||
local minimumPitch is hBox:AddTextField("5").
|
||||
local btn is box:AddButton("TERM").
|
||||
set btn:TOGGLE to true.
|
||||
set btn:ONTOGGLE to {
|
||||
parameter activate.
|
||||
|
||||
local hBox is interface:AddHBox().
|
||||
hBox:AddLabel("Gravity Turn @").
|
||||
local gravTurnStart is hBox:AddTextField("8000").
|
||||
if activate {
|
||||
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Open Terminal").
|
||||
} else {
|
||||
CORE:PART:GETMODULE("kOSProcessor"):DOEVENT("Close Terminal").
|
||||
}
|
||||
}.
|
||||
|
||||
local hBox is interface:AddHBox().
|
||||
hBox:AddLabel("Gravity Pitch").
|
||||
local gravPitch is hBox:AddTextField("75").
|
||||
set btn to box:AddButton("LAUNCH").
|
||||
set btn:onClick to showLaunchMenu@.
|
||||
|
||||
local hBox is interface:AddHBox().
|
||||
hBox:AddLabel("Target Apoapsis").
|
||||
local targetApo is hBox:AddTextField("80000").
|
||||
set btn to box:AddButton("CIRC").
|
||||
set btn:onClick to { add CreateCircularizationNode(). }.
|
||||
|
||||
local launchButton is interface:AddButton("Launch").
|
||||
set launchButton:onClick to launchButtonPressed@.
|
||||
set btn to box:AddButton("EXECNODE").
|
||||
set btn:onClick to executeNode@.
|
||||
|
||||
local nodeButton is interface:AddButton("Execute Node").
|
||||
set nodeButton:onClick to nodeButtonPressed@.
|
||||
local stk is interface:AddStack().
|
||||
|
||||
local termButton is interface:AddButton("Terminal").
|
||||
set termButton:onClick to terminalButtonPressed@.
|
||||
// Launch menu
|
||||
local launchMenu is stk:AddVLayout().
|
||||
|
||||
// debug
|
||||
function circButtonPressed {
|
||||
runpath("/lib/navigation").
|
||||
add CreateCircularizationNode().
|
||||
}
|
||||
local cButton is interface:AddButton("Circularize").
|
||||
set cButton:onClick to circButtonPressed@.
|
||||
// end debug
|
||||
set btn to launchMenu:AddButton("Execute").
|
||||
set btn:onClick to launchButtonPressed@.
|
||||
|
||||
local launchConfig is box:AddScrollBox().
|
||||
// set launchConfig:STYLE:WIDTH to 300.
|
||||
// set launchConfig:STYLE:HEIGHT to 800.
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Target Apoapsis").
|
||||
local targetApo is sbox:AddTextField("80000").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Atmo TWR").
|
||||
local targetTWR is sbox:AddTextField("1.6").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Initial Pitch").
|
||||
local initialPitch is sBox:AddTextField("85").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Minimum Pitch").
|
||||
local minimumPitch is sbox:AddTextField("5").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Gravity Turn Alt").
|
||||
local gravTurnStart is sbox:AddTextField("8000").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Gravity Turn Pitch").
|
||||
local gravPitch is sbox:AddTextField("75").
|
||||
|
||||
launchConfig:AddSpacing(5).
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Torque Epsilon Max").
|
||||
local maxEpsilon is sbox:AddTextField("0.001").
|
||||
|
||||
set sbox to launchConfig:AddHBox().
|
||||
sbox:AddLabel("Max Stopping Time").
|
||||
local maxStopTime is sbox:AddTextField("2.0").
|
||||
|
||||
// End Launch Menu
|
||||
|
||||
interface:show().
|
||||
|
||||
|
||||
|
||||
|
||||
wait until false.
|
||||
|
Reference in New Issue
Block a user