protected override void OnUpdate(SAMTime gameTime, InputState istate) { controller.Update(gameTime, istate); bool change = Rotation.CUpdate(gameTime); if (change) { _screen.LaserNetwork.SemiDirty = true; ChargeTime = 0; } CrosshairSize.Update(gameTime); UpdatePhysicBodies(); UpdateHealth(gameTime); UpdateBoost(gameTime); UpdateNetwork(gameTime); UpdateCore(gameTime); UpdateDamage(gameTime); UpdateShield(gameTime); #if DEBUG if (IsMouseDownOnThis(istate) && DebugSettings.Get("AssimilateCannon")) { var bckp = DebugSettings.Get("ImmortalCannons"); DebugSettings.SetManual("ImmortalCannons", false); while (Fraction.Type != FractionType.PlayerFraction) { TakeDamage(this.GDOwner().GetPlayerFraction(), 1); } DebugSettings.SetManual("ImmortalCannons", bckp); CannonHealth.SetForce(1f); } if (IsMouseDownOnThis(istate) && DebugSettings.Get("LooseCannon")) { var bckp = DebugSettings.Get("ImmortalCannons"); DebugSettings.SetManual("ImmortalCannons", false); while (Fraction.Type != FractionType.ComputerFraction) { TakeDamage(this.GDOwner().GetComputerFraction(), 1); } DebugSettings.SetManual("ImmortalCannons", bckp); CannonHealth.SetForce(1f); } if (IsMouseDownOnThis(istate) && DebugSettings.Get("AbandonCannon")) { CannonHealth.SetForce(0f); SetFraction(Fraction.GetNeutral()); } #endif }