/
MechJebModuleSolarPanelController.cs
50 lines (44 loc) · 1.67 KB
/
MechJebModuleSolarPanelController.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using JetBrains.Annotations;
using KSP.Localization;
using UnityEngine;
namespace MuMech
{
[UsedImplicitly]
public class MechJebModuleSolarPanelController : MechJebModuleDeployableController
{
public MechJebModuleSolarPanelController(MechJebCore core)
: base(core)
{
}
[GeneralInfoItem("#MechJeb_ToggleSolarPanels", InfoItem.Category.Misc, showInEditor = false)] //Toggle solar panels
public void SolarPanelDeployButton()
{
autoDeploy = GUILayout.Toggle(autoDeploy, Localizer.Format("#MechJeb_SolarPanelDeployButton")); //"Auto-deploy solar panels"
if (GUILayout.Button(buttonText))
{
if (ExtendingOrRetracting())
return;
if (!extended)
ExtendAll();
else
RetractAll();
}
}
protected override bool isModules(ModuleDeployablePart p)
{
return p is ModuleDeployableSolarPanel;
}
protected override string getButtonText(DeployablePartState deployablePartState)
{
switch (deployablePartState)
{
case DeployablePartState.EXTENDED:
return Localizer.Format("#MechJeb_SolarPanelDeploy"); //"Toggle solar panels (currently extended)"
case DeployablePartState.RETRACTED:
return Localizer.Format("#MechJeb_SolarPanelRetracted"); //"Toggle solar panels (currently retracted)"
default:
return Localizer.Format("#MechJeb_SolarPanelToggle"); //"Toggle solar panels"
}
}
}
}