private void InitializeSuffixes()
{
AddSuffix(new[] {"DELTAV", "BURNVECTOR"}, new Suffix<Vector>(GetBurnVector));
AddSuffix("ETA", new SetSuffix<ScalarValue>(
() =>
{
FromNodeRef();
return time - Planetarium.GetUniversalTime();
},
value =>
{
time = value + Planetarium.GetUniversalTime();
ToNodeRef();
}
));
AddSuffix("PROGRADE", new SetSuffix<ScalarValue>(
() =>
{
FromNodeRef();
return prograde;
},
value =>
{
prograde = value;
ToNodeRef();
}
));
AddSuffix("RADIALOUT", new SetSuffix<ScalarValue>(
() =>
{
FromNodeRef();
return radialOut;
},
value => {
radialOut = value;
ToNodeRef();
}
));
AddSuffix("NORMAL", new SetSuffix<ScalarValue>(
() =>
{
FromNodeRef();
return normal;
},
value => {
normal = value;
ToNodeRef();
}
));
AddSuffix(new[] {"OBT", "ORBIT"}, new Suffix<OrbitInfo>(() =>
{
if (nodeRef == null) throw new Exception("Node must be added to flight plan first");
return new OrbitInfo(nodeRef.nextPatch, shared);
}));
}