Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/world_entities/effects/blink.h @ 10445

Last change on this file since 10445 was 10445, checked in by patrick, 17 years ago

merged blinki back to trunk

File size: 1.7 KB
Line 
1/*!
2 * @file blink.h
3 */
4 /*! example input in .oxw file with the standard values
5
6<Blink>
7  <name>Blink1</name>
8  <position>580, 70, -130</position>
9  <color>0, 255, 255</color>
10  <size>8</size>
11  <period>9</period>
12  <sequence>0123456789</sequence><!-- the number describe the strength of the blink light -->
13</Blink>
14
15*/
16
17#ifndef _BLINK_H
18#define _BLINK_H
19
20#include "world_entity.h"
21#include "effects/billboard.h"
22#include "color.h"
23
24class Material;
25class TiXmlElement;
26//class Billboard;
27
28class Blink : public WorldEntity
29{
30  ObjectListDeclaration(Blink);
31  public:
32    Blink(const TiXmlElement* root = NULL);
33    virtual ~Blink();
34
35    void init();
36    void loadParams(const TiXmlElement* root);
37
38    void setPosition(float x, float y, float z) { this->bBoard->setAbsCoor(x, y, z); }
39    void setSize(float s) { this->size = s; this->bBoard->setSize(this->size, this->size); }
40    void setPeriod(float t) { this->period = t; }
41    void setColor(float r, float g, float b) { this->color = Color(r/255, g/255, b/255); }
42    void loadBlinkSequence(const std::string& seq) { this->blinkSequence = seq; }
43
44    virtual void tick(float dt);
45    virtual void draw() const;
46
47  private:
48    Billboard*        bBoard;
49    Color             color;
50    std::string       blinkSequence;    //! 1 means fully viewable, 0 means fully transparent
51    float             angle;
52    float             period;           //! period in seconds
53    float             blinkStr;
54    float             size;             //! only one float caus' its quadratical
55    int               seqCounter;
56    float             symbolTime;       //! defines how long one symbol of the sequence will be shown in sec
57    float             timer;
58};
59
60#endif /* _BLINK_H */
Note: See TracBrowser for help on using the repository browser.