protected override void RefreshWorldEntityBinding(AgeTransform tableitem, IWorldEntityWithCulling worldEntity, int index)
    {
        WorldPointOfInterest worldPointOfInterest = worldEntity as WorldPointOfInterest;

        if (worldPointOfInterest != null)
        {
            this.RefreshPointOfInterest(tableitem, worldPointOfInterest.PointOfInterest, index);
        }
    }
    protected override void RefreshWorldEntityBinding(AgeTransform tableitem, IWorldEntityWithCulling worldEntity, int index)
    {
        WorldKaiju         worldKaiju = worldEntity as WorldKaiju;
        KaijuGarrisonLabel component  = tableitem.GetComponent <KaijuGarrisonLabel>();

        if (base.GuiService.GetGuiPanel <GameWorldScreen>().CurrentMetaPanel is MetaPanelCity)
        {
            if (component.KaijuGarrison != null)
            {
                component.Unbind();
            }
            tableitem.Visible = false;
            return;
        }
        if (base.VisibilityService != null && !base.VisibilityService.IsWorldPositionVisibleFor(worldKaiju.WorldPosition, base.Empire))
        {
            if (component.KaijuGarrison != null)
            {
                component.Unbind();
            }
            tableitem.Visible = false;
            return;
        }
        bool flag = base.Counter % 10 == 0;

        if (Services.GetService <IDownloadableContentService>().IsShared(DownloadableContent20.ReadOnlyName) && component.KaijuGarrison != worldKaiju.Kaiju.KaijuGarrison)
        {
            component.Bind(worldKaiju.Kaiju.KaijuGarrison, base.GuiService, base.Empire);
            tableitem.Visible = true;
            flag = true;
        }
        Vector3 anchorPosition = ((IWorldEntityWithInterfaceConstraintCulling)worldKaiju).AnchorPosition;
        Vector3 vector         = this.cameraController.Camera.WorldToScreenPoint(anchorPosition + Vector3.up * 1.5f);
        Vector3 vector2        = this.cameraController.Camera.WorldToScreenPoint(anchorPosition);
        Vector2 vector3        = new Vector3(vector.x - component.LeftOffset, (float)Screen.height - vector.y - component.Height);

        component.AgeTransform.X = vector3.x;
        component.AgeTransform.Y = vector3.y;
        component.PinLine.AgeTransform.Height = vector.y - vector2.y;
        if (flag)
        {
            component.RefreshContent();
        }
    }