summaryrefslogtreecommitdiffstats
path: root/game/code/presentation/playerdrawable.h
blob: 059ee1b50f66dd000c19ae0005c6fb6d09fd922c (plain) (blame)
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
//=============================================================================
// Copyright (C) 2002 Radical Entertainment Ltd.  All rights reserved.
//
// File:        .h
//
// Description: Blahblahblah
//
// History:     23/05/2002 + Created -- NAME
//
//=============================================================================

#ifndef PlayerDRAWABLE_H
#define PlayerDRAWABLE_H

//========================================
// Nested Includes
//========================================
#include <p3d/drawable.hpp>
#include <render/enums/renderenums.h>

//========================================
// Forward References
//========================================

class AnimationPlayer;

//=============================================================================
//
// Synopsis:    The PlayerDrawable is just a temporary thing for the DSG to
//              call and get the current presentation player to draw.
//
//=============================================================================

class PlayerDrawable : public tDrawable
{
    public:
        PlayerDrawable();
        virtual ~PlayerDrawable();

        void SetPlayer( AnimationPlayer* pPlayer ) { mpPlayer = pPlayer; }
        virtual void Display();

        void SetRenderLayer( RenderEnums::LayerEnum layer ) { mRenderLayer = layer; }
        RenderEnums::LayerEnum GetRenderLayer() { return mRenderLayer; }

    private:

        //Prevent wasteful constructor creation.
        PlayerDrawable( const PlayerDrawable& pPlayerDrawable );
        PlayerDrawable& operator=( const PlayerDrawable& pPlayerDrawable );

        AnimationPlayer* mpPlayer;
        RenderEnums::LayerEnum mRenderLayer;
};


#endif // PlayerDRAWABLE_H