public override void Draw() { TopArtillery.DrawTurret(); if (def.drawerType == DrawerType.RealtimeOnly) { DrawAt(DrawPos, false); return; } Comps_PostDraw(); }
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(); }
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(); } }