summaryrefslogtreecommitdiffstats
path: root/game/code/mission/haspresentationinfo.h
blob: 89364f138d5107b36258df864cd4ab39fc5a374b (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//=============================================================================
// Copyright (C) 2002 Radical Entertainment Ltd.  All rights reserved.
//
// File:        haspresentationinfo.h
//
// Description: accessors/data members for stages with presentation information
//
// History:     06/05/2003 + Created -- Ian Gipson
//
//=============================================================================

#ifndef HASPRESENTATIONINFO_H
#define HASPRESENTATIONINFO_H

//========================================
// Nested Includes
//========================================
#include <memory/stlallocators.h>
#include <vector>

//========================================
// Forward References
//========================================
class tName;


//=============================================================================
//
// Synopsis:    Blahblahblah
//
//=============================================================================

class HasPresentationInfo
{
public:
    HasPresentationInfo();
    ~HasPresentationInfo();
    void AmbientCharacterAnimationSetRandom( const unsigned int character, const bool random );
    void AddAmbientCharacterAnimation( const unsigned int character, const tName& animationName );
    void CharacterIsChild( const int index );
    void ClearAmbientAnimations();
    void GoToPattyAndSelmaScreenWhenDone();
    void OnStageCompleteSuccessful() const;
    void Reset(); 
    void SetCameraForDialogLine   ( const unsigned int dialogLine, const tName& camera );
    void SetConversationCamName   ( const tName& name );
    void SetConversationCamPcName ( const tName& name );
    void SetConversationCamNpcName( const tName& name );
    void SetBestSideLocator       ( const tName& name );

protected:
private:
    //Prevent wasteful constructor creation.
	HasPresentationInfo( const HasPresentationInfo& bonusmissioninfo );
	HasPresentationInfo& operator=( const HasPresentationInfo& bonusmissioninfo );

    tName mConversationCamName;
    tName mConversationCamNpcName;
    tName mConversationCamPcName;
    typedef std::vector< tName, s2alloc<tName> > TNAMEVECTOR;
    bool mAmbientPcAnimationsRandom;
    bool mAmbientNpcAnimationsRandom;
    TNAMEVECTOR mAmbientPcAnimations;
    TNAMEVECTOR mAmbientNpcAnimations;
    bool mPcIsChild : 1;
    bool mNpcIsChild : 1;
    bool mGoToPattyAndSelmaScreenWhenDone : 1;
    TNAMEVECTOR mCamerasForLinesOfDialog;
    tName mBestSideLocator;
};

//*****************************************************************************
//
// Inline Public Member Functions
//
//*****************************************************************************
#endif //HASPRESENTATIONINFO_H