1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#ifndef BLENDED_BLOCK_INCLUDED
#define BLENDED_BLOCK_INCLUDED
#include "GameObject.h"
#include "Block.h"
class BlendedBlock : public GameObject {
public:
// if inA is NULL, block fades in in place
// if inB is NULL, block fades out in place
// both NULL makes a dummy block that isn't drawn (but still counts
// steps)
BlendedBlock( Block *inA, Block *inB, int inNumTransitionSteps );
char isDone() {
return ( mStepsDone == mStepsTotal );
}
double getFractionDone();
// override default draw function
void draw( double inRotation, Vector3D *inPosition,
double inScale,
double inFadeFactor,
Color *inColor );
// override step function
virtual void step();
protected:
Block *mA;
Block *mB;
int mStepsTotal;
int mStepsDone;
char mDummy;
};
#endif
|