I|Kc@sdd%dYZdefdYZdefdYZdefdYZdefd YZd efd YZd efd YZdefdYZdefdYZdefdYZ defdYZ defdYZ defdYZ defdYZ defdYZdefdYZd efd!YZd"efd#YZd$S(&tEventcBs eZdZdZdZRS(sfthis is a superclass for any events that might be generated by an object and sent to the EventManagercCs d|_dS(Ns Generic Event(tname(tself((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyt__init__ scCsd|iit|fS(Ns<%s %s>(t __class__t__name__tid(R((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyt__str__ s (Rt __module__t__doc__RR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRs t TickEventcBseZdZRS(cCs d|_dS(NsCPU Tick Event(R(R((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRs(RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR st SecondEventcBseZdZRS(cCs d|_dS(NsClock One Second Event(R(R((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRs(RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR st QuitEventcBseZdZRS(cCs d|_dS(NsProgram Quit Event(R(R((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRs(RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR st FatalEventcBseZdZRS(cGsd|_||_dS(NsFatal Error Event(Rtargs(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRs (RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR st MapBuiltEventcBseZdZRS(cCsd|_||_dS(NsMap Finished Building Event(Rtmap(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR"s (RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR!stGameStartRequestcBseZdZRS(cCs d|_dS(NsGame Start Request(R(R((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR's(RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR&stGameStartedEventcBseZdZRS(cCsd|_||_dS(NsGame Started Event(Rtgame(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR+s (RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR*stCharactorMoveRequestcBseZdZRS(cCs(d|_||_||_||_dS(NsCharactor Move Request(Rtplayert charactort direction(RRRR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR0s   (RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR/stCharactorMoveEventcBseZdZRS(cCsd|_||_dS(NsCharactor Move Event(RR(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR7s (RRR(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR6stCharactorPlaceEventcBseZdZdZRS(snthis event occurs when a Charactor is *placed* in a sector, ie it doesn't move there from an adjacent sector.cCsd|_||_dS(NsCharactor Placement Event(RR(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR>s (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR;stServerConnectEventcBseZdZdZRS(s[the client generates this when it detects that it has successfully connected to the servercCsd|_||_dS(NsNetwork Server Connection Event(Rtserver(RtserverReference((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyREs (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRBstClientConnectEventcBseZdZdZRS(sGthis event is generated by the Server whenever a client connects to itcCsd|_||_||_dS(NsNetwork Client Connection Event(RtclienttavatarID(RRR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRLs  (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRIstClientDisconnectEventcBseZdZdZRS(sZthis event is generated by the Server when it finds that a client is no longer connectedcCsd|_||_dS(Ns"Network Client Disconnection Event(RR(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRTs (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR Qst GameSyncEventcBseZdZdZRS(s...cCsd|_||_dS(Ns#Game Synched to Authoritative State(RR(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRZs (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR!XstPlayerJoinRequestcBseZdZdZRS(s...cCsd|_||_dS(NsPlayer Joining Game Request(Rt playerDict(RR#((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR`s (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR"^stPlayerJoinEventcBseZdZdZRS(s...cCsd|_||_dS(NsPlayer Joined Game Event(RR(RR((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRfs (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR$dstCharactorPlaceRequestcBseZdZdZRS(s...cCs(d|_||_||_||_dS(NsCharactor Placement Request(RRRtsector(RRRR&((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyRls   (RRR R(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyR%jsN((RR R R R RRRRRRRRR R!R"R$R%(((sA/home/sjbrown/work/writing_games_tutorial/code_examples/events.pyts"