예제 #1
0
    void Update()
    {
        if (GameManager.Instance.InputController.MouseWheelDown)
        {
            SwitchWeapon(1);
        }

        if (GameManager.Instance.InputController.MouseWheelUp)
        {
            SwitchWeapon(-1);
        }

        if (GameManager.Instance.LocalPlayer.PlayerState.MoveState == PlayerState.EMoveState.SPRINTING)
        {
            return;
        }

        if (!canFire)
        {
            return;
        }

        if (GameManager.Instance.InputController.Fire1)
        {
            ActiveWeapon.Fire();
        }
    }
예제 #2
0
 void Update()
 {
     if (!shouldFire || !CanFire || !enemyPlayer.EnemyHealth.IsAlive)
     {
         return;
     }
     ActiveWeapon.Fire();
 }
예제 #3
0
    void Update()
    {
        if (!shootFire || !canFire || !enemy.EnemyHealth.isAlive)
        {
            return;
        }

        ActiveWeapon.Fire();
    }
    void Update()
    {
        if (!player.IsLocalPlayer && IsPlayerAlive)
        {
            if (player.InputState.Fire1)
            {
                ActiveWeapon.Fire();
            }
        }


        if (!IsPlayerAlive || GameManager.Instance.IsPaused)
        {
            return;
        }

        if (player.IsLocalPlayer)
        {
            if (GameManager.Instance.InputController.MouseWheelDown)
            {
                SwitchWeapon(1);
            }

            if (GameManager.Instance.InputController.MouseWheelUp)
            {
                SwitchWeapon(-1);
            }

            if (GameManager.Instance.LocalPlayer.PlayerState.MoveState == PlayerState.EMoveState.SPRINTING)
            {
                return;
            }

            if (!CanFire)
            {
                return;
            }

            if (player.InputState.Fire1)
            {
                ActiveWeapon.SetAimPoint(GetImpactPoint());
                ActiveWeapon.Fire();
            }

            if (player.InputState.Reload)
            {
                ActiveWeapon.Reload();
            }
        }
    }
예제 #5
0
    void Update()
    {
        if (!IsPlayerAlive || GameManager.Instance.IsPaused)
        {
            return;
        }
        if (GameManager.Instance.InputController.MouseWheelDown)
        {
            SwitchWeapon(1);
        }
        if (GameManager.Instance.InputController.MouseWheelUp)
        {
            SwitchWeapon(-1);
        }

        if (GameManager.Instance.LocalPlayer.PlayerState.MoveState == PlayerState.EMoveState.RUNNING)
        {
            return;
        }

        if (!CanFire)
        {
            return;
        }

        if ((GameManager.Instance.InputController.Fire1) || (GameManager.Instance.InputController.IsAiming && GameManager.Instance.InputController.Fire1))
        {
            ActiveWeapon.Fire();
        }

        if (GameManager.Instance.InputController.Reload)
        {
            ActiveWeapon.Reload();
        }

        /*if(GameManager.Instance.InputController.IsAiming && GameManager.Instance.InputController.Fire1)
         * {
         *  sniperRifle.Fire();
         * }*/

        /*if (GameManager.Instance.InputController.IsAiming && GameManager.Instance.InputController.Fire1)
         * {
         *  pistol.Fire();
         * }*/
    }
예제 #6
0
    /**
     * 玩家状态
     * */
    private void Update()
    {
        if (pauseController.Paused || !IsPlayerAlive)
        {
            return;
        }

        if (GameManager.Instance.InputController.Fire1 && canFire)
        {
            ActiveWeapon.Fire();
        }
        if (GameManager.Instance.InputController.MouseWheelUp)
        {
            SwitchWeapon(1);
        }
        if (GameManager.Instance.InputController.MouseWheelDown)
        {
            SwitchWeapon(-1);
        }
    }
예제 #7
0
    void Update()
    {
        if (!isPlayerAlive)
        {
            return;
        }

        if (player.PlayerState.MoveState == PlayerState.EMoveState.SPRINTING ||
            player.PlayerState.MoveState == PlayerState.EMoveState.COVER)
        {
            CanFire = false;
        }
        else
        {
            CanFire = true;
        }

        if (GameManager.Instance.InputController.Fire1 && CanFire)
        {
            ActiveWeapon.Fire();
        }

        if (GameManager.Instance.InputController.MouseWheelUp)
        {
            SwitchWeapon(1);
        }

        if (GameManager.Instance.InputController.MouseWheelDown)
        {
            SwitchWeapon(-1);
        }

        if (GameManager.Instance.InputController.Reload &&
            player.PlayerState.MoveState != PlayerState.EMoveState.SPRINTING)
        {
            ActiveWeapon.Reload();
        }
    }
예제 #8
0
    void Update()
    {
        if (!GetComponent <Player>().PlayerHealth.isAlive || GameManager.Instance.isPaused)
        {
            return;
        }

        if (GameManager.Instance.InputController.mouseWheelDown)
        {
            SwitchWeapon(1);
        }

        if (GameManager.Instance.InputController.mouseWheelUp)
        {
            SwitchWeapon(-1);
        }

        if (GameManager.Instance.LocalPlayer.PlayerState.moveState == PlayerState.EMoveState.SPRINTING)
        {
            return;
        }

        if (!canFire)
        {
            return;
        }

        if (GameManager.Instance.InputController.fire1)
        {
            ActiveWeapon.Fire();
        }

        if (GameManager.Instance.InputController.reload)
        {
            ActiveWeapon.Reload();
        }
    }
예제 #9
0
    // Update is called once per frame
    void Update()
    {
        if (!IsPlayerAlive || GameManager.instance.IsPaused)
        {
            return;
        }

        if (GameManager.instance.GetInputController.mouseWheelDown)
        {
            SwitchWeapon(1);
        }

        if (GameManager.instance.GetInputController.mouseWheelUp)
        {
            SwitchWeapon(-1);
        }

        if (GameManager.instance.LocalPlayer.PlayerState.MoveState == PlayerState.EMoveState.SPRINTING)
        {
            return;
        }

        if (!CanFire)
        {
            return;
        }

        if (GameManager.instance.GetInputController.fire1)
        {
            ActiveWeapon.Fire();
        }

        if (GameManager.instance.GetInputController.reload)
        {
            ActiveWeapon.Reload();
        }
    }
        public override void think(GameTime time)
        {
            noAction++;
            if (noAction > 700)
            {
                base.die();
                Console.WriteLine(base.Type.ToString() + " died of a broken heart");
            }
            if (_attacking == true)
            {
                noAction = 0;
                if (HTW.Instance.TotalElapsedMilliseconds - _pastTime > ActiveWeapon.RechargeTime)
                {
                    _attacking = false;
                    this.State = EntityState.RESTING;
                }
            }
            else
            {
                if (_evadingObstacle)
                {
                    if (HTW.Instance.TotalElapsedMilliseconds - _evasionStartTime > 500)
                    {
                        _evadingObstacle = false;
                    }
                }
                else
                {
                    Compass.checkForCreatures(this, Compass.AlgorythmType.CIRCLE);
                }
                switch (base.State)
                {
                case EntityState.DEAD:
                    return;

                case EntityState.RESTING:
                    break;

                case EntityState.MOVING:
                    if (!_blocked)
                    {
                        MoveForward(Speed * time.ElapsedGameTime.Milliseconds);
                    }
                    if (this.CollisionTop)
                    {
                        _blocked = true;
                    }
                    else
                    {
                        _blocked = false;
                    }
                    CollisionDetection.testForCollisions(this);
                    break;

                case EntityState.ATTACKING:
                    ActiveWeapon.Fire(this.Rotation, time);
                    _attacking = true;
                    _pastTime  = HTW.Instance.TotalElapsedMilliseconds;
                    break;
                }
            }
        }
 public void TriggerWeapon()
 {
     ActiveWeapon?.Fire();
 }