/* ----------------------------------------------------------------------------- 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 g_scene_messenger; } // S3D } // GS #endif // __NSCENE_MESSAGE__