예제 #1
0
    public bool EspecificButton(XboxCtrlrInput.XboxButton button)
    {
        switch (button)
        {
        case XboxCtrlrInput.XboxButton.A:
            return(Input.GetKeyDown(KeyCode.A));

        case XboxCtrlrInput.XboxButton.B:
            return(Input.GetKeyDown(KeyCode.B));

        case XboxCtrlrInput.XboxButton.X:
            return(Input.GetKeyDown(KeyCode.X));

        case XboxCtrlrInput.XboxButton.Y:
            return(Input.GetKeyDown(KeyCode.Y));

        case XboxCtrlrInput.XboxButton.Start:
            return(Input.GetKeyDown(KeyCode.Return));

        case XboxCtrlrInput.XboxButton.Back:
            return(Input.GetKeyDown(KeyCode.Backspace));

        case XboxCtrlrInput.XboxButton.LeftStick:
        case XboxCtrlrInput.XboxButton.RightStick:
        case XboxCtrlrInput.XboxButton.LeftBumper:
        case XboxCtrlrInput.XboxButton.RightBumper:
        default:
            return(false);
        }
    }
예제 #2
0
    //--------------------------------------------------------------
    // *** CONSTRUCTORS ***

    public override void Start() {

        // Stores reference to the player associated with the character
        _Player = GetComponent<Player>();
        _LinearGoTo = GetComponent<LinearGoToTarget>();

        // Store rigidbody reference
        _RigidBody = GetComponent<Rigidbody>();

        // Store animator controller reference
        _Animator = GetComponent<Animator>();

        // Set character's health & get collision reference
        _StartingHealth = PlayerManager._pInstance._GeomancerStartingHealth;
        base.Start();
        
        // Set OnDeath effect
        _EffectOnDeath = PlayerManager._pInstance._OnDeathEffect;

        // Set character's speed
        _MovementSpeed = PlayerManager._pInstance._GeomancerMovementSpeed;

        // Set dash properties
        _DashEnabled = PlayerManager._pInstance._DashEnabled;
        _DashInputButton = PlayerManager._pInstance._DashButton;
        _DashDistance = PlayerManager._pInstance._DashDistance;
        _DashCooldown = PlayerManager._pInstance.DashCooldown;

        // Set knockback properties
        _KnockbackEnabled = PlayerManager._pInstance._KnockbackEnabled;
        _KnockbackInputButton = PlayerManager._pInstance._KnockbackButton;
        _KnockbackForceNormal = PlayerManager._pInstance._KnockbackForceNormal;
        _KnockbackForceDash = PlayerManager._pInstance.KnockbackForceDash;
        _KnockbackCooldown = PlayerManager._pInstance._KnockbackCooldown;

        // Set invincibility properties
        _InvincibleTime = DeviceManager._pInstance._InvincibilityTime;
        _InvincibleMaterial = PlayerManager._pInstance._InvincibleMaterial;

        // Set tabbing weapon input
        _TabInputButton = PlayerManager._pInstance._WeaponSwapButton;

        // Get random dialog and assign it to the player
        _CharacterDialog = SoundManager._pInstance.GetRandomDialog();
        _CharacterDialog.SetPlayer(_Player);

        // Set the owner for the voxel sounds
        foreach (var tauntSound in _CharacterDialog._TauntSounds) {

            tauntSound._Owner = this;
        }

        // Set's either the orb or the flamethrower as the primary depending on whats specified in the player manager
        switch (PlayerManager._pInstance._PrimaryWeapon) {

            case PlayerManager.WeaponList.Orb: {

                    // Create players's primary weapon (orb)
                    _WeaponPrimary = GameObject.FindGameObjectWithTag("P" + _Player._pPlayerID + "_OrbWeapon").GetComponent<Weapon>();
                    if (_WeaponPrimary != null) {

                        // Initialize PRIMARY weapon
                        _WeaponPrimary.SetOwner(this);
                        _WeaponPrimary.Init(); /// Create fireball object pool (inactive projectiles)
                    }
                    // Create players's secondary weapon (flamethrower)
                    _WeaponSecondary = GameObject.FindGameObjectWithTag("P" + _Player._pPlayerID + "_FlamethrowerWeapon").GetComponent<Weapon>();
                    if (_WeaponSecondary != null) {

                        // Initialize SECONDARY weapon
                        _WeaponSecondary.SetOwner(this);
                        _WeaponSecondary.Init(); /// Create flamethrower object pool (inactive projectiles)
                    }
                    break;
                }

            case PlayerManager.WeaponList.Flamethrower: {

                    // Create players's primary weapon (flamethrower)
                    _WeaponPrimary = GameObject.FindGameObjectWithTag("P" + _Player._pPlayerID + "_FlamethrowerWeapon").GetComponent<Weapon>();
                    if (_WeaponPrimary != null) {

                        // Initialize PRIMARY weapon
                        _WeaponPrimary.SetOwner(this);
                        _WeaponPrimary.Init(); /// Create flamethrower object pool (inactive projectiles)
                    }
                    // Create players's secondary weapon (orb)
                    _WeaponSecondary = GameObject.FindGameObjectWithTag("P" + _Player._pPlayerID + "_OrbWeapon").GetComponent<Weapon>();
                    if (_WeaponSecondary != null) {

                        // Initialize SECONDARY weapon
                        _WeaponSecondary.SetOwner(this);
                        _WeaponSecondary.Init(); /// Create fireball object pool (inactive projectiles)
                    }
                    break;
                }

            default: {
                    break;
                }
        }

        // Create player's special weapon (shield)
        _WeaponSpecial = GameObject.FindGameObjectWithTag("P" + _Player._pPlayerID + "_ShieldWeapon").GetComponent<Weapon>();
        if (_WeaponSpecial != null) {

            // Initialize SPECIAL weapon
            _WeaponSpecial.SetOwner(this);
            _WeaponSpecial.Init(); /// Create minion object pool (empty)
        }
        // Can be controlled by player / ai controller
        SetActive(true);

        // Add the gameObject associated to this script to the playermanager object pools
        PlayerManager._pInstance.GetActiveNecromancers().Add(this);
        PlayerManager._pInstance.GetAllPlayers().Add(this);
    }
예제 #3
0
    //--------------------------------------------------------------
    // *** ABILITIES ***

    private void PerformActionFromInput(CharacterAbility ability, XboxCtrlrInput.XboxButton button) {

        _Ability = ability;
        switch (button) {

            // Face button bottom (A)
            case XboxCtrlrInput.XboxButton.A: {

                    if (_Player.GetFaceBottomInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            // Face button right (B)
            case XboxCtrlrInput.XboxButton.B: {

                    if (_Player.GetFaceRightInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            // Face button left (X)
            case XboxCtrlrInput.XboxButton.X: {

                    if (_Player.GetFaceLeftInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            // Face button top (Y)
            case XboxCtrlrInput.XboxButton.Y: {

                    if (_Player.GetFaceTopInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            // Right bumper
            case XboxCtrlrInput.XboxButton.RightBumper: {

                    if (_Player.GetRightBumperInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            // Left bumper
            case XboxCtrlrInput.XboxButton.LeftBumper: {

                    if (_Player.GetLeftBumperInput) {

                        // Perform action
                        _Ability();
                    }
                    break;
                }

            default: {

                    break;
                }
        }
    }
예제 #4
0
 public static ControlKey XboxButton(XboxCtrlrInput.XboxButton btn)
 {
     return(new ControlKey(ControlKeyType.Xbox, btn.ToString()));
 }