Danbias/Code/Misc/EventHandler/EventHandler.cpp

80 lines
1.4 KiB
C++
Raw Normal View History

2014-02-11 09:16:01 +01:00
//////////////////////////////////////
// Created by Pontus Fransson 2014 //
//////////////////////////////////////
2014-01-31 13:06:11 +01:00
#include "EventHandler.h"
using namespace Oyster::Event;
2014-01-31 15:38:12 +01:00
Oyster::Event::EventHandler EvtHandler;
2014-01-31 13:06:11 +01:00
EventHandler& EventHandler::Instance()
{
return EvtHandler;
}
EventHandler::EventHandler()
{
}
EventHandler::~EventHandler()
{
2014-02-11 09:16:01 +01:00
int size = collections.size();
for(int i = 0; i < size; i++)
{
delete collections[i];
2014-02-12 14:52:31 +01:00
//collections[i] = NULL;
2014-02-11 09:16:01 +01:00
}
2014-01-31 13:06:11 +01:00
}
2014-02-12 09:08:38 +01:00
void EventHandler::Clean()
{
int size = collections.size();
for(int i = 0; i < size; i++)
{
delete collections[i];
2014-02-12 14:52:31 +01:00
//collections[i] = NULL;
2014-02-12 09:08:38 +01:00
}
collections.clear();
}
2014-01-31 13:06:11 +01:00
void EventHandler::Update(InputClass* inputObject)
{
2014-02-11 09:16:01 +01:00
for(int i = 0; i < (int)collections.size(); i++)
2014-01-31 13:06:11 +01:00
{
collections.at(i)->Update(inputObject);
}
}
void EventHandler::Render()
2014-01-31 13:06:11 +01:00
{
for(int i = 0; i < (int)collections.size(); i++)
{
collections.at(i)->Render();
}
2014-01-31 13:06:11 +01:00
}
void EventHandler::AddCollection(EventButtonCollection* collection)
2014-01-31 13:06:11 +01:00
{
for(int i = 0; i < collections.size(); i++)
{
//Do not add the collection if it's already in the list.
if(collections.at(i) == collection)
return;
}
collections.push_back(collection);
2014-02-12 09:08:38 +01:00
}
void EventHandler::DeleteCollection(EventButtonCollection* collection)
{
for(int i = 0; i < collections.size(); i++)
{
if(collections.at(i) == collection)
{
delete collection;
collection = NULL;
2014-02-12 09:08:38 +01:00
collections.erase(collections.begin() + i);
break;
}
}
2014-01-31 13:06:11 +01:00
}