My Project
 
Loading...
Searching...
No Matches
charsprite.h
Go to the documentation of this file.
1#pragma once
2
3#include "movieclip.h"
4#include "tweener.h"
5#include "callback.h"
6#include "emitter.h"
7
8class TorchHalo;
9class IceBlock;
10class Char;
11class EmoIcon;
12
13class CharSprite :public MovieClip, public Tweener::Listener, public MovieClip::Listener{
14public:
15 static const int DEFAULT = 0xFFFFFF;
16 static const int POSITIVE = 0x00FF00;
17 static const int NEGATIVE = 0xFF0000;
18 static const int WARNING = 0xFF8800;
19 static const int NEUTRAL = 0xFFFF00;
20
21private:
22 static const float MOVE_INTERVAL;
23 static const float FLASH_INTERVAL;
24
25 Tweener* jumpTweener;
26 Callback* jumpCallback;
27
28 float flashTime;
29
30 class JumpTweener :public Tweener{
31 public:
32 Visual* visual;
33
34 PointF start;
35 PointF end;
36
37 float height;
38
39 JumpTweener(Visual* visual, PointF pos, float height, float time)
40 :Tweener(visual, time)
41 {
42 this->visual = visual;
43 start = visual->point();
44 end = pos;
45
46 this->height = height;
47 }
48 protected:
49 virtual void updateValues(float progress);
50 };
51public:
55
58
59 CharSprite();
60protected:
61 Animation* idle;
62 Animation* run;
63 Animation* attack;
64 Animation* operate;
65 Animation* zap;
66 Animation* die;
67
68 Callback* animCallback;
69 Tweener* motion;
70
71 Emitter* burning;
72 Emitter* levitation;
73
76
78
80
81public:
82 void link(Char* ch);
83 virtual void place(int cell) { point(worldToCamera(cell)); }
84 void turnTo(int from, int to);
85 PointF worldToCamera(int cell);
86
87 void showStatus(int color, const std::string text, ...);
88
89 //void showStatus(int color, const std::string& text, ...);
90 void Idle();
91 virtual void move(int from, int to);
92
93 void interruptMotion();
94 virtual void Attack(int cell);
95 virtual void Attack(int cell, Callback* callback);
96 void Operate(int cell);
97 void Zap(int cell);
98 void jump(int from, int to, Callback* callback);
99 virtual void Die();
100 Emitter* emitter();
101 Emitter* centerEmitter();
102 Emitter* bottomEmitter();
103
104 void burst(int color, int n);
105 void bloodBurstA(PointF from, int damage);
106
107 virtual int blood() { return 0xFFBB0000; }
108 void flash() { ra = ba = ga = 1.0f; flashTime = FLASH_INTERVAL; }
109
110 void add(State state);
111 void remove(State state);
112
113 virtual void update();
114 void showSleep();
115 void hideSleep();
116 void showAlert();
117 void hideAlert();
118
119 virtual void kill();
120 virtual void onComplete(Tweener* tweener);
121 virtual void onComplete(Animation* anim);
122};
Definition char.h:9
void Idle()
Definition charsprite.cpp:105
bool sleeping
Definition charsprite.h:79
static const int NEGATIVE
Definition charsprite.h:17
Animation * operate
Definition charsprite.h:64
void add(State state)
Definition charsprite.cpp:226
TorchHalo * halo
Definition charsprite.h:75
virtual int blood()
Definition charsprite.h:107
void Zap(int cell)
Definition charsprite.cpp:157
virtual void move(int from, int to)
Definition charsprite.cpp:110
virtual void Die()
Definition charsprite.cpp:175
void showSleep()
Definition charsprite.cpp:338
static const int NEUTRAL
Definition charsprite.h:19
Callback * animCallback
Definition charsprite.h:68
Animation * idle
Definition charsprite.h:61
void turnTo(int from, int to)
Definition charsprite.cpp:59
Animation * die
Definition charsprite.h:66
IceBlock * iceBlock
Definition charsprite.h:74
void flash()
Definition charsprite.h:108
EmoIcon * emo
Definition charsprite.h:77
void showStatus(int color, const std::string text,...)
Definition charsprite.cpp:83
void Operate(int cell)
Definition charsprite.cpp:151
virtual void update()
Definition charsprite.cpp:298
static const int POSITIVE
Definition charsprite.h:16
virtual void kill()
Definition charsprite.cpp:387
virtual void Attack(int cell)
Definition charsprite.cpp:138
void remove(State state)
Definition charsprite.cpp:257
Emitter * bottomEmitter()
Definition charsprite.cpp:200
Animation * attack
Definition charsprite.h:63
static const int DEFAULT
Definition charsprite.h:15
CharSprite()
Definition charsprite.cpp:21
void hideAlert()
Definition charsprite.cpp:378
Emitter * levitation
Definition charsprite.h:72
Tweener * motion
Definition charsprite.h:69
void link(Char *ch)
Definition charsprite.cpp:48
Animation * zap
Definition charsprite.h:65
PointF worldToCamera(int cell)
Definition charsprite.cpp:73
void showAlert()
Definition charsprite.cpp:363
Animation * run
Definition charsprite.h:62
Emitter * centerEmitter()
Definition charsprite.cpp:193
void hideSleep()
Definition charsprite.cpp:354
void jump(int from, int to, Callback *callback)
Definition charsprite.cpp:163
bool isMoving
Definition charsprite.h:57
virtual void onComplete(Tweener *tweener)
Definition charsprite.cpp:398
Emitter * burning
Definition charsprite.h:71
static const int WARNING
Definition charsprite.h:18
virtual void place(int cell)
Definition charsprite.h:83
Char * ch
Definition charsprite.h:56
void burst(int color, int n)
Definition charsprite.cpp:207
void bloodBurstA(PointF from, int damage)
Definition charsprite.cpp:215
Emitter * emitter()
Definition charsprite.cpp:186
State
Definition charsprite.h:52
@ INVISIBLE
Definition charsprite.h:53
@ PARALYSED
Definition charsprite.h:53
@ BURNING
Definition charsprite.h:53
@ LEVITATING
Definition charsprite.h:53
@ ILLUMINATED
Definition charsprite.h:53
@ FROZEN
Definition charsprite.h:53
void interruptMotion()
Definition charsprite.cpp:130
Definition emoicon.h:6
Definition iceblock.h:7
Definition torchhalo.h:7
glm::vec2 PointF
Definition define.h:7