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;