public override bool HasJobOnThing(Pawn pawn, Thing t, bool forced = false)
        {
            if (t.Faction != pawn.Faction)
            {
                return(false);
            }
            Building_LaserFenceConsole console = t as Building_LaserFenceConsole;

            if (console == null)
            {
                return(false);
            }
            if (console.IsForbidden(pawn) ||
                console.IsBurning() ||
                (console.manualSwitchIsPending == false) ||
                (pawn.CanReserveAndReach(console, this.PathEndMode, pawn.NormalMaxDanger()) == false) ||
                (console.Map.designationManager.DesignationOn(console, DesignationDefOf.Uninstall) != null))
            {
                return(false);
            }
            CompPowerTrader compPowerTrader = console.TryGetComp <CompPowerTrader>();

            if ((compPowerTrader != null) &&
                (compPowerTrader.PowerOn == false))
            {
                return(false);
            }
            return(true);
        }
        public override Job JobOnThing(Pawn pawn, Thing t, bool forced = false)
        {
            Building_LaserFenceConsole console = t as Building_LaserFenceConsole;

            return(new Job(Util_LaserFence.SwitchLaserFenceConsoleDef, console));
        }