9 public override bool IsHomeItem
19 public override bool ShowContextOnPick
28 public override void TrySetAct(
ActPlan p)
30 if (
EClass.debug.enable || (
EClass._zone.IsPCFaction && p.altAction))
32 p.TrySetAct(
"actChangePaint", delegate()
34 List<int> list =
new List<int>();
37 if (!row.isOrigin && row.model.trait is
TraitPaint)
39 list.Add(row._tiles[0]);
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)
46 this.owner.refVal = list[(int)b];
48 }, 0f, (float)(list.Count - 1),
true,
false,
false);
51 }, this.owner,
null, 1,
false,
true,
false);
57 public override bool RenderExtra
61 return this.owner.refVal != 0;
68 if (this.owner ==
EClass.pc.held)
72 if (this.paintPos ==
null)
74 this.paintPos = (
EClass.setting.render.paintPos.TryGetValue(this.owner.id,
null) ??
EClass.setting.render.paintPos.FirstItem<
string, PaintPosition>());
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);
82 EClass.core.refs.renderers.obj_paint.Draw(p);
86 public PaintPosition paintPos;