private void HandleInput() { var rawVert = Input.GetAxisRaw("Vertical"); var rawHorz = Input.GetAxisRaw("Horizontal"); controller.HandleVerticalInput(rawVert); controller.HandleHorizontalInput(rawHorz); if (Input.GetButtonDown("Jump")) { IJump jumper = controller as IJump; if (jumper != null) { jumper.HandleJump(); } } if (Input.GetButtonDown("Fire1")) { IMelee melee = controller as IMelee; if (melee != null) { melee.HandleMelee(); } } }
public void ChangeMeleeWeapon(MeleeWeapons weaponType, GameObject gameObject) { iMeleeWeapon?.Destroy(); switch (weaponType) { case MeleeWeapons.Punch: iMeleeWeapon = gameObject.AddComponent <Punch>(); break; case MeleeWeapons.Knife: break; case MeleeWeapons.Katana: break; default: throw new ArgumentOutOfRangeException(nameof(weaponType), weaponType, null); } }
// Constructor of the adapter public MeleeAdapter(IMelee melee) { this.melee = melee; IsAlternate = true; Shoot(); }