BWAPI
trunk/bwapi/BWAPI/Source/BWAPI/BulletImpl.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "BWAPI/Bullet.h"
00004 
00005 #include <Util/Types.h>
00006 #include <BWAPI/Position.h>
00007 #include <BWAPI/BulletType.h>
00008 #include <BWAPI/Client/BulletData.h>
00009 namespace BW    { struct Bullet; };
00010 
00011 namespace BWAPI
00012 {
00017   class UnitImpl;
00018   class BulletImpl : public Bullet
00019   {
00020     public:
00021       virtual int        getID() const;
00022       virtual Player*    getPlayer() const;
00023       virtual BulletType getType() const;
00024       virtual Unit*      getSource() const;
00025       virtual Position   getPosition() const;
00026       virtual double     getAngle() const;
00027       virtual double     getVelocityX() const;
00028       virtual double     getVelocityY() const;
00029       virtual Unit*      getTarget() const;
00030       virtual Position   getTargetPosition() const;
00031       virtual int        getRemoveTimer() const;
00032       virtual bool       exists() const;
00033       virtual bool       isVisible() const;
00034       virtual bool       isVisible(Player* player) const;
00035 
00036       BulletImpl(BW::Bullet* originalBullet, u16 index);
00037       ~BulletImpl();
00038 
00039       void        setExists(bool exists);
00040       BW::Bullet* getRawData() const;
00041       void        saveExists();
00042 
00043       BulletData* self;
00044       BulletData  data;
00045       void        updateData();
00046 
00047       static BulletImpl* BWBulletToBWAPIBullet(BW::Bullet* bullet);
00048     private:
00049       BW::Bullet* bwOriginalBullet; 
00050       u16 index;
00051       int id;
00052       bool __exists;
00053       bool lastExists;
00054   };
00055 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines