TapestryEngine

A 2D Platformer Game Engine
Log | Files | Refs

24dfe1de993920eac801b39de37249690810a6d0.svn-base (932B)


      1 #ifndef ACTORHANDLE_H
      2 #define ACTORHANDLE_H
      3 
      4 #include "Console.h"
      5 #include "Event.h"
      6 #include "Utils.h"
      7 
      8 struct HandleBind
      9 {
     10 	int mHandle;
     11 	EventReceiver* mAct;
     12 };
     13 
     14 class ActorHandleManager : public EventReceiver
     15 {
     16 public:
     17 
     18 	ActorHandleManager() : mNextID(0)
     19 	{
     20 		mHandleTree = new Node();
     21 		//mHandleTree = &Node(mNextID);
     22 	}
     23 
     24 	int AssignHandle(EventReceiver* act)
     25 	{
     26 		//HandleBind hb = { mNextID, act };
     27 		//mHandles.push_back(hb); //record the handle and Actor/EventReceiverPointer
     28 
     29 		//Node* Bind = new Node(mNextID, act);
     30 
     31 		mHandleTree->Insert(mNextID, act);
     32 
     33 		mNextID++;
     34 
     35 		return mNextID-1;
     36 		//return hb.mHandle;
     37 	}
     38 
     39 	EventReceiver* GetActorAddress(int handle)
     40 	{
     41 		return (EventReceiver*)(mHandleTree->Search(handle))->GetData();
     42 		//return mHandles.at(mNextID).mAct;
     43 	}
     44 
     45 	bool EventProcess(Event eve)
     46 	{
     47 		return false;
     48 	}
     49 
     50 protected:
     51 
     52 	int mNextID;
     53 	//std::vector<HandleBind> mHandles;
     54 	Node* mHandleTree;
     55 
     56 };
     57 
     58 #endif