Ваш метод Shoot()
запускается всякий раз, когда вы нажимаете кнопку «Fire1», поскольку единственная проверка, которую вы выполняете, это если (Input.GetButtonDown("Fire1"))
.
Если вы хотите зависеть от нажатия кнопки, вам нужно убрать эту часть кода и вызывать Shoot()
всякий раз, когда вы нажимаете кнопку.
Вы можете добавить событие внажмите кнопку с кодом, как объяснено здесь
public Button m_YourFirstButton;
void Start()
{
//Calls the TaskOnClick/TaskWithParameters/ButtonClicked method when you click the Button
m_YourFirstButton.onClick.AddListener(TaskOnClick);
}
void TaskOnClick()
{
//Output this to console when Button1 or Button3 is clicked
Debug.Log("You have clicked the button!");
}
, или вы можете позвонить ему из инспектора, сославшись на свой пистолет "Монобихиор".