Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitPaintBoard.cs
1using System;
2using System.Collections.Generic;
3
4// Token: 0x0200045D RID: 1117
6{
7 // Token: 0x170009AE RID: 2478
8 // (get) Token: 0x06001F24 RID: 7972 RVA: 0x000B114F File Offset: 0x000AF34F
9 public override bool IsHomeItem
10 {
11 get
12 {
13 return true;
14 }
15 }
16
17 // Token: 0x170009AF RID: 2479
18 // (get) Token: 0x06001F25 RID: 7973 RVA: 0x000B1152 File Offset: 0x000AF352
19 public override bool ShowContextOnPick
20 {
21 get
22 {
23 return true;
24 }
25 }
26
27 // Token: 0x06001F26 RID: 7974 RVA: 0x000B1158 File Offset: 0x000AF358
28 public override void TrySetAct(ActPlan p)
29 {
30 if (EClass.debug.enable || (EClass._zone.IsPCFaction && p.altAction))
31 {
32 p.TrySetAct("actChangePaint", delegate()
33 {
34 List<int> list = new List<int>();
35 foreach (SourceThing.Row row in EClass.sources.things.rows)
36 {
37 if (!row.isOrigin && row.model.trait is TraitPaint)
38 {
39 list.Add(row._tiles[0]);
40 }
41 }
42 int num = (this.owner.refVal == 0) ? 0 : list.IndexOf(this.owner.refVal);
43 UIContextMenu uicontextMenu = EClass.ui.CreateContextMenuInteraction();
44 uicontextMenu.AddSlider("sliderPaint", (float a) => a.ToString() ?? "", (float)num, delegate(float b)
45 {
46 this.owner.refVal = list[(int)b];
47 this.paintPos = null;
48 }, 0f, (float)(list.Count - 1), true, false, false);
49 uicontextMenu.Show();
50 return false;
51 }, this.owner, null, 1, false, true, false);
52 }
53 }
54
55 // Token: 0x170009B0 RID: 2480
56 // (get) Token: 0x06001F27 RID: 7975 RVA: 0x000B11A8 File Offset: 0x000AF3A8
57 public override bool RenderExtra
58 {
59 get
60 {
61 return this.owner.refVal != 0;
62 }
63 }
64
65 // Token: 0x06001F28 RID: 7976 RVA: 0x000B11B8 File Offset: 0x000AF3B8
66 public override void OnRenderExtra(RenderParam p)
67 {
68 if (this.owner == EClass.pc.held)
69 {
70 return;
71 }
72 if (this.paintPos == null)
73 {
74 this.paintPos = (EClass.setting.render.paintPos.TryGetValue(this.owner.id, null) ?? EClass.setting.render.paintPos.FirstItem<string, PaintPosition>());
75 }
76 int num = (this.owner.flipX ? -1 : 1) * (this.paintPos.flip ? -1 : 1);
77 p.x += this.paintPos.pos.x * (float)num;
78 p.y += this.paintPos.pos.y;
79 p.z += this.paintPos.pos.z;
80 p.tile = (float)(this.owner.refVal * num);
81 p.matColor = 104025f;
82 EClass.core.refs.renderers.obj_paint.Draw(p);
83 }
84
85 // Token: 0x040010CE RID: 4302
86 public PaintPosition paintPos;
87}