Example #1
0
 public void onReload(Person person, long now) {
   if (person.isReload() && person.getShotCooldown() < now && person.getReloadCooldown() < now) {
     AbstractWeapon weapon = person.getWeapon();
     if (weapon.getTotalClip() <= 0) {
       return;
     }
     person.setIsReload(false);
     int clipToReload = weapon.getClipSize();
     if (clipToReload > weapon.getTotalClip()) {
       clipToReload = weapon.getTotalClip();
     }
     weapon.setCurrentClip(clipToReload);
   }
 }
Example #2
0
 void handleFire(Person person, Room room) {
   if (person.isFire()) {
     AbstractWeapon weapon = person.getWeapon();
     long now = System.currentTimeMillis();
     if (!person.isReload() && weapon.getCurrentClip() <= 0) {
       if (weapon.getTotalClip() > 0) {
         person.setIsReload(true);
         person.setReloadCooldown(now + person.getWeapon().getReloadTimeout());
       }
     } else if (!person.isReload()
         && weapon.getCurrentClip() > 0
         && person.getShotCooldown() < now) {
       fire(person, room);
     }
   }
 }