Nebula
Toggle main menu visibility
Loading...
Searching...
No Matches
animeventserver.h
Go to the documentation of this file.
1
#pragma once
2
//------------------------------------------------------------------------------
17
#include "
messaging/handler.h
"
18
#include "
core/singleton.h
"
19
#include "
animation/animeventhandlerbase.h
"
20
21
//------------------------------------------------------------------------------
22
namespace
Animation
23
{
24
class
AnimEventServer
:
public
Messaging::Handler
25
{
26
__DeclareClass
(
AnimEventServer
);
27
__DeclareSingleton
(
AnimEventServer
);
28
public
:
29
31
AnimEventServer
();
33
virtual
~AnimEventServer
();
34
36
void
Open
();
38
void
Close
();
40
bool
IsOpen
()
const
;
41
43
void
OnFrame
(
Timing::Time
time);
44
46
void
RegisterAnimEventHandler
(
const
Ptr<AnimEventHandlerBase>
& newHandler);
48
void
UnregisterAnimEventHandler
(
const
Util::StringAtom
& categoryName);
50
void
UnregisterAnimEventHandler
(
const
Ptr<AnimEventHandlerBase>
& handler);
51
53
bool
HandleAnimEvents
(
const
Util::Array<Animation::AnimEventInfo>
& eventz);
54
56
virtual
bool
HandleMessage
(
const
Ptr<Messaging::Message>
& msg);
57
58
private
:
59
bool
isOpen
;
60
Util::Dictionary<Util::StringAtom, Ptr<AnimEventHandlerBase>
>
animEventHandler
;
61
62
};
63
64
//------------------------------------------------------------------------------
67
inline
bool
68
AnimEventServer::IsOpen
()
const
69
{
70
return
this->
isOpen
;
71
}
72
}
// namespace Audio
73
//------------------------------------------------------------------------------
74
animeventhandlerbase.h
Animation::AnimEventServer::~AnimEventServer
virtual ~AnimEventServer()
destructor
Definition
animeventserver.cc:26
Animation::AnimEventServer::IsOpen
bool IsOpen() const
return true if open
Definition
animeventserver.h:68
Animation::AnimEventServer::Open
void Open()
open the server
Definition
animeventserver.cc:37
Animation::AnimEventServer::Close
void Close()
close the server
Definition
animeventserver.cc:50
Animation::AnimEventServer::AnimEventServer
AnimEventServer()
constructor
Definition
animeventserver.cc:18
Animation::AnimEventServer::OnFrame
void OnFrame(Timing::Time time)
delegate to attached handler
Definition
animeventserver.cc:152
Animation::AnimEventServer::__DeclareClass
__DeclareClass(AnimEventServer)
Animation::AnimEventServer::UnregisterAnimEventHandler
void UnregisterAnimEventHandler(const Util::StringAtom &categoryName)
detach an animeventhandler
Definition
animeventserver.cc:82
Animation::AnimEventServer::HandleAnimEvents
bool HandleAnimEvents(const Util::Array< Animation::AnimEventInfo > &eventz)
delegate this event to a attached handler
Definition
animeventserver.cc:120
Animation::AnimEventServer::isOpen
bool isOpen
Definition
animeventserver.h:59
Animation::AnimEventServer::animEventHandler
Util::Dictionary< Util::StringAtom, Ptr< AnimEventHandlerBase > > animEventHandler
Definition
animeventserver.h:60
Animation::AnimEventServer::__DeclareSingleton
__DeclareSingleton(AnimEventServer)
Animation::AnimEventServer::RegisterAnimEventHandler
void RegisterAnimEventHandler(const Ptr< AnimEventHandlerBase > &newHandler)
attach an animeventhandler
Definition
animeventserver.cc:63
Animation::AnimEventServer::HandleMessage
virtual bool HandleMessage(const Ptr< Messaging::Message > &msg)
handle a message, return true if handled
Definition
animeventserver.cc:165
Messaging::Handler
Message handlers are used to process a message.
Definition
handler.h:20
Ptr
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition
ptr.h:38
Util::Array
Nebula's dynamic array class.
Definition
array.h:61
Util::Dictionary
A collection of key/value pairs with quick value retrieval by key at roughly O(log n).
Definition
dictionary.h:35
Util::StringAtom
A StringAtom.
Definition
stringatom.h:22
handler.h
Animation
Definition
animeventhandlerbase.cc:10
Timing::Time
double Time
the time datatype
Definition
time.h:18
singleton.h
code
render
animation
animeventserver.h
Generated on
for Nebula. Dark theme by
Tilen Majerle
. All rights reserved.