9 public override void OnInit()
11 LayerInteraction.Instance =
this;
16 public override void OnKill()
18 LayerInteraction.Target =
null;
22 private unsafe
void Update()
29 MeshPass meshPass = (this.point.HasBlock || this.point.cell.liquidLv > 0) ?
ELayer.screen.guide.passGuideBlock :
ELayer.screen.guide.passGuideFloor;
31 Vector3 vector = *this.point.Position();
32 meshPass.Add(vector.x, vector.y, vector.z, (
float)num, 0.3f);
36 public override void OnUpdateInput()
41 public static void Show(
IInspect newTarget)
47 LayerInteraction.Target = newTarget;
49 ((LayerInteraction.Instance !=
null) ? LayerInteraction.Instance :
ELayer.ui.AddLayer<
LayerInteraction>()).ShowPage(page);
53 public static bool TryShow(
bool quick)
55 if (!
Scene.HitPoint.IsValid)
76 string text =
"charaInfo".lang();
77 if (!t.IsHomeMember())
79 text = text +
"(" +
"unidentified".lang() +
")";
83 page.Add(t,
"tTalk".lang(),
"", delegate()
90 page.Add(t, text,
"", delegate()
92 if (!t.IsHomeMember())
103 page.Add(t,
"objInfo",
"", delegate()
109 page.Add(t,
"quest",
"", delegate()
113 page.Add(t,
"hire",
"", delegate()
120 page.Add(t,
"gacha",
"", delegate()
125 if (t.trait.IsFactory)
127 page.Add(t,
"craft",
"icon_Inspect", delegate()
134 page.Add(t,
"move",
"", delegate()
144 public void Show(List<LayerInteraction.Page> _pages,
LayerInteraction.Mode _mode)
148 LayerInteraction.Mode mode = this.mode;
155 this.pages.Add(page);
156 page.Add(
null,
"test1",
"", delegate()
159 page.Add(
null,
"test2",
"", delegate()
166 this.point.Set(
Scene.HitPoint);
171 page2.button = buttonGrid;
172 buttonGrid.SetObject(page2.items[0].target);
174 buttonGrid.onClick.AddListener(delegate()
176 this.ShowPage(_page);
179 buttonGrid.RebuildLayout(
true);
186 public void ShowPage(
int index)
188 this.ShowPage(this.pages[index]);
197 while (enumerator.MoveNext())
200 UIButton uibutton = this.menu.Add();
201 uibutton.icon.sprite = (SpriteSheet.Get(item.idSprite.IsEmpty(
"icon_" + item.text)) ?? uibutton.icon.sprite);
202 uibutton.mainText.SetText((item.textFunc !=
null) ? item.textFunc() : item.text.lang());
203 uibutton.onClick.AddListener(delegate()
212 uibutton.RebuildLayout(
true);
215 Chara chara = LayerInteraction.Target as
Chara;
216 bool flag = chara !=
null && chara.IsHomeMember();
217 this.windowChara.SetActive(flag);
220 this.windowChara.SetChara(chara);
237 public LayerInteraction.Mode mode;
246 private bool first =
true;
273 public LayerInteraction.Item Add(
object target,
string text,
string idSprite, Action action,
int priority = 0,
bool auto =
false)
284 this.items.Add(item);
289 public LayerInteraction.Item Add(
object target,
string text, Func<bool> valueFunc, Action<bool> action)
291 Action action2 = delegate()
294 action(!valueFunc());
299 textFunc = (() => text.lang() +
" (" + (valueFunc() ?
"on" :
"off") +
")"),
303 this.items.Add(item);
308 public UIButton button;
326 return this.target is
Area;
331 public object target;
337 public string idSprite;
340 public Action action;
352 public Func<string> textFunc;