blob: bed7bec79c9ca28fc99f7dfab0755efae7590a22 (
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
|
//========= Copyright Valve Corporation, All rights reserved. ============//
#ifndef INCLUDED_funfact_cs
#define INCLUDED_funfact_cs
#pragma once
#include "cs_player.h"
struct FunFact
{
FunFact() :
id(-1),
szLocalizationToken(NULL),
iPlayer(0),
iData1(0),
iData2(0),
iData3(0),
fMagnitude(0.0f)
{}
int id;
const char* szLocalizationToken;
int iPlayer;
int iData1;
int iData2;
int iData3;
float fMagnitude;
};
typedef CUtlVector<FunFact> FunFactVector;
class FunFactEvaluator
{
DECLARE_CLASS_NOBASE( FunFactEvaluator );
public:
FunFactEvaluator( int id, const char* szLocalizationToken, float fCoolness ) :
m_id(id),
m_pLocalizationToken(szLocalizationToken),
m_fCoolness(fCoolness)
{}
virtual ~FunFactEvaluator() {}
int GetId() const { return m_id; }
const char* GetLocalizationToken() const { return m_pLocalizationToken; }
float GetCoolness() const { return m_fCoolness; }
virtual bool Evaluate( FunFactVector& results ) const = 0;
private:
int m_id;
const char* m_pLocalizationToken;
float m_fCoolness;
};
typedef FunFactEvaluator* (*funfactCreateFunc) (void);
class CFunFactHelper
{
public:
CFunFactHelper ( funfactCreateFunc createFunc )
{
m_pfnCreate = createFunc;
m_pNext = s_pFirst;
s_pFirst = this;
}
funfactCreateFunc m_pfnCreate;
CFunFactHelper *m_pNext;
static CFunFactHelper *s_pFirst;
};
#endif // INCLUDED_funfact_cs
|