nl.tudelft.pogamut.unreal.agent.module.shooting
Interface WeaponShooting

Package class diagram package WeaponShooting
All Known Implementing Classes:
AbstractWeaponShooting, GenericWeaponShooting

public interface WeaponShooting

Implementing modulus should provide a simple way to efficiently utilize the weapons in unreal tournament. This includes using charging weapons and using combos.

Author:
mpkorstanje

Method Summary
 cz.cuni.amis.pogamut.base3d.worldview.object.ILocated getFocus()
          Should return a self updating object that indicates where the owner wants to focus.
 ItemType getWeaponType()
          The weapon type this module can do the shooting for.
 boolean isActive()
          True when this module has been activated and is managing a weapon.
 void shoot(WeaponPref weaponPref, cz.cuni.amis.pogamut.base3d.worldview.object.ILocated target)
          Shoots a given target in an effective way.
 void stopShoot()
          Stops the shooting.
 

Method Detail

shoot

void shoot(WeaponPref weaponPref,
           cz.cuni.amis.pogamut.base3d.worldview.object.ILocated target)
Shoots a given target in an effective way. The weapon preference is only used to determine which fire mode is preferred. The weapon use is determined by getWeaponType(). Callers should make sure that the weapon used by Shoot is available and has sufficient ammo. (Generally through using WeaponPrefs). While a target is given, shooting will try to attack this target however it may smartly refuse to shoot if the target is no longer visible. It may not refuse to stop shooting at targets that are out of range, the WeaponPrefs module should make this decision.

Parameters:
weaponPref - the preferred firing mode to use. Weapon use is determined by module.
target - to shoot.

stopShoot

void stopShoot()
Stops the shooting. This may result in the discharge when a weapon has been charging. TODO: Modules should handle this gracefully.


getWeaponType

ItemType getWeaponType()
The weapon type this module can do the shooting for.

Returns:
the weapon type we'll shoot with.

isActive

boolean isActive()
True when this module has been activated and is managing a weapon.

Returns:
true when this module has been activated and is managing a weapon.

getFocus

cz.cuni.amis.pogamut.base3d.worldview.object.ILocated getFocus()
Should return a self updating object that indicates where the owner wants to focus.

Returns:
a focus indicating where the owner wants to focus.


Copyright © 2015 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.