コード例 #1
0
 // Token: 0x0600000A RID: 10 RVA: 0x000023A8 File Offset: 0x000005A8
 public static void JobFailIfHid(Pawn seer, Pawn target, Job cur)
 {
     if (seer != null && target != null && cur != null && cur.def != CamoAIUtility.CamoPauseJobDef() && seer.Spawned && target.Spawned && (seer?.Map) != null && (target?.Map) != null && seer.Map == target.Map)
     {
         bool flag;
         if (seer == null)
         {
             flag = (null != null);
         }
         else
         {
             Pawn_MindState mindState = seer.mindState;
             flag = ((mindState?.meleeThreat) != null);
         }
         if (!flag)
         {
             if (CamoAIUtility.CanSeeSimply(seer, target))
             {
                 if (CamoUtility.IsTargetHidden(target, seer))
                 {
                     CamoAIUtility.CorrectLordForCamo(seer, target);
                     return;
                 }
             }
             else
             {
                 CamoAIUtility.CorrectLordForCamo(seer, target);
             }
         }
     }
 }
コード例 #2
0
 // Token: 0x0600000C RID: 12 RVA: 0x00002524 File Offset: 0x00000724
 public static void CorrectJob(Pawn seer, Pawn target)
 {
     if (seer != null && target != null && (seer?.Map) != null && (target?.Map) != null && seer.Map == target.Map)
     {
         bool flag;
         if (seer == null)
         {
             flag = (null != null);
         }
         else
         {
             Pawn_MindState mindState = seer.mindState;
             flag = ((mindState?.meleeThreat) != null);
         }
         if (!flag && ThingCompUtility.TryGetComp <PawnCamoData>(seer).LastCamoCorrectTick + 120 <= Find.TickManager.TicksGame && seer.Spawned && target.Spawned)
         {
             bool flag2;
             if (seer == null)
             {
                 flag2 = (null != null);
             }
             else
             {
                 Pawn_JobTracker jobs = seer.jobs;
                 flag2 = ((jobs?.curJob) != null);
             }
             if (flag2 && seer.jobs.curJob.def != CamoAIUtility.CamoPauseJobDef() && seer.jobs.curJob.AnyTargetIs(target))
             {
                 ThingCompUtility.TryGetComp <PawnCamoData>(seer).LastCamoCorrectTick = Find.TickManager.TicksGame;
                 CamoAIUtility.RemoveTarget(seer, target);
             }
         }
     }
 }
コード例 #3
0
        // Token: 0x06000006 RID: 6 RVA: 0x000021CC File Offset: 0x000003CC
        private static void GiveWaitJob(Pawn pawn, int period)
        {
            ThingCompUtility.TryGetComp <PawnCamoData>(pawn).LastCamoCorrectTick = Find.TickManager.TicksGame;
            Job job = new Job(CamoAIUtility.CamoPauseJobDef())
            {
                expiryInterval        = period,
                checkOverrideOnExpire = true
            };

            pawn.jobs.jobQueue.EnqueueFirst(job, null);
        }