File: GameObject.h

package info (click to toggle)
between 6%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid
  • size: 3,524 kB
  • sloc: cpp: 28,110; php: 718; ansic: 638; objc: 245; sh: 236; makefile: 102; perl: 67
file content (81 lines) | stat: -rw-r--r-- 1,696 bytes parent folder | download | duplicates (3)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef GAME_OBJECT_INCLUDED
#define GAME_OBJECT_INCLUDED


#include "minorGems/graphics/Color.h"
#include "Sprite.h"


// superclass for all game objects
class GameObject {
    public:

        GameObject() 
                : mEnableSteps( true ),
                  mDepthLayer( 0 ), 
                  mX( 0 ), mY( 0 ), mRotation( 0 ), mScale( 1.0 ),
                  mFadeFactor( 1 ), mColor( 1, 1, 1 ), mSprite( NULL ),
                  mSpriteFrame( 0 ),
                  mShiftingPages( false ) {
            }
        

        virtual ~GameObject() {
            }
        

        // start a shift between sprite pages
        virtual void shiftBetweenPages( int inPageA, int inPageB,
                                        int inNumSteps );
        

        virtual void draw( double inRotation, Vector3D *inPosition, 
                           double inScale,
                           double inFadeFactor,
                           Color *inColor );
        

        // should not be overridden
        // calls child's step function
        void mainStep();
        

        // to be overridden by child classes
        virtual void step() {
            }
        
        
        
        char mEnableSteps;
        

        int mDepthLayer;
        

        double mX, mY;
        double mRotation;
        double mScale;
        
        double mFadeFactor;
        
        Color mColor;
        
        // can be NULL
        Sprite *mSprite;

        
        int mSpriteFrame;
        

        char mShiftingPages;
        int mShiftPageA;
        int mShiftPageB;
        int mNumShiftSteps;
        int mNumShiftStepsDone;
        
        
    };



#endif