private void OnTriggerEnter2D(Collider2D collision) { if (this.weapon != null) { return; } IElementalWeapon weapon = collision.GetComponent <IElementalWeapon>(); if (weapon != null) { Equip(weapon); } }
void PullTrigger() { if (weapon == null) { return; } weapon.Shoot(); if (weapon.IsEmpty) { weapon.Dequip(); weapon = null; } weaponEvent.OnWeaponShot(); }
void Equip(IElementalWeapon weapon) { this.weapon = weapon; weapon.Equip(); if (elemental) { weapon.SwitchElement(elemental.Element); } pointer.Deactivate(); gunHolder.localScale = new Vector2(1, 1); weapon.gunTransform.parent = gunHolder; weapon.gunTransform.localPosition = Vector2.zero; weapon.gunTransform.localRotation = Quaternion.identity; sprite = weapon.gunTransform.GetComponent <SpriteRenderer>(); }