first commit
This commit is contained in:
65
include/engine/scene3d/scene_message.h
Normal file
65
include/engine/scene3d/scene_message.h
Normal file
@ -0,0 +1,65 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
GSFramework
|
||||
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
||||
----------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#ifndef __NSCENE_MESSAGE__
|
||||
#define __NSCENE_MESSAGE__
|
||||
|
||||
|
||||
#include "messaging/messaging.h"
|
||||
|
||||
|
||||
namespace GS {
|
||||
namespace S3D {
|
||||
class Scene;
|
||||
|
||||
/*
|
||||
@short Scene message enum.
|
||||
@author Emmanuel Julien (ejulien@gsworks.fr)
|
||||
*/
|
||||
enum SceneMessage
|
||||
{
|
||||
SceneMsg_None = 0, ///< No message.
|
||||
|
||||
SceneMsg_AddingItem,
|
||||
SceneMsg_ItemAdded,
|
||||
SceneMsg_DeletingItem,
|
||||
SceneMsg_ItemDeleted,
|
||||
|
||||
SceneMsg_AddingGroup,
|
||||
SceneMsg_GroupAdded,
|
||||
SceneMsg_DeletingGroup,
|
||||
SceneMsg_GroupDeleted,
|
||||
|
||||
SceneMsg_Clearing,
|
||||
SceneMsg_Cleared,
|
||||
SceneMsg_Loading,
|
||||
SceneMsg_Loaded,
|
||||
|
||||
SceneMsg_LastMessage
|
||||
};
|
||||
|
||||
/*
|
||||
@short Scene message return value.
|
||||
@author Emmanuel Julien (ejulien@gsworks.fr)
|
||||
*/
|
||||
enum SceneReturnValue
|
||||
{
|
||||
SceneReturn_Ok = 0
|
||||
};
|
||||
|
||||
/// Scene listener.
|
||||
struct SceneListener
|
||||
{
|
||||
virtual SceneReturnValue ProcessMessage(SceneMessage, const Scene *, const void *) = 0;
|
||||
};
|
||||
|
||||
extern Messaging::Broadcaster <SceneMessage, SceneListener, Scene *> g_scene_messenger;
|
||||
|
||||
} // S3D
|
||||
} // GS
|
||||
|
||||
|
||||
#endif // __NSCENE_MESSAGE__
|
||||
Reference in New Issue
Block a user