-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathKSPScienceMonitorButton.cs
More file actions
41 lines (36 loc) · 1.48 KB
/
KSPScienceMonitorButton.cs
File metadata and controls
41 lines (36 loc) · 1.48 KB
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
using Toolbar;
using UnityEngine;
[KSPAddon(KSPAddon.Startup.Flight, false)]
public class KSPScienceMonitorButton : MonoBehaviour
{
private readonly IButton toolbarKSPScienceMonitorButton;
private string imgEnabledPath = "KSPScienceLibrary/img1m";
private string imgPressedPath = "KSPScienceLibrary/img2m";
internal KSPScienceMonitorButton()
{
toolbarKSPScienceMonitorButton = ToolbarManager.Instance.add("ScienceLibrary", "toolbarKSPScienceMonitorButton");
toolbarKSPScienceMonitorButton.TexturePath = imgEnabledPath;
toolbarKSPScienceMonitorButton.ToolTip = "ScienceLibrary Monitor";
toolbarKSPScienceMonitorButton.Visible = true;
toolbarKSPScienceMonitorButton.OnClick += KSPScienceMonitorButton_OnClick;
KSPScienceMonitor.toolbarButton = this;
toolbarKSPScienceMonitorButton.Visibility = new GameScenesVisibility(GameScenes.FLIGHT);
}
private void KSPScienceMonitorButton_OnClick(ClickEvent e)
{
if (KSPScienceMonitor.drawWindow)
KSPScienceMonitor.Hide();
else
KSPScienceMonitor.Show();
}
public void UpdateIcon(bool drawWindow)
{
toolbarKSPScienceMonitorButton.TexturePath = drawWindow ? imgPressedPath : imgEnabledPath;
}
internal void OnDestroy()
{
//print("Destroy Science Monitor Button");
KSPScienceMonitor.toolbarButton = null;
toolbarKSPScienceMonitorButton.Destroy();
}
}