示例#1
0
 public override void Draw()
 {
     TopArtillery.DrawTurret();
     if (def.drawerType == DrawerType.RealtimeOnly)
     {
         DrawAt(DrawPos, false);
         return;
     }
     Comps_PostDraw();
 }
示例#2
0
 public override void SpawnSetup(Map map, bool respawningAfterLoad)
 {
     base.SpawnSetup(map, respawningAfterLoad);
     if (!respawningAfterLoad)
     {
         TopArtillery.SetRotationFromOrientation();
         burstCooldownTicksLeft = def.building.turretInitialCooldownTime.SecondsToTicks();
     }
     Map.GetCachedMapComponent <ListerAirDefenses>().Notify_AirDefenseSpawned(this);
     ActiveVerb = base.AttackVerb;
     TopArtillery.PostSpawnSetup();
 }
示例#3
0
 public override void Tick()
 {
     base.Tick();
     if (TopArtillery is TurretTop_Recoiled topRecoiled)
     {
         topRecoiled.RecoilTick();
     }
     if (Active && (mannableComp is null || mannableComp.MannedNow) && !stunner.Stunned && Spawned && AttackVerb.state != VerbState.Bursting)
     {
         TopArtillery.Tick();
     }
 }