private void Update() { var dir = GetCurrentDirection(); movement.SetDirection(dir); if (Input.GetMouseButtonDown(0)) { OnPropertyChanged("Shoot"); if (currentFirearm) { var consumption = currentFirearm.EnergyConsumption(); if (health.GetHealth() > consumption && currentFirearm.TryShoot()) { health.TakeDamage(consumption); } } if (!currentFirearm.HasAmmo()) { RemoveWeapon(currentFirearm); currentFirearm = null; SelectWeapon(0); } } if (Input.GetMouseButtonDown(1)) { converter.TryShoot(); } if (Input.GetMouseButtonDown(2)) { NextWeapon(); } }