This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
BWMirror-Generator/bwapi-master/Client/UnitImpl.h

224 lines
9.1 KiB
C
Raw Normal View History

2014-08-05 04:43:14 -04:00
#pragma once
#include <BWAPI.h>
#include "UnitData.h"
#include <set>
#include <string>
namespace BWAPI
{
class Player;
class UnitImpl : public Unit
{
private:
int id;
UnitType initialType;
int initialResources;
int initialHitPoints;
Position initialPosition;
int lastCommandFrame;
UnitCommand lastCommand;
void* clientInfo;
public:
UnitData* self;
std::set<Unit*> connectedUnits;
std::set<Unit*> loadedUnits;
void clear();
void saveInitialState();
UnitImpl(int id);
virtual int getID() const;
virtual int getReplayID() const;
virtual Player* getPlayer() const;
virtual UnitType getType() const;
virtual Position getPosition() const;
virtual TilePosition getTilePosition() const;
virtual double getAngle() const;
virtual double getVelocityX() const;
virtual double getVelocityY() const;
virtual BWAPI::Region *getRegion() const;
virtual int getLeft() const;
virtual int getTop() const;
virtual int getRight() const;
virtual int getBottom() const;
virtual int getHitPoints() const;
virtual int getShields() const;
virtual int getEnergy() const;
virtual int getResources() const;
virtual int getResourceGroup() const;
virtual int getDistance(Unit* target) const;
virtual int getDistance(Position target) const;
virtual bool hasPath(Unit* target) const;
virtual bool hasPath(Position target) const;
virtual int getLastCommandFrame() const;
virtual UnitCommand getLastCommand() const;
virtual BWAPI::Player *getLastAttackingPlayer() const;
virtual int getUpgradeLevel(UpgradeType upgrade) const;
virtual UnitType getInitialType() const;
virtual Position getInitialPosition() const;
virtual TilePosition getInitialTilePosition() const;
virtual int getInitialHitPoints() const;
virtual int getInitialResources() const;
virtual int getKillCount() const;
virtual int getAcidSporeCount() const;
virtual int getInterceptorCount() const;
virtual int getScarabCount() const;
virtual int getSpiderMineCount() const;
virtual int getGroundWeaponCooldown() const;
virtual int getAirWeaponCooldown() const;
virtual int getSpellCooldown() const;
virtual int getDefenseMatrixPoints() const;
virtual int getDefenseMatrixTimer() const;
virtual int getEnsnareTimer() const;
virtual int getIrradiateTimer() const;
virtual int getLockdownTimer() const;
virtual int getMaelstromTimer() const;
virtual int getOrderTimer() const;
virtual int getPlagueTimer() const;
virtual int getRemoveTimer() const;
virtual int getStasisTimer() const;
virtual int getStimTimer() const;
virtual UnitType getBuildType() const;
virtual std::list<UnitType> getTrainingQueue() const;
virtual TechType getTech() const;
virtual UpgradeType getUpgrade() const;
virtual int getRemainingBuildTime() const;
virtual int getRemainingTrainTime() const;
virtual int getRemainingResearchTime() const;
virtual int getRemainingUpgradeTime() const;
virtual Unit* getBuildUnit() const;
virtual Unit* getTarget() const;
virtual Position getTargetPosition() const;
virtual Order getOrder() const;
virtual Unit* getOrderTarget() const;
virtual Position getOrderTargetPosition() const;
virtual Order getSecondaryOrder() const;
virtual Position getRallyPosition() const;
virtual Unit* getRallyUnit() const;
virtual Unit* getAddon() const;
virtual Unit* getNydusExit() const;
virtual Unit* getPowerUp() const;
virtual Unit* getTransport() const;
virtual std::set<Unit*> getLoadedUnits() const;
virtual Unit* getCarrier() const;
virtual std::set<Unit*> getInterceptors() const;
virtual Unit* getHatchery() const;
virtual std::set<Unit*> getLarva() const;
virtual std::set<Unit*>& getUnitsInRadius(int radius) const;
virtual std::set<Unit*>& getUnitsInWeaponRange(WeaponType weapon) const;
virtual void *getClientInfo() const;
virtual void setClientInfo(void* clientinfo);
virtual bool exists() const;
virtual bool hasNuke() const;
virtual bool isAccelerating() const;
virtual bool isAttackFrame() const;
virtual bool isAttacking() const;
virtual bool isBeingConstructed() const;
virtual bool isBeingGathered() const;
virtual bool isBeingHealed() const;
virtual bool isBlind() const;
virtual bool isBraking() const;
virtual bool isBurrowed() const;
virtual bool isCarryingGas() const;
virtual bool isCarryingMinerals() const;
virtual bool isCloaked() const;
virtual bool isCompleted() const;
virtual bool isConstructing() const;
virtual bool isDefenseMatrixed() const;
virtual bool isDetected() const;
virtual bool isEnsnared() const;
virtual bool isFollowing() const;
virtual bool isGatheringGas() const;
virtual bool isGatheringMinerals() const;
virtual bool isHallucination() const;
virtual bool isHoldingPosition() const;
virtual bool isIdle() const;
virtual bool isInWeaponRange(Unit *target) const;
virtual bool isInterruptible() const;
virtual bool isInvincible() const;
virtual bool isIrradiated() const;
virtual bool isLifted() const;
virtual bool isLoaded() const;
virtual bool isLockedDown() const;
virtual bool isMaelstrommed() const;
virtual bool isMorphing() const;
virtual bool isMoving() const;
virtual bool isParasited() const;
virtual bool isPatrolling() const;
virtual bool isPlagued() const;
virtual bool isRepairing() const;
virtual bool isResearching() const;
virtual bool isSelected() const;
virtual bool isSieged() const;
virtual bool isStartingAttack() const;
virtual bool isStasised() const;
virtual bool isStimmed() const;
virtual bool isStuck() const;
virtual bool isTraining() const;
virtual bool isUnderAttack() const;
virtual bool isUnderDarkSwarm() const;
virtual bool isUnderDisruptionWeb() const;
virtual bool isUnderStorm() const;
virtual bool isUnpowered() const;
virtual bool isUpgrading() const;
virtual bool isVisible() const;
virtual bool isVisible(Player* player) const;
virtual bool canIssueCommand(UnitCommand command) const;
virtual bool issueCommand(UnitCommand command);
virtual bool attack(Position target, bool shiftQueueCommand = false);
virtual bool attack(Unit* target, bool shiftQueueCommand = false);
virtual bool build(TilePosition target, UnitType type);
virtual bool buildAddon(UnitType type);
virtual bool train(UnitType type);
virtual bool morph(UnitType type);
virtual bool research(TechType tech);
virtual bool upgrade(UpgradeType upgrade);
virtual bool setRallyPoint(Position target);
virtual bool setRallyPoint(Unit* target);
virtual bool move(Position target, bool shiftQueueCommand = false);
virtual bool patrol(Position target, bool shiftQueueCommand = false);
virtual bool holdPosition(bool shiftQueueCommand = false);
virtual bool stop(bool shiftQueueCommand = false);
virtual bool follow(Unit* target, bool shiftQueueCommand = false);
virtual bool gather(Unit* target, bool shiftQueueCommand = false);
virtual bool returnCargo(bool shiftQueueCommand = false);
virtual bool repair(Unit* target, bool shiftQueueCommand = false);
virtual bool burrow();
virtual bool unburrow();
virtual bool cloak();
virtual bool decloak();
virtual bool siege();
virtual bool unsiege();
virtual bool lift();
virtual bool land(TilePosition target);
virtual bool load(Unit* target, bool shiftQueueCommand = false);
virtual bool unload(Unit* target);
virtual bool unloadAll(bool shiftQueueCommand = false);
virtual bool unloadAll(Position target, bool shiftQueueCommand = false);
virtual bool rightClick(Position target, bool shiftQueueCommand = false);
virtual bool rightClick(Unit* target, bool shiftQueueCommand = false);
virtual bool haltConstruction();
virtual bool cancelConstruction();
virtual bool cancelAddon();
virtual bool cancelTrain(int slot = -2);
virtual bool cancelMorph();
virtual bool cancelResearch();
virtual bool cancelUpgrade();
virtual bool useTech(TechType tech);
virtual bool useTech(TechType tech, Position target);
virtual bool useTech(TechType tech, Unit* target);
virtual bool placeCOP(TilePosition target);
};
}