Elin Modding Docs Doc
Loading...
Searching...
No Matches
LayerSkinDeco.cs
1using System;
2using System.Collections.Generic;
3using UnityEngine;
4
5// Token: 0x020005BE RID: 1470
6public class LayerSkinDeco : ELayer
7{
8 // Token: 0x17000BC6 RID: 3014
9 // (get) Token: 0x0600284C RID: 10316 RVA: 0x000E3C5C File Offset: 0x000E1E5C
10 public List<SkinDeco> decos
11 {
12 get
13 {
14 return this.widget.config.skin.decos;
15 }
16 }
17
18 // Token: 0x17000BC7 RID: 3015
19 // (get) Token: 0x0600284D RID: 10317 RVA: 0x000E3C73 File Offset: 0x000E1E73
20 public SkinConfig cfg
21 {
22 get
23 {
24 return this.widget.config.skin;
25 }
26 }
27
28 // Token: 0x0600284E RID: 10318 RVA: 0x000E3C85 File Offset: 0x000E1E85
29 public override void OnInit()
30 {
31 base.OnInit();
32 }
33
34 // Token: 0x0600284F RID: 10319 RVA: 0x000E3C90 File Offset: 0x000E1E90
35 public void SetWidget(Widget _widget)
36 {
37 this.widget = _widget;
38 foreach (SkinDeco skinDeco in this.decos)
39 {
40 this.Activate(skinDeco.actor);
41 }
42 this.widget.transform.SetParent(this.widgetHolder, false);
43 }
44
45 // Token: 0x06002850 RID: 10320 RVA: 0x000E3D08 File Offset: 0x000E1F08
46 public override void OnUpdateInput()
47 {
48 if (EInput.leftMouse.clicked)
49 {
50 if (EInput.leftMouse.dragging)
51 {
52 return;
53 }
54 SkinDecoActor selected = InputModuleEX.GetComponentOf<SkinDecoActor>();
55 Vector3 clickPos = Input.mousePosition;
56 UIContextMenu m = ELayer.ui.CreateContextMenu("ContextMenu");
57 if (selected)
58 {
59 SkinDeco deco = selected.owner;
60 Action<PickerState, Color> <>9__9;
61 m.AddButton("editColor", delegate()
62 {
63 LayerColorPicker layerColorPicker = ELayer.ui.AddLayer<LayerColorPicker>();
64 Color color = deco.color;
65 Color white = Color.white;
66 Action<PickerState, Color> onChangeColor;
67 if ((onChangeColor = <>9__9) == null)
68 {
69 onChangeColor = (<>9__9 = delegate(PickerState state, Color _c)
70 {
71 deco.color = _c;
72 selected.Refresh();
73 });
74 }
75 layerColorPicker.SetColor(color, white, onChangeColor);
76 }, true);
77 m.AddButton("bringToTop", delegate()
78 {
79 this.decos.Remove(deco);
80 this.decos.Add(deco);
81 selected.transform.SetAsLastSibling();
82 }, true);
83 m.AddSlider("rotation", (float n) => (n * 45f).ToString() ?? "", (float)deco.rz, delegate(float a)
84 {
85 deco.rz = (int)a;
86 selected.Refresh();
87 }, 0f, 7f, true, true, false);
88 m.AddSlider("size", (float n) => n.ToString() ?? "", (float)Mathf.Abs(deco.sx), delegate(float a)
89 {
90 deco.sx = (int)a * ((deco.sx > 0) ? 1 : -1);
91 deco.sy = (int)a * ((deco.sy > 0) ? 1 : -1);
92 selected.Refresh();
93 }, 10f, 400f, true, true, false);
94 m.AddToggle("shadow", deco.shadow, delegate(bool a)
95 {
96 deco.shadow = a;
97 selected.Refresh();
98 });
99 m.AddToggle("reverse", deco.reverse, delegate(bool a)
100 {
101 deco.reverse = a;
102 selected.Refresh();
103 });
104 m.AddButton("removeDeco", delegate()
105 {
106 this.widget.RemoveDeco(selected.owner);
107 }, true);
108 }
109 else
110 {
111 UIContextMenu parent = m.AddChild("addDeco");
112 UIList uilist = Util.Instantiate<UIList>("UI/Element/List/ListImageGrid", parent);
113 BaseList baseList = uilist;
114 UIList.Callback<Sprite, UIButton> callback = new UIList.Callback<Sprite, UIButton>();
115 callback.onInstantiate = delegate(Sprite a, UIButton _b)
116 {
117 _b.icon.sprite = a;
118 };
119 callback.onClick = delegate(Sprite a, UIButton _b)
120 {
121 SkinDeco skinDeco = new SkinDeco
122 {
123 sx = 100,
124 sy = 100,
125 color = Color.white
126 };
127 skinDeco.id = int.Parse(a.name.Remove(0, 4));
128 this.widget.AddDeco(skinDeco);
129 SkinDecoActor actor = skinDeco.actor;
130 this.Activate(actor);
131 actor.transform.position = clickPos;
132 EInput.Consume(false, 1);
133 m.Hide();
134 };
135 baseList.callbacks = callback;
136 foreach (Sprite o in Resources.LoadAll<Sprite>("Media/Graphics/Deco/"))
137 {
138 uilist.Add(o);
139 }
140 uilist.Refresh(false);
141 }
142 m.Show();
143 }
144 if (EInput.rightMouse.down)
145 {
146 UIContextMenu uicontextMenu = ELayer.ui.CreateContextMenu("ContextMenu");
147 uicontextMenu.AddButton("quitEdit", delegate()
148 {
149 this.Close();
150 }, true);
151 uicontextMenu.Show();
152 }
153 }
154
155 // Token: 0x06002851 RID: 10321 RVA: 0x000E3FFC File Offset: 0x000E21FC
156 public void Activate(SkinDecoActor actor)
157 {
158 actor.image.raycastTarget = true;
159 actor.transform.SetParent(base.transform, true);
160 UIDragPanel uidragPanel = actor.gameObject.AddComponent<UIDragPanel>();
161 uidragPanel.target = actor.Rect();
162 uidragPanel.bound = actor.Rect();
163 uidragPanel.clamp = false;
164 }
165
166 // Token: 0x06002852 RID: 10322 RVA: 0x000E4050 File Offset: 0x000E2250
167 public override void OnKill()
168 {
169 this.widget.transform.SetParent(ELayer.ui.widgets.transform, false);
170 foreach (SkinDeco skinDeco in this.decos)
171 {
172 SkinDecoActor actor = skinDeco.actor;
173 actor.image.raycastTarget = false;
174 UnityEngine.Object.DestroyImmediate(actor.gameObject.GetComponent<UIDragPanel>());
175 actor.transform.SetParent(this.widget.transform, true);
176 skinDeco.x = (int)actor.Rect().anchoredPosition.x;
177 skinDeco.y = (int)actor.Rect().anchoredPosition.y;
178 }
179 }
180
181 // Token: 0x0400167D RID: 5757
182 [NonSerialized]
183 public Widget widget;
184
185 // Token: 0x0400167E RID: 5758
186 public Transform widgetHolder;
187}