15 return base.gameObject.activeSelf;
20 public void SetVisible(
bool enable)
22 base.gameObject.SetActive(enable && this.group !=
null);
23 if (enable && this.group !=
null)
34 base.gameObject.SetActive(
false);
38 public bool InspectUnderMouse()
40 if (!
Scene.HitPoint.IsValid)
44 List<IInspect> list =
ELayer.scene.mouseTarget.pos.ListInspectorTargets();
45 this.point =
Scene.HitPoint;
46 IList<IInspect> source = list;
48 this.Inspect(source.NextItem((inspectGroup !=
null) ? inspectGroup.FirstTarget :
null));
53 public void Inspect(
IInspect newTarget)
56 if (((inspectGroup !=
null) ? inspectGroup.FirstTarget :
null) == newTarget)
66 base.gameObject.SetActive(
true);
67 if (!this.initialized)
69 this.windows.Add(this.windowChara.window);
70 this.initialized =
true;
71 this.mold = this.layoutButtons.CreateMold(
null);
72 IUISkin[] componentsInChildren = base.transform.GetComponentsInChildren<IUISkin>(
true);
73 for (
int i = 0; i < componentsInChildren.Length; i++)
75 componentsInChildren[i].ApplySkin();
85 public void OnUpdate()
87 if (this.group ==
null || !this.IsActive)
91 if (!this.group.CanInspect())
96 foreach (
IInspect i
in this.group.targets)
98 this.DrawHighlight(i,
true);
103 public void Refresh()
105 if (!this.group.CanInspect())
110 this.group.SetActions();
111 this.layoutButtons.DestroyChildren(
false,
true);
112 using (List<
InspectGroup.
Item>.Enumerator enumerator = this.group.actions.GetEnumerator())
114 while (enumerator.MoveNext())
117 if (this.group.Solo || item.multi)
119 UIButton uibutton = Util.Instantiate<UIButton>(this.mold, this.layoutButtons);
120 uibutton.icon.sprite = (SpriteSheet.Get(item.idSprite.IsEmpty(
"icon_" + item.text)) ?? uibutton.icon.sprite);
121 uibutton.mainText.SetText((item.textFunc !=
null) ? item.textFunc() : item.text.lang());
122 uibutton.onClick.AddListener(delegate()
124 if (this.group.CanInspect())
128 this.soundPop.Play();
130 foreach (
IInspect obj
in this.group.targets)
135 if (this.group ==
null || !this.group.CanInspect())
142 uibutton.RebuildLayout(
true);
146 Chara chara = this.group.FirstTarget as
Chara;
147 bool flag = this.group.Solo && chara !=
null && chara.IsHomeMember();
149 if (!flag &&
ELayer.core.IsGameStarted &&
this.point !=
null)
151 room = this.point.cell.room;
153 bool flag2 = room !=
null;
154 this.windowChara.SetActive(flag);
155 this.rectInfo.SetActive(!flag);
156 this.rectRoom.SetActive(flag2);
160 this.windowChara.SetChara(chara);
162 else if (this.group.Solo)
164 this.group.FirstTarget.WriteNote(this.note,
null,
IInspect.NoteMode.Default,
null);
168 this.note.AddHeader(this.group.GetName(),
null);
173 UINote uinote = this.noteRoom;
175 uinote.AddHeader(
"Room",
null);
176 uinote.AddText(room.points.Count.ToString() ??
"", FontColor.DontChange);
179 this.layoutButtons.RebuildLayout(
true);
180 this.layoutBody.RebuildLayout(
false);
181 this.group.FirstTarget.OnInspect();
185 public unsafe
void DrawHighlight(
IInspect i,
bool selected =
false)
192 CS$<>8__locals1.v = i.InspectPosition;
193 Point inspectPoint = i.InspectPoint;
194 if (inspectPoint ==
null)
198 MeshPass meshPass = (inspectPoint.HasNonWallBlock || inspectPoint.HasBlockRecipe) ?
ELayer.screen.guide.passGuideBlock :
ELayer.screen.guide.passGuideFloor;
201 CS$<>8__locals1.v +=
ELayer.screen.pcOrbit.crystal.transform.position;
202 ELayer.screen.tileMap.passIcon.Add(ref CS$<>8__locals1.v, 1f, 0f);
208 if (thing.IsInstalled && thing.sourceCard.multisize)
212 thing.ForeachPoint(delegate(
Point pos,
bool main)
214 CS$<>8__locals1.v = *pos.Position();
215 CS$<>8__locals1.v.z = CS$<>8__locals1.v.z - 0.01f;
216 ELayer.screen.guide.passGuideFloor.Add(ref CS$<>8__locals1.v, 7f, 0f);
221 if (thing.TileType.IsBlockMount)
223 meshPass =
ELayer.screen.guide.passGuideBlock;
229 if (recipe.MultiSize)
233 i.InspectPoint.ForeachMultiSize(recipe.W, recipe.H, delegate(
Point pos,
bool main)
235 CS$<>8__locals1.v = *pos.Position();
236 CS$<>8__locals1.v.z = CS$<>8__locals1.v.z - 0.01f;
237 ELayer.screen.guide.passGuideBlock.Add(ref CS$<>8__locals1.v, 7f, 0f);
243 UIInspector.<>c__DisplayClass25_0 CS$<>8__locals2 = CS$<>8__locals1;
244 CS$<>8__locals2.v.z = CS$<>8__locals2.v.z - 0.01f;
245 meshPass.Add(ref CS$<>8__locals1.v, 7f, 0f);
252 public LayoutGroup layoutBody;
255 public LayoutGroup layoutButtons;
258 public UIButton mold;
261 public Vector3 offset;
264 public Vector3 modPos;
267 public SoundData soundPop;
273 public RectTransform rectInfo;
276 public RectTransform rectRoom;
282 public UINote noteRoom;
285 public UIText textName;
294 private bool initialized;