コード例 #1
0
        public override bool SharedCanFire(ICharacter character, WeaponState weaponState)
        {
            var requiredEnergyAmount = this.EnergyUsePerShot;
            var vehicle = character.SharedGetCurrentVehicle();

            if (VehicleEnergySystem.SharedHasEnergyCharge(vehicle, Convert.ToUInt16(requiredEnergyAmount)))
            {
                return(true);
            }

            if (IsClient && weaponState.SharedGetInputIsFiring())
            {
                VehicleEnergyConsumptionSystem.ClientShowNotificationNotEnoughEnergy(
                    (IProtoVehicle)vehicle.ProtoGameObject);
                // stop using weapon item!
                weaponState.ProtoWeapon.ClientItemUseFinish(weaponState.ItemWeapon);
            }

            return(false);
        }