BWAPI
|
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 };