forked from KSP-KOS/KOS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Core.cs
69 lines (58 loc) · 1.72 KB
/
Core.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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
using kOS.Screen;
using kOS.Suffixed;
namespace kOS
{
public class Core : MonoBehaviour
{
public static VersionInfo VersionInfo = new VersionInfo(0, 12.0);
public static Core Fetch;
public TermWindow Window;
public void Awake()
{
// This thing gets instantiated 4 times by KSP for some reason
if (Fetch != null) return;
Fetch = this;
var gObj = new GameObject("kOSTermWindow", typeof(TermWindow));
UnityEngine.Object.DontDestroyOnLoad(gObj);
Window = (TermWindow)gObj.GetComponent(typeof(TermWindow));
}
public void SaveSettings()
{
//var writer = KSP.IO.BinaryReader.CreateForType<File>(HighLogic.fetch.GameSaveFolder + "/");
}
public static void Debug(string line)
{
}
public static void OpenWindow(SharedObjects shared)
{
Fetch.Window.AttachTo(shared);
Fetch.Window.Open();
}
internal static void ToggleWindow(SharedObjects shared)
{
Fetch.Window.AttachTo(shared);
Fetch.Window.Toggle();
}
void OnGUI()
{
}
public static void CloseWindow(SharedObjects shared)
{
Fetch.Window.AttachTo(shared);
Fetch.Window.Close();
}
}
public class CoreInitializer : KSP.Testing.UnitTest
{
public CoreInitializer()
{
var gameobject = new GameObject("kOSCore", typeof (Core));
UnityEngine.Object.DontDestroyOnLoad(gameobject);
}
}
}