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); } }
//-------------------------------------------------------------- // *** 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); }
//-------------------------------------------------------------- // *** 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; } } }
public static ControlKey XboxButton(XboxCtrlrInput.XboxButton btn) { return(new ControlKey(ControlKeyType.Xbox, btn.ToString())); }