Files
maszyna/MemCell.h

88 lines
2.3 KiB
C++

/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#ifndef MemCellH
#define MemCellH
#include "Classes.h"
#include "dumb3d.h"
using namespace Math3D;
using namespace std;
class TMemCell
{
private:
vector3 vPosition;
#ifdef EU07_USE_OLD_TMEMCELL_TEXT_ARRAY
char *szText;
#else
std::string szText;
#endif
double fValue1;
double fValue2;
TCommandType eCommand;
bool bCommand; // czy zawiera komendę dla zatrzymanego AI
TEvent *OnSent; // event dodawany do kolejki po wysłaniu komendy zatrzymującej skład
public:
string
asTrackName; // McZapkie-100302 - zeby nazwe toru na ktory jest Putcommand wysylane pamietac
TMemCell(vector3 *p);
#ifdef EU07_USE_OLD_TMEMCELL_TEXT_ARRAY
~TMemCell();
#endif
void Init();
#ifdef EU07_USE_OLD_TMEMCELL_TEXT_ARRAY
void UpdateValues( char const *szNewText, double const fNewValue1, double const fNewValue2, int const CheckMask );
#else
void UpdateValues( std::string const &szNewText, double const fNewValue1, double const fNewValue2, int const CheckMask );
#endif
bool Load(cParser *parser);
void PutCommand(TController *Mech, vector3 *Loc);
bool Compare( char const *szTestText, double const fTestValue1, double const fTestValue2, int const CheckMask );
#ifndef EU07_USE_OLD_TMEMCELL_TEXT_ARRAY
bool Compare( std::string const &szTestText, double const fTestValue1, double const fTestValue2, int const CheckMask );
#endif
bool Render();
#ifdef EU07_USE_OLD_TMEMCELL_TEXT_ARRAY
inline char * Text()
{
return szText;
};
#else
inline std::string const &Text() { return szText; }
#endif
inline double Value1()
{
return fValue1;
};
inline double Value2()
{
return fValue2;
};
inline vector3 Position()
{
return vPosition;
};
inline TCommandType Command()
{
return eCommand;
};
inline bool StopCommand()
{
return bCommand;
};
void StopCommandSent();
TCommandType CommandCheck();
bool IsVelocity();
void AssignEvents(TEvent *e);
};
//---------------------------------------------------------------------------
#endif