cz.cuni.amis.pogamut.udk.communication.messages.gbinfomessages
Class IncomingProjectile

Package class diagram package IncomingProjectile
java.lang.Object
  extended by cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
      extended by cz.cuni.amis.pogamut.udk.communication.messages.GBObjectUpdate
          extended by cz.cuni.amis.pogamut.udk.communication.messages.gbinfomessages.IncomingProjectile
All Implemented Interfaces:
IWorldChangeEvent, IWorldObjectUpdatedEvent, IWorldObject, IGBWorldObjectEvent, cz.cuni.amis.utils.listener.Event

public class IncomingProjectile
extends GBObjectUpdate
implements IGBWorldObjectEvent, IWorldObject

Both asynchronous and synchronous message. Incoming projectile that we can see. Corresponding GameBots message is PRJ.


Nested Class Summary
 
Nested classes/interfaces inherited from interface cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdatedEvent
IWorldObjectUpdatedEvent.DestroyWorldObject
 
Field Summary
protected  double DamageRadius
          If the projectile has splash damage, how big it is – in ut units.
protected  javax.vecmath.Vector3d Direction
          Which direction projectile is heading to -> orientation vector.
protected  UnrealId Id
          Unique Id of the projectile.
protected  Location Location
          Current location of the projectile.
protected  Location Origin
          Possition of the origin, when combined with direction can define the line of fire.
static String PROTOTYPE
          Example how the message looks like - used during parser tests.
protected  double Speed
          Current speed of the projectile.
protected  double Time
          Estimated time till impact.
protected  String Type
          The class of the projectile (so you know what is flying against you).
protected  Velocity Velocity
          Current velocity vector of the projectile.
 
Constructor Summary
IncomingProjectile()
          Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).
IncomingProjectile(IncomingProjectile original)
          Cloning constructor.
IncomingProjectile(UnrealId Id, double Time, javax.vecmath.Vector3d Direction, Location Location, Velocity Velocity, double Speed, Location Origin, double DamageRadius, String Type)
          Creates new instance of command IncomingProjectile.
 
Method Summary
 boolean equals(Object obj)
           
 double getDamageRadius()
          If the projectile has splash damage, how big it is – in ut units.
 javax.vecmath.Vector3d getDirection()
          Which direction projectile is heading to -> orientation vector.
 UnrealId getId()
          Unique Id of the projectile.
 double getLastSeenTime()
           
 ILocalWorldObject getLocal()
           
 Location getLocation()
          Current location of the projectile.
 IWorldObject getObject()
          Returns original object (if method update() has already been called, for bot-programmer that is always true as the original object is updated and then the event is propagated).
 Location getOrigin()
          Possition of the origin, when combined with direction can define the line of fire.
 ISharedWorldObject getShared()
           
 long getSimTime()
           
 double getSpeed()
          Current speed of the projectile.
 IStaticWorldObject getStatic()
           
 double getTime()
          Estimated time till impact.
 String getType()
          The class of the projectile (so you know what is flying against you).
 Velocity getVelocity()
          Current velocity vector of the projectile.
 int hashCode()
           
protected  void setTime(double time)
           
 String toHtmlString()
           
 String toString()
           
 IWorldObjectUpdateResult update(IWorldObject obj)
           
 
Methods inherited from class cz.cuni.amis.pogamut.base.communication.messages.InfoMessage
toJsonLiteral
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

PROTOTYPE

public static final String PROTOTYPE
Example how the message looks like - used during parser tests.

See Also:
Constant Field Values

Id

protected UnrealId Id
Unique Id of the projectile.


Time

protected double Time
Estimated time till impact.


Direction

protected javax.vecmath.Vector3d Direction
Which direction projectile is heading to -> orientation vector.


Location

protected Location Location
Current location of the projectile.


Velocity

protected Velocity Velocity
Current velocity vector of the projectile.


Speed

protected double Speed
Current speed of the projectile.


Origin

protected Location Origin
Possition of the origin, when combined with direction can define the line of fire.


DamageRadius

protected double DamageRadius
If the projectile has splash damage, how big it is – in ut units.


Type

protected String Type
The class of the projectile (so you know what is flying against you).

Constructor Detail

IncomingProjectile

public IncomingProjectile(UnrealId Id,
                          double Time,
                          javax.vecmath.Vector3d Direction,
                          Location Location,
                          Velocity Velocity,
                          double Speed,
                          Location Origin,
                          double DamageRadius,
                          String Type)
Creates new instance of command IncomingProjectile. Both asynchronous and synchronous message. Incoming projectile that we can see. Corresponding GameBots message for this command is .

Parameters:
Id - Unique Id of the projectile.
Time - Estimated time till impact.
Direction - Which direction projectile is heading to -> orientation vector.
Location - Current location of the projectile.
Velocity - Current velocity vector of the projectile.
Speed - Current speed of the projectile.
Origin - Possition of the origin, when combined with direction can define the line of fire.
DamageRadius - If the projectile has splash damage, how big it is – in ut units.
Type - The class of the projectile (so you know what is flying against you).

IncomingProjectile

public IncomingProjectile(IncomingProjectile original)
Cloning constructor.


IncomingProjectile

public IncomingProjectile()
Used by Yylex to create empty message then to fill it's protected fields (Yylex is in the same package).

Method Detail

getId

public UnrealId getId()
Unique Id of the projectile.

Specified by:
getId in interface IWorldObjectUpdatedEvent
Specified by:
getId in interface IWorldObject

getTime

public double getTime()
Estimated time till impact.


getDirection

public javax.vecmath.Vector3d getDirection()
Which direction projectile is heading to -> orientation vector.


getLocation

public Location getLocation()
Current location of the projectile.


getVelocity

public Velocity getVelocity()
Current velocity vector of the projectile.


getSpeed

public double getSpeed()
Current speed of the projectile.


getOrigin

public Location getOrigin()
Possition of the origin, when combined with direction can define the line of fire.


getDamageRadius

public double getDamageRadius()
If the projectile has splash damage, how big it is – in ut units.


getType

public String getType()
The class of the projectile (so you know what is flying against you).


setTime

protected void setTime(double time)

getLastSeenTime

public double getLastSeenTime()

getLocal

public ILocalWorldObject getLocal()

getShared

public ISharedWorldObject getShared()

getStatic

public IStaticWorldObject getStatic()

getSimTime

public long getSimTime()
Specified by:
getSimTime in interface IWorldChangeEvent
Specified by:
getSimTime in interface IWorldObject

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

update

public IWorldObjectUpdateResult update(IWorldObject obj)
Specified by:
update in interface IWorldObjectUpdatedEvent

getObject

public IWorldObject getObject()
Returns original object (if method update() has already been called, for bot-programmer that is always true as the original object is updated and then the event is propagated).


toString

public String toString()
Overrides:
toString in class InfoMessage

toHtmlString

public String toHtmlString()


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