private void generalRelease()
        {
            if (PRFGameComponent.PRF_StaticPawn == null)
            {
                PRFGameComponent.GenStaticPawn();
            }
            if (PRFGameComponent.PRF_StaticJob == null)
            {
                PRFGameComponent.PRF_StaticJob = new Job(PRFDefOf.PRFStaticJob);
            }

            Building tb = researchBench ?? drilltypeBuilding;

            /*
             * Log.Message("----------------------------------");
             * List<ReservationManager.Reservation> reservations;
             * reservations = (List<ReservationManager.Reservation>)ReflectionUtility.sal_reservations.GetValue(Map.reservationManager);
             * reservations = reservations.Where(r => r.Faction != null && r.Faction.IsPlayer).ToList();
             * foreach (ReservationManager.Reservation res in reservations)
             * {
             *  Log.Message("Reservation for " + res.Claimant + " at " + res.Target);
             *
             * }
             */

            Map.reservationManager.Release(tb, PRFGameComponent.PRF_StaticPawn, PRFGameComponent.PRF_StaticJob);
            //Log.Message("generalRelease for " + (Position + Rotation.FacingCell) );
        }
        private void generalReserve()
        {
            if (PRFGameComponent.PRF_StaticPawn == null)
            {
                PRFGameComponent.GenStaticPawn();
            }
            if (PRFGameComponent.PRF_StaticJob == null)
            {
                PRFGameComponent.PRF_StaticJob = new Job(PRFDefOf.PRFStaticJob);
            }

            Building tb = researchBench ?? drilltypeBuilding;

            List <ReservationManager.Reservation> reservations;

            reservations = (List <ReservationManager.Reservation>)ReflectionUtility.sal_reservations.GetValue(Map.reservationManager);
            var res = new ReservationManager.Reservation(PRFGameComponent.PRF_StaticPawn, PRFGameComponent.PRF_StaticJob, 1, -1, tb /*(Position + Rotation.FacingCell)*/, null);

            if (!reservations.Where(r => r.Claimant == PRFGameComponent.PRF_StaticPawn && r.Job == PRFGameComponent.PRF_StaticJob && r.Target == tb).Any())
            {
                reservations.Add(res);
            }
            ReflectionUtility.sal_reservations.SetValue(Map.reservationManager, reservations);

            //Spammy Debug

            /*
             * reservations = (List<ReservationManager.Reservation>)ReflectionUtility.sal_reservations.GetValue(Map.reservationManager);
             * reservations = reservations.Where(r => r.Faction != null && r.Faction.IsPlayer).ToList();
             * foreach (ReservationManager.Reservation res in reservations)
             * {
             *  Log.Message("Reservation for " + res.Claimant + " at " + res.Target);
             *
             * }
             */
        }