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