mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-16 13:43:00 +00:00
1
This commit is contained in:
@@ -0,0 +1,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
|
||||
|
||||
Reference in New Issue
Block a user