79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
|
// Copyright (C) 2007 Id Software, Inc.
|
||
|
//
|
||
|
|
||
|
#ifndef __ADMANAGER_H__
|
||
|
#define __ADMANAGER_H__
|
||
|
|
||
|
struct impressionInfo_t {
|
||
|
bool inView;
|
||
|
unsigned int size;
|
||
|
float angle;
|
||
|
short screenWidth;
|
||
|
short screenHeight;
|
||
|
|
||
|
bool played;
|
||
|
float falloff;
|
||
|
};
|
||
|
|
||
|
#ifdef MASSIVE
|
||
|
|
||
|
class sdAdObjectCallback {
|
||
|
public:
|
||
|
virtual void OnImageLoaded( class idImage* image ) = 0;
|
||
|
virtual void OnDestroyed( void ) = 0;
|
||
|
virtual void UpdateImpression( impressionInfo_t& impression, const struct renderView_s& view, const class sdBounds2D& viewPort ) = 0;
|
||
|
};
|
||
|
|
||
|
class sdAdObjectSubscriberInterface {
|
||
|
public:
|
||
|
virtual void Free( void ) = 0;
|
||
|
virtual void Activate( void ) = 0;
|
||
|
};
|
||
|
|
||
|
class sdAdManager {
|
||
|
public:
|
||
|
virtual ~sdAdManager( void ) {}
|
||
|
|
||
|
virtual void Init() = 0;
|
||
|
virtual void Shutdown() = 0;
|
||
|
|
||
|
virtual sdAdObjectSubscriberInterface* AllocAdSubscriber( const char* objectName, sdAdObjectCallback* callback ) = 0;
|
||
|
virtual void SetAdZone( const char* zoneName ) = 0;
|
||
|
};
|
||
|
|
||
|
extern sdAdManager* adManager;
|
||
|
|
||
|
#else
|
||
|
|
||
|
// stub
|
||
|
|
||
|
class sdAdObjectCallback {
|
||
|
public:
|
||
|
virtual void OnImageLoaded( class idImage* image ) {}
|
||
|
virtual void OnDestroyed( void ) {}
|
||
|
virtual void UpdateImpression( impressionInfo_t& impression, const struct renderView_s& view, const class sdBounds2D& viewPort ) {}
|
||
|
};
|
||
|
|
||
|
class sdAdObjectSubscriberInterface {
|
||
|
public:
|
||
|
virtual void Free( void ) {}
|
||
|
virtual void Activate( void ) {}
|
||
|
};
|
||
|
|
||
|
class sdAdManager {
|
||
|
public:
|
||
|
virtual ~sdAdManager( void ) {}
|
||
|
|
||
|
virtual void Init() {};
|
||
|
virtual void Shutdown() {};
|
||
|
|
||
|
virtual sdAdObjectSubscriberInterface* AllocAdSubscriber( const char* objectName, sdAdObjectCallback* callback ) { return NULL; }
|
||
|
virtual void SetAdZone( const char* zoneName ) {}
|
||
|
};
|
||
|
|
||
|
extern sdAdManager* adManager;
|
||
|
|
||
|
#endif /* MASSIVE */
|
||
|
|
||
|
#endif /* __ADMANAGER_H__ */
|