namespace Salamander
{

template<class EventType, class ReceiverType>
EventReceiverRecord<EventType, ReceiverType>::EventReceiverRecord()
{
	function_ = NULL;
	receiver_ = NULL;
}

template<class EventType, class ReceiverType>
EventReceiverRecord<EventType, ReceiverType>::~EventReceiverRecord()
{

}

template<class EventType, class ReceiverType>
void EventReceiverRecord<EventType, ReceiverType>::receiveIf(const IEvent& event)
{
	if(event.typeOf(EventType::TypeId))
	{
		(receiver_->*function_)((const EventType&)event);
	}
}

}