public override void LessonUpdate()
 {
     GenDraw.DrawFieldEdges(sandbagCells.Where((IntVec3 c) => !TutorUtility.BuildingOrBlueprintOrFrameCenterExists(c, base.Map, ThingDefOf.Sandbags)).ToList());
     GenDraw.DrawArrowPointingAt(Gen.AveragePosition(sandbagCells));
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
示例#2
0
 public override void LessonUpdate()
 {
     foreach (Pawn pawn in this.DraftedPawns())
     {
         GenDraw.DrawArrowPointingAt(pawn.DrawPos, false);
     }
     if (this.ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     foreach (Thing thing in this.ThingsToSelect())
     {
         GenDraw.DrawArrowPointingAt(thing.DrawPos, false);
     }
     if (this.ProgressPercent > 0.999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     cachedEdgeCells.Clear();
     cachedEdgeCells.AddRange(RoomRect.EdgeCells.Where((IntVec3 c) => !TutorUtility.BuildingOrBlueprintOrFrameCenterExists(c, base.Map, ThingDefOf.Wall)).ToList());
     GenDraw.DrawFieldEdges(cachedEdgeCells.Where((IntVec3 c) => c.GetEdifice(base.Map) == null).ToList());
     GenDraw.DrawArrowPointingAt(RoomRect.CenterVector3);
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
示例#5
0
 public override void LessonUpdate()
 {
     foreach (Pawn item in DraftedPawns())
     {
         GenDraw.DrawArrowPointingAt(item.DrawPos);
     }
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     foreach (Thing weapon in Weapons)
     {
         GenDraw.DrawArrowPointingAt(weapon.DrawPos, offscreenOnly: true);
     }
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
示例#7
0
 public override void LessonUpdate()
 {
     if (this.ProgressPercent > 0.99989998340606689)
     {
         Find.ActiveLesson.Deactivate();
     }
     foreach (Thing item in this.NeedUnforbidItems())
     {
         GenDraw.DrawArrowPointingAt(item.DrawPos, true);
     }
 }
示例#8
0
 public override void LessonUpdate()
 {
     foreach (Thing thing in this.Weapons)
     {
         GenDraw.DrawArrowPointingAt(thing.DrawPos, true);
     }
     if (this.ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
示例#9
0
 public override void LessonUpdate()
 {
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
     foreach (Thing item in NeedUnforbidItems())
     {
         GenDraw.DrawArrowPointingAt(item.DrawPos, offscreenOnly: true);
     }
 }
示例#10
0
 public override void LessonUpdate()
 {
     foreach (Thing item in ThingsToSelect())
     {
         GenDraw.DrawArrowPointingAt(item.DrawPos);
     }
     if (ProgressPercent > 0.999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
		public override void LessonUpdate()
		{
			List<IntVec3> cells = (from c in this.sandbagCells
			where !TutorUtility.BuildingOrBlueprintOrFrameCenterExists(c, base.Map, ThingDefOf.Sandbags)
			select c).ToList();
			GenDraw.DrawFieldEdges(cells);
			GenDraw.DrawArrowPointingAt(Gen.AveragePosition(this.sandbagCells), false);
			if (this.ProgressPercent > 0.99989998340606689)
			{
				Find.ActiveLesson.Deactivate();
			}
		}
示例#12
0
 public static void TargetHighlighterUpdate()
 {
     for (int i = 0; i < arrowPositions.Count; i++)
     {
         GenDraw.DrawArrowPointingAt(arrowPositions[i]);
     }
     arrowPositions.Clear();
     for (int j = 0; j < circleOverlays.Count; j++)
     {
         GenDraw.DrawCircleOutline(circleOverlays[j].First, circleOverlays[j].Second);
     }
     circleOverlays.Clear();
 }
示例#13
0
 private void DrawGeyserArrows(List <TimedGeyserArrow> arrows)
 {
     // do not draw on world map
     if (Find.World == null || Find.CurrentMap == null || Find.World.renderer == null || Find.World.renderer.wantedMode != WorldRenderMode.None)
     {
         return;
     }
     for (int i = 0; i < arrows.Count; i++)
     {
         var arrow = arrows[i];
         GenDraw.DrawArrowPointingAt(arrow.ArrowTarget);
     }
     arrows.RemoveAll(a => Time.unscaledTime > a.ExpireTime);
 }
 public override void LessonUpdate()
 {
     base.LessonUpdate();
     if (ConstructionNeeders().Count() < 3)
     {
         foreach (Thing item in ConstructionNeeders())
         {
             GenDraw.DrawArrowPointingAt(item.DrawPos);
         }
     }
     if (ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     this.cachedEdgeCells.Clear();
     this.cachedEdgeCells.AddRange((from c in this.RoomRect.EdgeCells
                                    where !TutorUtility.BuildingOrBlueprintOrFrameCenterExists(c, base.Map, ThingDefOf.Wall)
                                    select c).ToList());
     GenDraw.DrawFieldEdges((from c in this.cachedEdgeCells
                             where c.GetEdifice(base.Map) == null
                             select c).ToList());
     GenDraw.DrawArrowPointingAt(this.RoomRect.CenterVector3, false);
     if (this.ProgressPercent > 0.99989998340606689)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     base.LessonUpdate();
     if (this.ConstructionNeeders().Count() < 3)
     {
         foreach (Thing item in this.ConstructionNeeders())
         {
             GenDraw.DrawArrowPointingAt(item.DrawPos, false);
         }
     }
     if (this.ProgressPercent > 0.99989998340606689)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
示例#17
0
 public override void LessonUpdate()
 {
     base.LessonUpdate();
     if (this.ConstructionNeeders().Count <Thing>() < 3)
     {
         foreach (Thing current in this.ConstructionNeeders())
         {
             GenDraw.DrawArrowPointingAt(current.DrawPos, false);
         }
     }
     if (this.ProgressPercent > 0.9999f)
     {
         Find.ActiveLesson.Deactivate();
     }
 }
 public override void LessonUpdate()
 {
     GenDraw.DrawArrowPointingAt(BuildableRect.CenterVector3, offscreenOnly: true);
 }
 public override void LessonUpdate()
 {
     GenDraw.DrawFieldEdges(this.cachedCells);
     GenDraw.DrawArrowPointingAt(this.growingZoneRect.CenterVector3, false);
 }
示例#20
0
 public void AlertsReadoutUpdate()
 {
     if (Mathf.Max(Find.TickManager.TicksGame, Find.TutorialState.endTick) < 600)
     {
         return;
     }
     if (Find.Storyteller.def.disableAlerts)
     {
         this.activeAlerts.Clear();
         return;
     }
     this.curAlertIndex++;
     if (this.curAlertIndex >= AlertsReadout.AlertCycleLength)
     {
         this.curAlertIndex = 0;
     }
     for (int i = this.curAlertIndex; i < this.AllAlerts.Count; i += AlertsReadout.AlertCycleLength)
     {
         Alert alert = this.AllAlerts[i];
         try
         {
             if (alert.Active)
             {
                 if (!this.activeAlerts.Contains(alert))
                 {
                     this.activeAlerts.Add(alert);
                     alert.Notify_Started();
                 }
             }
             else
             {
                 for (int j = 0; j < this.activeAlerts.Count; j++)
                 {
                     if (this.activeAlerts[j] == alert)
                     {
                         this.activeAlerts.RemoveAt(j);
                         break;
                     }
                 }
             }
         }
         catch (Exception ex)
         {
             Log.ErrorOnce("Exception processing alert " + alert.ToString() + ": " + ex.ToString(), 743575);
             if (this.activeAlerts.Contains(alert))
             {
                 this.activeAlerts.Remove(alert);
             }
         }
     }
     for (int k = this.activeAlerts.Count - 1; k >= 0; k--)
     {
         Alert alert2 = this.activeAlerts[k];
         try
         {
             this.activeAlerts[k].AlertActiveUpdate();
         }
         catch (Exception ex2)
         {
             Log.ErrorOnce("Exception updating alert " + alert2.ToString() + ": " + ex2.ToString(), 743575);
             this.activeAlerts.RemoveAt(k);
         }
     }
     if (this.mouseoverAlertIndex >= 0 && this.mouseoverAlertIndex < this.activeAlerts.Count)
     {
         GlobalTargetInfo culprit = this.activeAlerts[this.mouseoverAlertIndex].GetReport().culprit;
         if (culprit.IsValid && culprit.IsMapTarget && Find.VisibleMap != null && culprit.Map == Find.VisibleMap)
         {
             GenDraw.DrawArrowPointingAt(((TargetInfo)culprit).CenterVector3, false);
         }
     }
     this.mouseoverAlertIndex = -1;
 }
示例#21
0
 public override void LessonUpdate()
 {
     GenDraw.DrawArrowPointingAt(Gen.AveragePosition(mineCells));
 }
 public override void LessonUpdate()
 {
     GenDraw.DrawFieldEdges(cachedCells);
     GenDraw.DrawArrowPointingAt(stockpileRect.CenterVector3);
 }
 public override void LessonUpdate()
 {
     GenDraw.DrawArrowPointingAt(Gen.AveragePosition(this.GrowZone.cells), false);
 }
 public override void LessonUpdate()
 {
     GenDraw.DrawArrowPointingAt(this.RoomRect.CenterVector3, false);
 }
示例#25
0
 public override void LessonUpdate()
 {
     GenDraw.DrawArrowPointingAt(this.BuildableRect.CenterVector3, true);
 }