-
Notifications
You must be signed in to change notification settings - Fork 96
/
SCAN_Style.cs
123 lines (93 loc) · 2.57 KB
/
SCAN_Style.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
112
113
114
115
116
117
118
119
120
121
122
123
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace SCANsat.Unity.Unity
{
public class SCAN_Style : MonoBehaviour
{
public enum StyleTypes
{
None,
Window,
Box,
HiddenBox,
Button,
HiddenButton,
ToggleButton,
Toggle,
HorizontalSlider,
TextInput,
KSPToggle,
}
[SerializeField]
private StyleTypes m_StyleType = StyleTypes.None;
public StyleTypes StlyeType
{
get { return m_StyleType; }
}
private void setSelectable(Sprite normal, Sprite highlight, Sprite active, Sprite inactive)
{
Selectable select = GetComponent<Selectable>();
if (select == null)
return;
select.image.sprite = normal;
select.image.type = Image.Type.Sliced;
select.transition = Selectable.Transition.SpriteSwap;
SpriteState spriteState = select.spriteState;
spriteState.highlightedSprite = highlight;
spriteState.pressedSprite = active;
spriteState.disabledSprite = inactive;
select.spriteState = spriteState;
}
public void setImage(Sprite sprite)
{
Image image = GetComponent<Image>();
if (image == null)
return;
image.sprite = sprite;
}
public void setButton(Sprite normal, Sprite highlight, Sprite active, Sprite inactive)
{
setSelectable(normal, highlight, active, inactive);
}
public void setToggle(Sprite normal, Sprite highlight, Sprite active, Sprite inactive, Sprite checkmark)
{
setSelectable(normal, highlight, active, inactive);
Toggle toggle = GetComponent<Toggle>();
if (toggle == null)
return;
Image toggleImage = toggle.graphic as Image;
if (toggleImage == null)
return;
toggleImage.sprite = checkmark;
toggleImage.type = Image.Type.Sliced;
}
public void setToggleButton(Sprite normal, Sprite highlight, Sprite active, Sprite inactive)
{
setSelectable(normal, highlight, active, inactive);
Toggle toggle = GetComponent<Toggle>();
if (toggle == null)
return;
Image toggleImage = toggle.graphic as Image;
if (toggleImage == null)
return;
toggleImage.sprite = active;
toggleImage.type = Image.Type.Sliced;
}
public void setSlider(Sprite background, Sprite thumb, Sprite thumbHighlight, Sprite thumbActive, Sprite thumbInactive)
{
setSelectable(thumb, thumbHighlight, thumbActive, thumbInactive);
if (background == null)
return;
Slider slider = GetComponent<Slider>();
if (slider == null)
return;
Image back = slider.GetComponentInChildren<Image>();
if (back == null)
return;
back.sprite = background;
back.type = Image.Type.Sliced;
}
}
}