#ifndef Var1_CrawlerSpiritio_H
#define Var1_CrawlerSpiritio_H
#include <Glasses/ExtendioSpiritio.h>
#include <Stones/KeyHandling.h>
class Crawler;
class AlSource;
class CrawlerSpiritio : public ExtendioSpiritio
{
MAC_RNR_FRIENDS(CrawlerSpiritio);
private:
void _init();
protected:
Crawler* get_crawler();
KeyHandling::KeyInfo &mKeyIncThrottle;
KeyHandling::KeyInfo &mKeyDecThrottle;
KeyHandling::KeyInfo &mKeyLeftWheel;
KeyHandling::KeyInfo &mKeyRightWheel;
ZLink<ZNode> mCameraBase;
ZLink<AlSource> mEngineSrc;
enum LaserKeys_e { LK_Up, LK_Down, LK_Left, LK_Right };
Int_t mFirstLaserKey;
Float_t mDefZFov;
public:
CrawlerSpiritio(const Text_t* n="CrawlerSpiritio", const Text_t* t=0);
virtual ~CrawlerSpiritio();
virtual void AdEnlightenment();
virtual void Activate();
virtual void Deactivate();
virtual void TimeTick(Double_t t, Double_t dt);
void IncThrottle(Int_t, Bool_t downp, UInt_t time_elapsed);
void DecThrottle(Int_t, Bool_t downp, UInt_t time_elapsed);
void SetThrottle(Float_t t);
void LeftWheel(Int_t, Bool_t downp, UInt_t time_elapsed);
void RightWheel(Int_t, Bool_t downp, UInt_t time_elapsed);
void SetWheel(Float_t w);
void LaserSteer(Int_t key_idx, Bool_t downp, UInt_t);
void FireGun(Int_t, Bool_t downp, UInt_t);
void TurretHome(Int_t, Bool_t downp, UInt_t);
#include "CrawlerSpiritio.h7"
ClassDef(CrawlerSpiritio, 1);
};
#endif