LogisticsMech.h 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #ifndef LOGISTICSMECH_H
  2. #define LOGISTICSMECH_H
  3. //===========================================================================//
  4. //LogisticsMech.h : Interface for the LogisticsMech component. //
  5. //---------------------------------------------------------------------------//
  6. // Copyright (C) Microsoft Corporation. All rights reserved. //
  7. //===========================================================================//
  8. class LogisticsPilot;
  9. #include "LogisticsVariant.h"
  10. class LogisticsMech
  11. {
  12. public:
  13. LogisticsMech( LogisticsVariant*, int count );
  14. ~LogisticsMech();
  15. inline int getID(){ return ID; }
  16. inline int getInstanceID() { return ID >> 24; }
  17. void setPilot( LogisticsPilot* pPilot );
  18. inline LogisticsPilot* getPilot( ) { return pilot; }
  19. inline int getForceGroup() { return forceGroup; }
  20. inline void setForceGroup( int bInForceGroup ) { forceGroup = bInForceGroup; }
  21. inline const char* getFileName(){ return pVariant->chassis->fileName; }
  22. inline bool isAvailable() const { return pVariant->availableToUser; }
  23. unsigned long getID() const { return pVariant->ID; }
  24. float getMaxWeight() const { return pVariant->chassis->maxWeight; }
  25. long getChassisName() const { return pVariant->chassis->chassisNameID; }
  26. const EString& getName() const { return pVariant->variantName; }
  27. long getEncyclopediaID() const { return pVariant->chassis->encyclopediaID; }
  28. long getHelpID() const { return pVariant->chassis->helpID; }
  29. long getBaseCost() const { return pVariant->chassis->baseCost; }
  30. long getComponentCount() const { return pVariant->componentCount; }
  31. int canAddComponent( LogisticsComponent* pComponent, long x, long y ) const
  32. { return pVariant->canAddComponent( pComponent, x, y ); }
  33. int getCost() const { return pVariant->getCost(); }
  34. int getWeight() const { return pVariant->getWeight(); }
  35. const char* getMechClass() const { return pVariant->getMechClass(); }
  36. int getChassisID() const { return pVariant->chassis->ID; }
  37. int getArmor() const { return pVariant->getArmor(); }
  38. int getJumpRange() const { return pVariant->getJumpRange(); }
  39. int getSpeed() const { return pVariant->getSpeed(); }
  40. int getDisplaySpeed() const { return pVariant->getDisplaySpeed(); }
  41. int getVariantID() const { return pVariant->ID; }
  42. const EString& getSmallIconFileName() const { return pVariant->chassis->iconFileNames[0]; }
  43. const EString& getMediumIconFileName() const { return pVariant->chassis->iconFileNames[1]; }
  44. const EString& getLargeIconFileName() const { return pVariant->chassis->iconFileNames[2]; }
  45. int getComponentsWithLocation( long& count, long* IDArray, long* xLocationArray, long* yLocationArray )
  46. {
  47. return pVariant->getComponentsWithLocation( count, IDArray, xLocationArray, yLocationArray );
  48. }
  49. int getComponents( long& count, long* IDArray )
  50. {
  51. return pVariant->getComponents( count, IDArray );
  52. }
  53. void setVariant( LogisticsVariant* pVariant );
  54. int getFitID() const { return pVariant->chassis->fitID; }
  55. long save( FitIniFile& file, long count );
  56. void setColors( unsigned long base, unsigned long high1, unsigned long high2 );
  57. void getColors( unsigned long& base, unsigned long& high1, unsigned long& high2 ) const;
  58. int getIconIndex() const { return pVariant->chassis->iconPictureIndex; }
  59. LogisticsVariant* getVariant() { return pVariant; }
  60. private:
  61. LogisticsVariant* pVariant;
  62. unsigned long pilotID;
  63. int forceGroup; // 0 if none, 1 if otherwise
  64. LogisticsPilot* pilot;
  65. int ID;
  66. long baseColor;
  67. long highlightColor1;
  68. long highlightColor2;
  69. // DATA
  70. // HELPER FUNCTIONS
  71. // suppress these puppies
  72. LogisticsMech();
  73. LogisticsMech& operator=( const LogisticsMech& );
  74. };
  75. //*************************************************************************************************
  76. #endif // end of file ( LogisticsMech.h )