-
Notifications
You must be signed in to change notification settings - Fork 95
/
SCANicon.cs
112 lines (105 loc) · 2.62 KB
/
SCANicon.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#region license
/*
* [Scientific Committee on Advanced Navigation]
* S.C.A.N. Satellite
*
* SCANsat - Static class to handle icon types
*
* Copyright (c)2013 damny;
* Copyright (c)2014 David Grandy <david.grandy@gmail.com>;
* Copyright (c)2014 technogeeky <technogeeky@gmail.com>;
* Copyright (c)2014 (Your Name Here) <your email here>; see LICENSE.txt for licensing details.
*
*/
#endregion
using System;
using System.IO;
using System.Reflection;
using UnityEngine;
using palette = SCANsat.SCAN_UI.UI_Framework.SCANcolorUtil;
using Log = SCANsat.SCAN_Platform.Logging.ConsoleLogger;
namespace SCANsat.SCAN_UI.UI_Framework
{
public class SCANicon
{
private static Rect pos_icon = new Rect(0, 0, 0, 0);
private static Rect grid_pos;
internal static void drawOrbitIconGL(int x, int y, OrbitIcon icon, Color c, Color shadow, Material iconMat, int size = 32 /*px*/, bool outline = false)
{
// PX [0..n]
// ORIGIN: NorthWest
pos_icon.x = x - (size / 2);
pos_icon.y = y - (size / 2);
pos_icon.width = size;
pos_icon.height = size;
// UV [0..1]
// Origin: SouthWest
grid_pos.width = 0.2f;
grid_pos.height = 0.2f;
grid_pos.x = 0.2f * ((int)icon % 5);
grid_pos.y = 0.2f * (4 - (int)icon / 5);
SCANuiUtil.drawMapIconGL(pos_icon, SCANmainMenuLoader.OrbitIconsMap, c, iconMat, shadow, outline, grid_pos, true);
}
public enum OrbitIcon : int
{
Pe = 0,
Ap = 1,
AN = 2,
DN = 3,
Plane = 4,
Ship = 5,
Debris = 6,
Planet = 7,
Mystery = 8,
Relay = 9,
Encounter = 10,
Exit = 11,
EVA = 12,
Ball = 13,
TargetTop = 15,
TargetBottom = 16,
ManeuverNode = 17,
Station = 18,
SpaceObject = 19,
Rover = 20,
Probe = 21,
Base = 22,
Lander = 23,
Flag = 24,
}
internal static OrbitIcon orbitIconForVesselType(VesselType type)
{
switch (type)
{
case VesselType.Base:
return OrbitIcon.Base;
case VesselType.Debris:
return OrbitIcon.Debris;
case VesselType.EVA:
return OrbitIcon.EVA;
case VesselType.Flag:
return OrbitIcon.Flag;
case VesselType.Lander:
return OrbitIcon.Lander;
case VesselType.Plane:
return OrbitIcon.Plane;
case VesselType.Probe:
return OrbitIcon.Probe;
case VesselType.Relay:
return OrbitIcon.Relay;
case VesselType.Rover:
return OrbitIcon.Rover;
case VesselType.Ship:
return OrbitIcon.Ship;
case VesselType.Station:
return OrbitIcon.Station;
case VesselType.SpaceObject:
return OrbitIcon.SpaceObject;
case VesselType.Unknown:
return OrbitIcon.Mystery;
default:
return OrbitIcon.Mystery;
}
}
}
}