Esempio n. 1
0
        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
        }