ROOT logo
// $Id: CrawlerSpiritio.h 2363 2010-04-06 20:49:16Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#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();

  Float_t m_laser_a1, m_laser_a2; //!

protected:
  Crawler* get_crawler();

  KeyHandling::KeyInfo &mKeyIncThrottle; //!
  KeyHandling::KeyInfo &mKeyDecThrottle; //!

  KeyHandling::KeyInfo &mKeyLeftWheel;   //!
  KeyHandling::KeyInfo &mKeyRightWheel;  //!

  ZLink<ZNode>          mCameraBase;     // X{GS} L{}
  ZLink<AlSource>       mEngineSrc;      // X{GS} L{}

  enum LaserKeys_e { LK_Up, LK_Down, LK_Left, LK_Right };
  Int_t mFirstLaserKey; //!

  Float_t mDefZFov;     // X{GS}

public:
  CrawlerSpiritio(const Text_t* n="CrawlerSpiritio", const Text_t* t=0);
  virtual ~CrawlerSpiritio();

  virtual void AdEnlightenment();

  // Spiritio
  virtual void Activate();
  virtual void Deactivate();

  // TimeMakerClient
  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); // X{E}

  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);    // X{E}

  // ----------------------------------------------------------------

  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);
}; // endclass CrawlerSpiritio

#endif
 CrawlerSpiritio.h:1
 CrawlerSpiritio.h:2
 CrawlerSpiritio.h:3
 CrawlerSpiritio.h:4
 CrawlerSpiritio.h:5
 CrawlerSpiritio.h:6
 CrawlerSpiritio.h:7
 CrawlerSpiritio.h:8
 CrawlerSpiritio.h:9
 CrawlerSpiritio.h:10
 CrawlerSpiritio.h:11
 CrawlerSpiritio.h:12
 CrawlerSpiritio.h:13
 CrawlerSpiritio.h:14
 CrawlerSpiritio.h:15
 CrawlerSpiritio.h:16
 CrawlerSpiritio.h:17
 CrawlerSpiritio.h:18
 CrawlerSpiritio.h:19
 CrawlerSpiritio.h:20
 CrawlerSpiritio.h:21
 CrawlerSpiritio.h:22
 CrawlerSpiritio.h:23
 CrawlerSpiritio.h:24
 CrawlerSpiritio.h:25
 CrawlerSpiritio.h:26
 CrawlerSpiritio.h:27
 CrawlerSpiritio.h:28
 CrawlerSpiritio.h:29
 CrawlerSpiritio.h:30
 CrawlerSpiritio.h:31
 CrawlerSpiritio.h:32
 CrawlerSpiritio.h:33
 CrawlerSpiritio.h:34
 CrawlerSpiritio.h:35
 CrawlerSpiritio.h:36
 CrawlerSpiritio.h:37
 CrawlerSpiritio.h:38
 CrawlerSpiritio.h:39
 CrawlerSpiritio.h:40
 CrawlerSpiritio.h:41
 CrawlerSpiritio.h:42
 CrawlerSpiritio.h:43
 CrawlerSpiritio.h:44
 CrawlerSpiritio.h:45
 CrawlerSpiritio.h:46
 CrawlerSpiritio.h:47
 CrawlerSpiritio.h:48
 CrawlerSpiritio.h:49
 CrawlerSpiritio.h:50
 CrawlerSpiritio.h:51
 CrawlerSpiritio.h:52
 CrawlerSpiritio.h:53
 CrawlerSpiritio.h:54
 CrawlerSpiritio.h:55
 CrawlerSpiritio.h:56
 CrawlerSpiritio.h:57
 CrawlerSpiritio.h:58
 CrawlerSpiritio.h:59
 CrawlerSpiritio.h:60
 CrawlerSpiritio.h:61
 CrawlerSpiritio.h:62
 CrawlerSpiritio.h:63
 CrawlerSpiritio.h:64
 CrawlerSpiritio.h:65
 CrawlerSpiritio.h:66
 CrawlerSpiritio.h:67
 CrawlerSpiritio.h:68
 CrawlerSpiritio.h:69
 CrawlerSpiritio.h:70
 CrawlerSpiritio.h:71
 CrawlerSpiritio.h:72
 CrawlerSpiritio.h:73
 CrawlerSpiritio.h:74
 CrawlerSpiritio.h:75
 CrawlerSpiritio.h:76
 CrawlerSpiritio.h:77
 CrawlerSpiritio.h:78