1 #ifndef __EVENTS_H__ 2 #define __EVENTS_H__ 3 4 #include "../SharedDefines.h" 5 #include "../Scene/SceneNodes.h" 6 #include "../Scene/HUDSceneNode.h" 7 8 #include "EventMgr.h" 9 10 // Auxiliary data decls ... 11 // 12 // data that is passed per-event in the userData parameter 13 // 14 // ( for some, but not all, events ) 15 16 //-- new object notification 17 18 19 //void RegisterEngineScriptEvents(void); 20 21 #define STRINGIFY2(X) #X 22 #define STRINGIFY(X) STRINGIFY2(X) 23 24 #define MAKE_EVENT_0_PARAM(EVENT_NAME) \ 25 class EventData_##EVENT_NAME## : public BaseEventData \ 26 { \ 27 public: \ 28 static const EventType sk_EventType; \ 29 \ 30 EventData_##EVENT_NAME##() { } \ 31 \ 32 virtual const EventType& VGetEventType() const { return sk_EventType; } \ 33 virtual IEventDataPtr VCopy() const { return IEventDataPtr(new EventData_##EVENT_NAME##()); } \ 34 virtual void VSerialize(std::ostringstream& out) const { } \ 35 virtual void VDeserialize(std::istringstream& in) { } \ 36 virtual const char* GetName(void) const { return ("EventData_" STRINGIFY(EVENT_NAME)); } \ 37 }; \ 38 39 #define MAKE_EVENT_1_PARAM(EVENT_NAME, PARAM1_TYPE, PARAM1_NAME) \ 40 class EventData_##EVENT_NAME## : public BaseEventData \ 41 { \ 42 public: \ 43 static const EventType sk_EventType; \ 44 \ 45 EventData_##EVENT_NAME##() { } \ 46 EventData_##EVENT_NAME##(PARAM1_TYPE PARAM1_NAME) { m_##PARAM1_NAME## = PARAM1_NAME; } \ 47 \ 48 virtual const EventType& VGetEventType() const { return sk_EventType; } \ 49 virtual IEventDataPtr VCopy() const { return IEventDataPtr(new EventData_##EVENT_NAME##()); } \ 50 virtual void VSerialize(std::ostringstream& out) const { } \ 51 virtual void VDeserialize(std::istringstream& in) { } \ 52 PARAM1_TYPE Get##PARAM1_NAME##() const { return m_##PARAM1_NAME##; } \ 53 virtual const char* GetName(void) const { return ("EventData_" STRINGIFY(EVENT_NAME)); } \ 54 private: \ 55 PARAM1_TYPE m_##PARAM1_NAME##; \ 56 }; \ 57 58 //MAKE_EVENT_0_PARAM(yolo) 59 60 //MAKE_EVENT_1_PARAM(Stop_Jump, bool, Now) 61 62 //--------------------------------------------------------------------------------------------------------------------- 63 // EventData_NewActor - This event is sent out when an actor is *actually* created. 64 //--------------------------------------------------------------------------------------------------------------------- 65 class EventData_New_Actor : public BaseEventData 66 { 67 public: 68 static const EventType sk_EventType; 69 EventData_New_Actor(void)70 EventData_New_Actor(void) 71 { 72 m_ActorId = INVALID_ACTOR_ID; 73 m_ViewId = INVALID_GAME_VIEW_ID; 74 } 75 76 explicit EventData_New_Actor(uint32_t actorId, uint32_t viewId = INVALID_GAME_VIEW_ID) m_ActorId(actorId)77 : m_ActorId(actorId), 78 m_ViewId(viewId) 79 { 80 } 81 VDeserialize(std::istringstream & in)82 virtual void VDeserialize(std::istringstream& in) 83 { 84 in >> m_ActorId; 85 in >> m_ViewId; 86 } 87 VSerialize(std::ostringstream & out)88 virtual void VSerialize(std::ostringstream& out) const 89 { 90 out << m_ActorId << " "; 91 out << m_ViewId << " "; 92 } 93 VGetEventType(void)94 virtual const EventType& VGetEventType(void) const 95 { 96 return sk_EventType; 97 } 98 VCopy(void)99 virtual IEventDataPtr VCopy(void) const 100 { 101 return IEventDataPtr(new EventData_New_Actor(m_ActorId, m_ViewId)); 102 } 103 GetName(void)104 virtual const char* GetName(void) const 105 { 106 return "EventData_New_Actor"; 107 } 108 Getuint32_t(void)109 const uint32_t Getuint32_t(void) const 110 { 111 return m_ActorId; 112 } 113 GetViewId(void)114 uint32_t GetViewId(void) const 115 { 116 return m_ViewId; 117 } 118 119 private: 120 uint32_t m_ActorId; 121 uint32_t m_ViewId; 122 }; 123 124 125 //--------------------------------------------------------------------------------------------------------------------- 126 // EventData_Destroy_Actor - sent when actors are destroyed 127 //--------------------------------------------------------------------------------------------------------------------- 128 class EventData_Destroy_Actor : public BaseEventData 129 { 130 public: 131 static const EventType sk_EventType; 132 133 explicit EventData_Destroy_Actor(uint32_t id = INVALID_ACTOR_ID) m_Id(id)134 : m_Id(id) 135 { 136 // 137 } 138 VGetEventType(void)139 virtual const EventType& VGetEventType(void) const 140 { 141 return sk_EventType; 142 } 143 VCopy(void)144 virtual IEventDataPtr VCopy(void) const 145 { 146 return IEventDataPtr(new EventData_Destroy_Actor(m_Id)); 147 } 148 VSerialize(std::ostringstream & out)149 virtual void VSerialize(std::ostringstream &out) const 150 { 151 out << m_Id; 152 } 153 VDeserialize(std::istringstream & in)154 virtual void VDeserialize(std::istringstream& in) 155 { 156 in >> m_Id; 157 } 158 GetName(void)159 virtual const char* GetName(void) const 160 { 161 return "EventData_Destroy_Actor"; 162 } 163 GetActorId(void)164 uint32_t GetActorId(void) const { return m_Id; } 165 166 private: 167 uint32_t m_Id; 168 }; 169 170 171 //--------------------------------------------------------------------------------------------------------------------- 172 // EventData_Move_Actor - sent when actors are moved 173 //--------------------------------------------------------------------------------------------------------------------- 174 class EventData_Move_Actor : public BaseEventData 175 { 176 public: 177 static const EventType sk_EventType; 178 VGetEventType(void)179 virtual const EventType& VGetEventType(void) const 180 { 181 return sk_EventType; 182 } 183 EventData_Move_Actor(void)184 EventData_Move_Actor(void) 185 { 186 m_Id = INVALID_ACTOR_ID; 187 } 188 EventData_Move_Actor(uint32_t id,const Point & move)189 EventData_Move_Actor(uint32_t id, const Point& move) 190 : m_Id(id), m_Move(move) 191 { 192 // 193 } 194 VSerialize(std::ostringstream & out)195 virtual void VSerialize(std::ostringstream &out) const 196 { 197 out << m_Id << " "; 198 out << m_Move.x << " "; 199 out << m_Move.y << " "; 200 } 201 VDeserialize(std::istringstream & in)202 virtual void VDeserialize(std::istringstream& in) 203 { 204 in >> m_Id; 205 in >> m_Move.x; 206 in >> m_Move.y; 207 } 208 VCopy()209 virtual IEventDataPtr VCopy() const 210 { 211 return IEventDataPtr(new EventData_Move_Actor(m_Id, m_Move)); 212 } 213 GetName(void)214 virtual const char* GetName(void) const 215 { 216 return "EventData_Move_Actor"; 217 } 218 GetActorId(void)219 uint32_t GetActorId(void) const 220 { 221 return m_Id; 222 } 223 GetMove(void)224 Point GetMove(void) const 225 { 226 return m_Move; 227 } 228 229 private: 230 uint32_t m_Id; 231 Point m_Move; 232 }; 233 234 235 //--------------------------------------------------------------------------------------------------------------------- 236 // EventData_New_Render_Component - This event is sent out when an actor is *actually* created. 237 //--------------------------------------------------------------------------------------------------------------------- 238 class EventData_New_Render_Component : public BaseEventData 239 { 240 public: 241 static const EventType sk_EventType; 242 EventData_New_Render_Component(void)243 EventData_New_Render_Component(void) 244 { 245 m_ActorId = INVALID_ACTOR_ID; 246 } 247 EventData_New_Render_Component(uint32_t actorId,shared_ptr<SceneNode> pSceneNode)248 explicit EventData_New_Render_Component(uint32_t actorId, shared_ptr<SceneNode> pSceneNode) 249 : m_ActorId(actorId), 250 m_pSceneNode(pSceneNode) 251 { 252 } 253 VSerialize(std::ostringstream & out)254 virtual void VSerialize(std::ostringstream& out) const 255 { 256 LOG_ERROR(GetName() + std::string(" should not be serialzied!")); 257 } 258 VDeserialize(std::istringstream & in)259 virtual void VDeserialize(std::istringstream& in) 260 { 261 LOG_ERROR(GetName() + std::string(" should not be serialzied!")); 262 } 263 VGetEventType(void)264 virtual const EventType& VGetEventType(void) const 265 { 266 return sk_EventType; 267 } 268 VCopy(void)269 virtual IEventDataPtr VCopy(void) const 270 { 271 return IEventDataPtr(new EventData_New_Render_Component(m_ActorId, m_pSceneNode)); 272 } 273 GetName(void)274 virtual const char* GetName(void) const 275 { 276 return "EventData_New_Render_Component"; 277 } 278 GetActorId(void)279 const uint32_t GetActorId(void) const 280 { 281 return m_ActorId; 282 } 283 GetSceneNode(void)284 shared_ptr<SceneNode> GetSceneNode(void) const 285 { 286 return m_pSceneNode; 287 } 288 289 private: 290 uint32_t m_ActorId; 291 shared_ptr<SceneNode> m_pSceneNode; 292 }; 293 294 295 //--------------------------------------------------------------------------------------------------------------------- 296 // EventData_Modified_Render_Component - This event is sent out when a render component is changed 297 //--------------------------------------------------------------------------------------------------------------------- 298 class EventData_Modified_Render_Component : public BaseEventData 299 { 300 public: 301 static const EventType sk_EventType; 302 VGetEventType(void)303 virtual const EventType& VGetEventType(void) const 304 { 305 return sk_EventType; 306 } 307 EventData_Modified_Render_Component(void)308 EventData_Modified_Render_Component(void) 309 { 310 m_ActorId = INVALID_ACTOR_ID; 311 } 312 EventData_Modified_Render_Component(uint32_t id)313 EventData_Modified_Render_Component(uint32_t id) 314 : m_ActorId(id) 315 { 316 } 317 VSerialize(std::ostringstream & out)318 virtual void VSerialize(std::ostringstream &out) const 319 { 320 out << m_ActorId; 321 } 322 VDeserialize(std::istringstream & in)323 virtual void VDeserialize(std::istringstream& in) 324 { 325 in >> m_ActorId; 326 } 327 VCopy()328 virtual IEventDataPtr VCopy() const 329 { 330 return IEventDataPtr(new EventData_Modified_Render_Component(m_ActorId)); 331 } 332 GetName(void)333 virtual const char* GetName(void) const 334 { 335 return "EventData_Modified_Render_Component"; 336 } 337 Getuint32_t(void)338 uint32_t Getuint32_t(void) const 339 { 340 return m_ActorId; 341 } 342 343 private: 344 uint32_t m_ActorId; 345 }; 346 347 348 349 //--------------------------------------------------------------------------------------------------------------------- 350 // EventData_Environment_Loaded - this event is sent when a new game is started 351 //--------------------------------------------------------------------------------------------------------------------- 352 class EventData_Environment_Loaded : public BaseEventData 353 { 354 public: 355 static const EventType sk_EventType; 356 EventData_Environment_Loaded(void)357 EventData_Environment_Loaded(void) { } VGetEventType(void)358 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy(void)359 virtual IEventDataPtr VCopy(void) const 360 { 361 return IEventDataPtr(new EventData_Environment_Loaded()); 362 } GetName(void)363 virtual const char* GetName(void) const { return "EventData_Environment_Loaded"; } 364 }; 365 366 367 //--------------------------------------------------------------------------------------------------------------------- 368 // EventData_Environment_Loaded - this event is sent when a client has loaded its environment 369 // This is special because we only want this event to go from client to server, and stop there. The 370 // EventData_Environment_Loaded is received by server and proxy logics alike. Thy to do this with just the above 371 // event and you'll get into an endless loop of the EventData_Environment_Loaded event making infinite round trips 372 // from client to server. 373 // 374 // FUTURE_WORK: It would be an interesting idea to add a "Private" type of event that is addressed only to a specific 375 // listener. Of course, that might be a really dumb idea too - someone will have to try it! 376 //--------------------------------------------------------------------------------------------------------------------- 377 class EventData_Remote_Environment_Loaded : public BaseEventData 378 { 379 public: 380 static const EventType sk_EventType; 381 EventData_Remote_Environment_Loaded(void)382 EventData_Remote_Environment_Loaded(void) { } VGetEventType(void)383 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy(void)384 virtual IEventDataPtr VCopy(void) const 385 { 386 return IEventDataPtr(new EventData_Remote_Environment_Loaded()); 387 } GetName(void)388 virtual const char* GetName(void) const { return "EventData_Remote_Environment_Loaded"; } 389 }; 390 391 392 //--------------------------------------------------------------------------------------------------------------------- 393 // EventData_Request_Start_Game - this is sent by the authoritative game logic to all views so they will load a game level. 394 //--------------------------------------------------------------------------------------------------------------------- 395 class EventData_Request_Start_Game : public BaseEventData 396 { 397 398 public: 399 static const EventType sk_EventType; 400 EventData_Request_Start_Game(void)401 EventData_Request_Start_Game(void) { } 402 VGetEventType(void)403 virtual const EventType& VGetEventType(void) const 404 { 405 return sk_EventType; 406 } 407 VCopy()408 virtual IEventDataPtr VCopy() const 409 { 410 return IEventDataPtr(new EventData_Request_Start_Game()); 411 } 412 GetName(void)413 virtual const char* GetName(void) const 414 { 415 return "EventData_Request_Start_Game"; 416 } 417 }; 418 419 420 /**** HOLY CRAP THIS ISN"T USED ANYMORE???? 421 //--------------------------------------------------------------------------------------------------------------------- 422 // EventData_Game_State - sent whenever the game state is changed (look for "BGS_" to see the different states) 423 //--------------------------------------------------------------------------------------------------------------------- 424 class EventData_Game_State : public BaseEventData 425 { 426 BaseGameState m_gameState; 427 std::string m_parameter; 428 429 public: 430 static const EventType sk_EventType; 431 432 EventData_Game_State(void) 433 { 434 m_gameState = BGS_Invalid; 435 } 436 437 explicit EventData_Game_State(const BaseGameState gameState, const std::string ¶meter) 438 : m_gameState(gameState), m_parameter(parameter) 439 { 440 } 441 442 virtual const EventType & VGetEventType( void ) const 443 { 444 return sk_EventType; 445 } 446 447 virtual IEventDataPtr VCopy() const 448 { 449 return IEventDataPtr( new EventData_Game_State( m_gameState, m_parameter ) ); 450 } 451 452 virtual void VSerialize(std::ostringstream &out) const 453 { 454 const int tempVal = static_cast< int >( m_gameState ); 455 out << tempVal << " "; 456 out << m_parameter; 457 } 458 459 virtual void VDeserialize(std::istringstream &in) 460 { 461 int tempVal; 462 in >> tempVal; 463 m_gameState = static_cast<BaseGameState>( tempVal ); 464 in >> m_parameter; 465 } 466 467 virtual const char* GetName(void) const 468 { 469 return "EventData_Game_State"; 470 } 471 472 BaseGameState GetGameState(void) const 473 { 474 return m_gameState; 475 } 476 477 const std::string GetParameter(void) const 478 { 479 return m_parameter; 480 } 481 }; 482 **********************/ 483 484 485 //--------------------------------------------------------------------------------------------------------------------- 486 // EventData_Remote_Client - Chapter 19, page 687 487 // 488 // Sent whenever a new client attaches to a game logic acting as a server 489 //--------------------------------------------------------------------------------------------------------------------- 490 class EventData_Remote_Client : public BaseEventData 491 { 492 public: 493 static const EventType sk_EventType; 494 EventData_Remote_Client(void)495 EventData_Remote_Client(void) 496 { 497 m_SocketId = 0; 498 m_IpAddress = 0; 499 } 500 EventData_Remote_Client(const int socketid,const int ipaddress)501 EventData_Remote_Client(const int socketid, const int ipaddress) 502 : m_SocketId(socketid), m_IpAddress(ipaddress) 503 { 504 } 505 VGetEventType(void)506 virtual const EventType & VGetEventType(void) const 507 { 508 return sk_EventType; 509 } 510 VCopy()511 virtual IEventDataPtr VCopy() const 512 { 513 return IEventDataPtr(new EventData_Remote_Client(m_SocketId, m_IpAddress)); 514 } 515 GetName(void)516 virtual const char* GetName(void) const 517 { 518 return "EventData_Remote_Client"; 519 } 520 VSerialize(std::ostringstream & out)521 virtual void VSerialize(std::ostringstream &out) const 522 { 523 out << m_SocketId << " "; 524 out << m_IpAddress; 525 } 526 VDeserialize(std::istringstream & in)527 virtual void VDeserialize(std::istringstream &in) 528 { 529 in >> m_SocketId; 530 in >> m_IpAddress; 531 } 532 GetSocketId(void)533 int GetSocketId(void) const 534 { 535 return m_SocketId; 536 } 537 GetIpAddress(void)538 int GetIpAddress(void) const 539 { 540 return m_IpAddress; 541 } 542 543 private: 544 int m_SocketId; 545 int m_IpAddress; 546 }; 547 548 549 //--------------------------------------------------------------------------------------------------------------------- 550 // EventData_Update_Tick - sent by the game logic each game tick 551 //--------------------------------------------------------------------------------------------------------------------- 552 class EventData_Update_Tick : public BaseEventData 553 { 554 public: 555 static const EventType sk_EventType; 556 EventData_Update_Tick(const int deltaMilliseconds)557 explicit EventData_Update_Tick(const int deltaMilliseconds) 558 : m_DeltaMilliseconds(deltaMilliseconds) 559 { 560 } 561 VGetEventType(void)562 virtual const EventType& VGetEventType(void) const 563 { 564 return sk_EventType; 565 } 566 VCopy()567 virtual IEventDataPtr VCopy() const 568 { 569 return IEventDataPtr(new EventData_Update_Tick(m_DeltaMilliseconds)); 570 } 571 VSerialize(std::ostringstream & out)572 virtual void VSerialize(std::ostringstream & out) 573 { 574 LOG_ERROR("You should not be serializing update ticks!"); 575 } 576 GetName(void)577 virtual const char* GetName(void) const 578 { 579 return "EventData_Update_Tick"; 580 } 581 582 private: 583 int m_DeltaMilliseconds; 584 }; 585 586 587 //--------------------------------------------------------------------------------------------------------------------- 588 // EventData_Network_Player_Actor_Assignment - sent by the server to the clients when a network view is assigned a player number 589 //--------------------------------------------------------------------------------------------------------------------- 590 class EventData_Network_Player_Actor_Assignment : public BaseEventData 591 { 592 public: 593 static const EventType sk_EventType; 594 EventData_Network_Player_Actor_Assignment()595 EventData_Network_Player_Actor_Assignment() 596 { 597 m_ActorId = INVALID_ACTOR_ID; 598 m_SocketId = -1; 599 } 600 EventData_Network_Player_Actor_Assignment(const uint32_t actorId,const int socketId)601 explicit EventData_Network_Player_Actor_Assignment(const uint32_t actorId, const int socketId) 602 : m_ActorId(actorId), m_SocketId(socketId) 603 604 { 605 } 606 VGetEventType(void)607 virtual const EventType & VGetEventType(void) const 608 { 609 return sk_EventType; 610 } 611 VCopy()612 virtual IEventDataPtr VCopy() const 613 { 614 return IEventDataPtr(new EventData_Network_Player_Actor_Assignment(m_ActorId, m_SocketId)); 615 } 616 GetName(void)617 virtual const char* GetName(void) const 618 { 619 return "EventData_Network_Player_Actor_Assignment"; 620 } 621 622 VSerialize(std::ostringstream & out)623 virtual void VSerialize(std::ostringstream &out) const 624 { 625 out << m_ActorId << " "; 626 out << m_SocketId; 627 } 628 VDeserialize(std::istringstream & in)629 virtual void VDeserialize(std::istringstream &in) 630 { 631 in >> m_ActorId; 632 in >> m_SocketId; 633 } 634 Getuint32_t(void)635 uint32_t Getuint32_t(void) const 636 { 637 return m_ActorId; 638 } 639 GetSocketId(void)640 uint32_t GetSocketId(void) const 641 { 642 return m_SocketId; 643 } 644 645 private: 646 uint32_t m_ActorId; 647 int m_SocketId; 648 }; 649 650 651 //--------------------------------------------------------------------------------------------------------------------- 652 // EventData_Decompress_Request - sent to a multithreaded game event listener to decompress something in the resource file 653 //--------------------------------------------------------------------------------------------------------------------- 654 class EventData_Decompress_Request : public BaseEventData 655 { 656 public: 657 static const EventType sk_EventType; 658 EventData_Decompress_Request(std::wstring zipFileName,std::string filename)659 explicit EventData_Decompress_Request(std::wstring zipFileName, std::string filename) 660 : m_ResourceFileName(zipFileName), 661 m_FileName(filename) 662 { 663 } 664 VGetEventType(void)665 virtual const EventType& VGetEventType(void) const 666 { 667 return sk_EventType; 668 } 669 VCopy()670 virtual IEventDataPtr VCopy() const 671 { 672 return IEventDataPtr(new EventData_Decompress_Request(m_ResourceFileName, m_FileName)); 673 } 674 VSerialize(std::ostringstream & out)675 virtual void VSerialize(std::ostringstream & out) 676 { 677 LOG_ERROR("You should not be serializing decompression requests!"); 678 } 679 GetZipFilename(void)680 const std::wstring& GetZipFilename(void) const 681 { 682 return m_ResourceFileName; 683 } 684 GetFilename(void)685 const std::string& GetFilename(void) const 686 { 687 return m_FileName; 688 } GetName(void)689 virtual const char* GetName(void) const 690 { 691 return "EventData_Decompress_Request"; 692 } 693 694 private: 695 std::wstring m_ResourceFileName; 696 std::string m_FileName; 697 }; 698 699 700 //--------------------------------------------------------------------------------------------------------------------- 701 // EventData_Decompression_Progress - sent by the decompression thread to report progress 702 //--------------------------------------------------------------------------------------------------------------------- 703 class EventData_Decompression_Progress : public BaseEventData 704 { 705 public: 706 static const EventType sk_EventType; 707 EventData_Decompression_Progress(int progress,std::wstring zipFileName,std::string filename,void * buffer)708 EventData_Decompression_Progress(int progress, std::wstring zipFileName, std::string filename, void *buffer) 709 : m_Progress(progress), 710 m_ResourceFileName(zipFileName), 711 m_FileName(filename), 712 m_pBuffer(buffer) 713 { 714 } 715 VGetEventType(void)716 virtual const EventType & VGetEventType(void) const 717 { 718 return sk_EventType; 719 } 720 VCopy()721 virtual IEventDataPtr VCopy() const 722 { 723 return IEventDataPtr(new EventData_Decompression_Progress(m_Progress, m_ResourceFileName, m_FileName, m_pBuffer)); 724 } 725 VSerialize(std::ostringstream & out)726 virtual void VSerialize(std::ostringstream & out) 727 { 728 LOG_ERROR("You should not be serializing decompression progress events!"); 729 } 730 GetName(void)731 virtual const char* GetName(void) const 732 { 733 return "EventData_Decompression_Progress"; 734 } 735 736 private: 737 int m_Progress; 738 std::wstring m_ResourceFileName; 739 std::string m_FileName; 740 void *m_pBuffer; 741 }; 742 743 744 //--------------------------------------------------------------------------------------------------------------------- 745 // class EventData_Request_New_Actor 746 // This event is sent by a server asking Client proxy logics to create new actors from their local resources. 747 // It can be sent from script or via code. 748 // This event is also sent from the server game logic to client logics AFTER it has created a new actor. The logics will allow follow suit to stay in sync. 749 //--------------------------------------------------------------------------------------------------------------------- 750 class EventData_Request_New_Actor : public BaseEventData 751 { 752 public: 753 static const EventType sk_EventType; 754 EventData_Request_New_Actor()755 EventData_Request_New_Actor() 756 { 757 m_ActorResource = ""; 758 m_HasInitialPosition = false; 759 m_InitialPosition = Point(0, 0); 760 m_ServerActorId = -1; 761 m_ViewId = INVALID_GAME_VIEW_ID; 762 } 763 764 explicit EventData_Request_New_Actor(const std::string &actorResource, const Point *pInitialPosition = NULL, const uint32_t actorId = INVALID_ACTOR_ID, const uint32_t viewId = INVALID_GAME_VIEW_ID) 765 { 766 m_ActorResource = actorResource; 767 if (pInitialPosition) 768 { 769 m_HasInitialPosition = true; 770 m_InitialPosition = *pInitialPosition; 771 } 772 else 773 m_HasInitialPosition = false; 774 775 m_ServerActorId = actorId; 776 m_ViewId = viewId; 777 } 778 VGetEventType(void)779 virtual const EventType& VGetEventType(void) const 780 { 781 return sk_EventType; 782 } 783 VDeserialize(std::istringstream & in)784 virtual void VDeserialize(std::istringstream & in) 785 { 786 in >> m_ActorResource; 787 in >> m_HasInitialPosition; 788 if (m_HasInitialPosition) 789 { 790 in >> m_InitialPosition.x; 791 in >> m_InitialPosition.y; 792 } 793 in >> m_ServerActorId; 794 in >> m_ViewId; 795 } 796 VCopy()797 virtual IEventDataPtr VCopy() const 798 { 799 return IEventDataPtr(new EventData_Request_New_Actor(m_ActorResource, (m_HasInitialPosition) ? &m_InitialPosition : NULL, m_ServerActorId, m_ViewId)); 800 } 801 VSerialize(std::ostringstream & out)802 virtual void VSerialize(std::ostringstream & out) const 803 { 804 out << m_ActorResource << " "; 805 out << m_HasInitialPosition << " "; 806 if (m_HasInitialPosition) 807 { 808 out << m_InitialPosition.x << " "; 809 out << m_InitialPosition.y << " "; 810 } 811 out << m_ServerActorId << " "; 812 out << m_ViewId << " "; 813 } 814 GetName(void)815 virtual const char* GetName(void) const { return "EventData_Request_New_Actor"; } 816 GetActorResource(void)817 const std::string &GetActorResource(void) const { return m_ActorResource; } GetInitialTransform(void)818 const Point *GetInitialTransform(void) const { return (m_HasInitialPosition) ? &m_InitialPosition : NULL; } GetServerActorId(void)819 const uint32_t GetServerActorId(void) const { return m_ServerActorId; } GetViewId(void)820 uint32_t GetViewId(void) const { return m_ViewId; } 821 822 private: 823 std::string m_ActorResource; 824 bool m_HasInitialPosition; 825 Point m_InitialPosition; 826 uint32_t m_ServerActorId; 827 uint32_t m_ViewId; 828 }; 829 830 /* 831 //--------------------------------------------------------------------------------------------------------------------- 832 // EventData_Request_Destroy_Actor - sent by any system requesting that the game logic destroy an actor 833 // FUTURE WORK - This event shouldn't really exist - subsystems should never ask the game logic to destroy something through an event, should they? 834 //--------------------------------------------------------------------------------------------------------------------- 835 class EventData_Request_Destroy_Actor : public ScriptEvent 836 { 837 uint32_t m_ActorId; 838 839 public: 840 static const EventType sk_EventType; 841 842 EventData_Request_Destroy_Actor() 843 { 844 m_ActorId = INVALID_ACTOR_ID; 845 } 846 847 EventData_Request_Destroy_Actor(uint32_t actorId) 848 { 849 m_ActorId = actorId; 850 } 851 852 virtual const EventType& VGetEventType(void) const 853 { 854 return sk_EventType; 855 } 856 857 virtual void VDeserialize(std::istringstream & in) 858 { 859 in >> m_ActorId; 860 } 861 862 virtual IEventDataPtr VCopy() const 863 { 864 return IEventDataPtr(new EventData_Request_Destroy_Actor(m_ActorId)); 865 } 866 867 virtual void VSerialize(std::ostringstream & out) const 868 { 869 out << m_ActorId; 870 } 871 872 virtual const char* GetName(void) const 873 { 874 return "EventData_Request_Destroy_Actor"; 875 } 876 877 uint32_t Getuint32_t(void) const 878 { 879 return m_ActorId; 880 } 881 882 virtual bool VBuildEventFromScript(void) 883 { 884 if (m_eventData.IsInteger()) 885 { 886 m_ActorId = m_eventData.GetInteger(); 887 return true; 888 } 889 return false; 890 } 891 }; 892 */ 893 894 //--------------------------------------------------------------------------------------------------------------------- 895 // EventData_PlaySound - sent by any system wishing for a HumanView to play a sound 896 //--------------------------------------------------------------------------------------------------------------------- 897 class EventData_PlaySound : public BaseEventData 898 { 899 public: 900 static const EventType sk_EventType; 901 EventData_PlaySound(void)902 EventData_PlaySound(void) { } EventData_PlaySound(const std::string & soundResource)903 EventData_PlaySound(const std::string& soundResource) 904 : m_SoundResource(soundResource) 905 { 906 } 907 VGetEventType(void)908 virtual const EventType& VGetEventType(void) const 909 { 910 return sk_EventType; 911 } 912 VCopy()913 virtual IEventDataPtr VCopy() const 914 { 915 return IEventDataPtr(new EventData_PlaySound(m_SoundResource)); 916 } 917 VSerialize(std::ostringstream & out)918 virtual void VSerialize(std::ostringstream& out) const 919 { 920 out << m_SoundResource; 921 } 922 VDeserialize(std::istringstream & in)923 virtual void VDeserialize(std::istringstream& in) 924 { 925 in >> m_SoundResource; 926 } 927 GetResource(void)928 const std::string& GetResource(void) const 929 { 930 return m_SoundResource; 931 } 932 GetName(void)933 virtual const char* GetName(void) const 934 { 935 return "EventData_PlaySound"; 936 } 937 938 //virtual bool VBuildEventFromScript(void); 939 940 private: 941 std::string m_SoundResource; 942 }; 943 944 //===================================================================================================================== 945 // My events begin here 946 //===================================================================================================================== 947 948 //--------------------------------------------------------------------------------------------------------------------- 949 // EventData_Attach_Actor - sent when controllable actor is loaded 950 //--------------------------------------------------------------------------------------------------------------------- 951 class EventData_Attach_Actor : public BaseEventData 952 { 953 public: 954 static const EventType sk_EventType; 955 EventData_Attach_Actor(void)956 EventData_Attach_Actor(void) 957 { 958 m_ActorId = INVALID_ACTOR_ID; 959 } 960 EventData_Attach_Actor(uint32 actorId)961 EventData_Attach_Actor(uint32 actorId) 962 { 963 m_ActorId = actorId; 964 } 965 VGetEventType(void)966 virtual const EventType& VGetEventType(void) const 967 { 968 return sk_EventType; 969 } 970 VCopy()971 virtual IEventDataPtr VCopy() const 972 { 973 return IEventDataPtr(new EventData_Attach_Actor(m_ActorId)); 974 } 975 VSerialize(std::ostringstream & out)976 virtual void VSerialize(std::ostringstream& out) const 977 { 978 out << m_ActorId; 979 } 980 VDeserialize(std::istringstream & in)981 virtual void VDeserialize(std::istringstream& in) 982 { 983 in >> m_ActorId; 984 } 985 GetActorId(void)986 uint32 GetActorId(void) const 987 { 988 return m_ActorId; 989 } 990 GetName(void)991 virtual const char* GetName(void) const 992 { 993 return "EventData_Attach_Actor"; 994 } 995 996 //virtual bool VBuildEventFromScript(void); 997 998 private: 999 uint32 m_ActorId; 1000 }; 1001 1002 //--------------------------------------------------------------------------------------------------------------------- 1003 // EventData_Collideable_Tile_Created - sent when collidable tile has been created 1004 //--------------------------------------------------------------------------------------------------------------------- 1005 class EventData_Collideable_Tile_Created : public BaseEventData 1006 { 1007 public: 1008 static const EventType sk_EventType; 1009 EventData_Collideable_Tile_Created(void)1010 EventData_Collideable_Tile_Created(void) 1011 { 1012 m_TileId = -1; 1013 m_PositionX = 0; 1014 m_PositionY = 0; 1015 m_TilesCount = 0; 1016 } 1017 EventData_Collideable_Tile_Created(int32 tileId,int32 positionX,int32 positionY,int tilesCount)1018 EventData_Collideable_Tile_Created(int32 tileId, int32 positionX, int32 positionY, int tilesCount) 1019 { 1020 m_TileId = tileId; 1021 m_PositionX = positionX; 1022 m_PositionY = positionY; 1023 m_TilesCount = tilesCount; 1024 } 1025 VGetEventType(void)1026 virtual const EventType& VGetEventType(void) const { return sk_EventType; } 1027 VCopy()1028 virtual IEventDataPtr VCopy() const 1029 { 1030 return IEventDataPtr(new EventData_Collideable_Tile_Created(m_TileId, m_PositionX, m_PositionY, m_TilesCount)); 1031 } 1032 VSerialize(std::ostringstream & out)1033 virtual void VSerialize(std::ostringstream& out) const { out << m_TileId << " " << m_PositionX << " " << m_PositionY << m_TilesCount; } VDeserialize(std::istringstream & in)1034 virtual void VDeserialize(std::istringstream& in) { in >> m_TileId >> m_PositionX >> m_PositionY >> m_TilesCount; } GetName(void)1035 virtual const char* GetName(void) const { return "EventData_Collideable_Tile_Created"; } 1036 GetTileId(void)1037 int32 GetTileId(void) const { return m_TileId; } GetPositionX(void)1038 int32 GetPositionX(void) const { return m_PositionX; } GetPositionY(void)1039 int32 GetPositionY(void) const { return m_PositionY; } GetTilesCount()1040 int32 GetTilesCount() { return m_TilesCount; } 1041 1042 private: 1043 int32 m_TileId; 1044 int32 m_PositionX; 1045 int32 m_PositionY; 1046 int32 m_TilesCount; 1047 }; 1048 1049 //--------------------------------------------------------------------------------------------------------------------- 1050 // EventData_Add_Static_Geometry 1051 //--------------------------------------------------------------------------------------------------------------------- 1052 class EventData_Add_Static_Geometry : public BaseEventData 1053 { 1054 public: 1055 static const EventType sk_EventType; 1056 EventData_Add_Static_Geometry(Point position,Point size,CollisionType collisonType)1057 EventData_Add_Static_Geometry(Point position, Point size, CollisionType collisonType) 1058 { 1059 m_Position = position; 1060 m_Size = size; 1061 m_CollisionType = collisonType; 1062 } 1063 VGetEventType(void)1064 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()1065 virtual IEventDataPtr VCopy() const 1066 { 1067 return IEventDataPtr(new EventData_Add_Static_Geometry(m_Position, m_Size, m_CollisionType)); 1068 } VSerialize(std::ostringstream & out)1069 virtual void VSerialize(std::ostringstream& out) const { out << m_Position.x << m_Position.y << m_Size.x << m_Size.y << (int)m_CollisionType; } VDeserialize(std::istringstream & in)1070 virtual void VDeserialize(std::istringstream& in) { /* TODO: in >> m_Position.x >> m_Position.y >> m_Size.x >> m_Size.y >> (int)(m_CollisionType);*/ } 1071 GetPosition()1072 Point GetPosition() { return m_Position; } GetSize()1073 Point GetSize() { return m_Size; } GetCollisionType()1074 CollisionType GetCollisionType() { return m_CollisionType; } 1075 GetName(void)1076 virtual const char* GetName(void) const { return "EventData_Add_Static_Geometry"; } 1077 1078 private: 1079 Point m_Position; 1080 Point m_Size; 1081 CollisionType m_CollisionType; 1082 }; 1083 1084 //--------------------------------------------------------------------------------------------------------------------- 1085 // EventData_Start_Climb - sent when climb up or down is requested (down or up arrow is pressed) 1086 //--------------------------------------------------------------------------------------------------------------------- 1087 class EventData_Start_Climb : public BaseEventData 1088 { 1089 public: 1090 static const EventType sk_EventType; 1091 EventData_Start_Climb(void)1092 EventData_Start_Climb(void) 1093 { 1094 m_ActorId = INVALID_ACTOR_ID; 1095 m_ClimbMovement = Point(0, 0); 1096 } 1097 EventData_Start_Climb(uint32 actorId,Point climbMovement)1098 EventData_Start_Climb(uint32 actorId, Point climbMovement) 1099 { 1100 m_ActorId = actorId; 1101 m_ClimbMovement = climbMovement; 1102 } 1103 VGetEventType(void)1104 virtual const EventType& VGetEventType(void) const 1105 { 1106 return sk_EventType; 1107 } 1108 VCopy()1109 virtual IEventDataPtr VCopy() const 1110 { 1111 return IEventDataPtr(new EventData_Start_Climb(m_ActorId, m_ClimbMovement)); 1112 } 1113 VSerialize(std::ostringstream & out)1114 virtual void VSerialize(std::ostringstream& out) const 1115 { 1116 out << m_ActorId; 1117 } 1118 VDeserialize(std::istringstream & in)1119 virtual void VDeserialize(std::istringstream& in) 1120 { 1121 in >> m_ActorId; 1122 } 1123 GetActorId(void)1124 uint32 GetActorId(void) const 1125 { 1126 return m_ActorId; 1127 } 1128 GetClimbMovement()1129 Point GetClimbMovement() const 1130 { 1131 return m_ClimbMovement; 1132 } 1133 GetName(void)1134 virtual const char* GetName(void) const 1135 { 1136 return "EventData_Start_Climb"; 1137 } 1138 1139 //virtual bool VBuildEventFromScript(void); 1140 1141 private: 1142 uint32 m_ActorId; 1143 Point m_ClimbMovement; 1144 }; 1145 1146 //--------------------------------------------------------------------------------------------------------------------- 1147 // EventData_Actor_Fire - Sent when Fire button is pressed. Fires projectile like pellet / magic 1148 //--------------------------------------------------------------------------------------------------------------------- 1149 class EventData_Actor_Fire : public BaseEventData 1150 { 1151 public: 1152 static const EventType sk_EventType; 1153 EventData_Actor_Fire(void)1154 EventData_Actor_Fire(void) 1155 { 1156 m_ActorId = INVALID_ACTOR_ID; 1157 } 1158 EventData_Actor_Fire(uint32 actorId)1159 EventData_Actor_Fire(uint32 actorId) 1160 { 1161 m_ActorId = actorId; 1162 } 1163 VGetEventType(void)1164 virtual const EventType& VGetEventType(void) const 1165 { 1166 return sk_EventType; 1167 } 1168 VCopy()1169 virtual IEventDataPtr VCopy() const 1170 { 1171 return IEventDataPtr(new EventData_Actor_Fire(m_ActorId)); 1172 } 1173 VSerialize(std::ostringstream & out)1174 virtual void VSerialize(std::ostringstream& out) const 1175 { 1176 out << m_ActorId; 1177 } 1178 VDeserialize(std::istringstream & in)1179 virtual void VDeserialize(std::istringstream& in) 1180 { 1181 in >> m_ActorId; 1182 } 1183 GetActorId(void)1184 uint32 GetActorId(void) const 1185 { 1186 return m_ActorId; 1187 } 1188 GetName(void)1189 virtual const char* GetName(void) const 1190 { 1191 return "EventData_Actor_Fire"; 1192 } 1193 1194 private: 1195 uint32 m_ActorId; 1196 }; 1197 1198 //--------------------------------------------------------------------------------------------------------------------- 1199 // EventData_Actor_Fire_Ended - When fire button is released 1200 //--------------------------------------------------------------------------------------------------------------------- 1201 class EventData_Actor_Fire_Ended : public BaseEventData 1202 { 1203 public: 1204 static const EventType sk_EventType; 1205 EventData_Actor_Fire_Ended(uint32 actorId)1206 EventData_Actor_Fire_Ended(uint32 actorId) { m_ActorId = actorId; } 1207 VGetEventType(void)1208 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()1209 virtual IEventDataPtr VCopy() const 1210 { 1211 return IEventDataPtr(new EventData_Actor_Fire_Ended(m_ActorId)); 1212 } VSerialize(std::ostringstream & out)1213 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId; } VDeserialize(std::istringstream & in)1214 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId; } 1215 GetName(void)1216 virtual const char* GetName(void) const { return "EventData_Actor_Fire_Ended"; } 1217 GetActorId()1218 uint32 GetActorId() { return m_ActorId; } 1219 1220 private: 1221 uint32 m_ActorId; 1222 }; 1223 1224 //--------------------------------------------------------------------------------------------------------------------- 1225 // EventData_Actor_Attack - Sent when attack button is pressed. 1226 //--------------------------------------------------------------------------------------------------------------------- 1227 class EventData_Actor_Attack : public BaseEventData 1228 { 1229 public: 1230 static const EventType sk_EventType; 1231 EventData_Actor_Attack(void)1232 EventData_Actor_Attack(void) 1233 { 1234 m_ActorId = INVALID_ACTOR_ID; 1235 } 1236 EventData_Actor_Attack(uint32 actorId)1237 EventData_Actor_Attack(uint32 actorId) 1238 { 1239 m_ActorId = actorId; 1240 } 1241 VGetEventType(void)1242 virtual const EventType& VGetEventType(void) const 1243 { 1244 return sk_EventType; 1245 } 1246 VCopy()1247 virtual IEventDataPtr VCopy() const 1248 { 1249 return IEventDataPtr(new EventData_Actor_Attack(m_ActorId)); 1250 } 1251 VSerialize(std::ostringstream & out)1252 virtual void VSerialize(std::ostringstream& out) const 1253 { 1254 out << m_ActorId; 1255 } 1256 VDeserialize(std::istringstream & in)1257 virtual void VDeserialize(std::istringstream& in) 1258 { 1259 in >> m_ActorId; 1260 } 1261 GetActorId(void)1262 uint32 GetActorId(void) const 1263 { 1264 return m_ActorId; 1265 } 1266 GetName(void)1267 virtual const char* GetName(void) const 1268 { 1269 return "EventData_Actor_Attack"; 1270 } 1271 1272 private: 1273 uint32 m_ActorId; 1274 }; 1275 1276 //--------------------------------------------------------------------------------------------------------------------- 1277 // EventData_New_HUD_Element 1278 //--------------------------------------------------------------------------------------------------------------------- 1279 class EventData_New_HUD_Element : public BaseEventData 1280 { 1281 public: 1282 static const EventType sk_EventType; 1283 EventData_New_HUD_Element(void)1284 EventData_New_HUD_Element(void) 1285 { 1286 m_ActorId = INVALID_ACTOR_ID; 1287 } 1288 EventData_New_HUD_Element(uint32 actorId,std::string key,shared_ptr<SDL2HUDSceneNode> pHUDSceneNode)1289 EventData_New_HUD_Element(uint32 actorId, std::string key, shared_ptr<SDL2HUDSceneNode> pHUDSceneNode) 1290 { 1291 m_ActorId = actorId; 1292 m_pHUDSceneNode = pHUDSceneNode; 1293 m_pKey = key; 1294 } 1295 VGetEventType(void)1296 virtual const EventType& VGetEventType(void) const 1297 { 1298 return sk_EventType; 1299 } 1300 VCopy()1301 virtual IEventDataPtr VCopy() const 1302 { 1303 return IEventDataPtr(new EventData_New_HUD_Element(m_ActorId, m_pKey, m_pHUDSceneNode)); 1304 } 1305 VSerialize(std::ostringstream & out)1306 virtual void VSerialize(std::ostringstream& out) const 1307 { 1308 LOG_ERROR(GetName() + std::string(" should not be serialzied!")); 1309 } 1310 VDeserialize(std::istringstream & in)1311 virtual void VDeserialize(std::istringstream& in) 1312 { 1313 LOG_ERROR(GetName() + std::string(" should not be serialzied!")); 1314 } 1315 GetActorId(void)1316 uint32 GetActorId(void) const 1317 { 1318 return m_ActorId; 1319 } 1320 GetHUDElement()1321 shared_ptr<SDL2HUDSceneNode> GetHUDElement() 1322 { 1323 return m_pHUDSceneNode; 1324 } 1325 GetHUDKey()1326 std::string GetHUDKey() { return m_pKey; } 1327 GetName(void)1328 virtual const char* GetName(void) const 1329 { 1330 return "EventData_New_HUD_Element"; 1331 } 1332 1333 private: 1334 uint32 m_ActorId; 1335 shared_ptr<SDL2HUDSceneNode> m_pHUDSceneNode; 1336 std::string m_pKey; 1337 }; 1338 1339 //--------------------------------------------------------------------------------------------------------------------- 1340 // EventData_Modify_Score 1341 //--------------------------------------------------------------------------------------------------------------------- 1342 class EventData_Modify_Player_Stat : public BaseEventData 1343 { 1344 public: 1345 static const EventType sk_EventType; 1346 EventData_Modify_Player_Stat(uint32 actorId,PlayerStat stat,int32 value,bool addToExistingStat)1347 EventData_Modify_Player_Stat(uint32 actorId, PlayerStat stat, int32 value, bool addToExistingStat) 1348 { 1349 m_ActorId = actorId; 1350 m_Stat = stat; 1351 m_Value = value; 1352 m_AddToExistingStat = addToExistingStat; 1353 } 1354 VGetEventType(void)1355 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()1356 virtual IEventDataPtr VCopy() const 1357 { 1358 return IEventDataPtr(new EventData_Modify_Player_Stat(m_ActorId, PlayerStat(m_Stat), m_Value, m_AddToExistingStat)); 1359 } VSerialize(std::ostringstream & out)1360 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId << m_Stat << m_Value << m_AddToExistingStat; } VDeserialize(std::istringstream & in)1361 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId >> m_Stat >> m_Value >> m_AddToExistingStat; } 1362 GetActorId(void)1363 uint32 GetActorId(void) const { return m_ActorId; } GetStatType()1364 PlayerStat GetStatType() const { return PlayerStat(m_Stat); } GetStatValue(void)1365 int32 GetStatValue(void) const { return m_Value; } AddToExistingStat(void)1366 bool AddToExistingStat(void) const { return m_AddToExistingStat; } GetName(void)1367 virtual const char* GetName(void) const { return "EventData_Modify_Player_Stat"; } 1368 1369 private: 1370 uint32 m_ActorId; 1371 int m_Stat; 1372 int32 m_Value; 1373 bool m_AddToExistingStat; 1374 }; 1375 1376 //--------------------------------------------------------------------------------------------------------------------- 1377 // EventData_Updated_Score 1378 //--------------------------------------------------------------------------------------------------------------------- 1379 class EventData_Updated_Score : public BaseEventData 1380 { 1381 public: 1382 static const EventType sk_EventType; 1383 EventData_Updated_Score(uint32 actorId,uint32 oldScore,uint32 newScore,bool isInitialScore)1384 EventData_Updated_Score(uint32 actorId, uint32 oldScore, uint32 newScore, bool isInitialScore) 1385 { 1386 m_ActorId = actorId; 1387 m_OldScore = oldScore; 1388 m_NewScore = newScore; 1389 m_IsInitialScore = isInitialScore; 1390 } 1391 VGetEventType(void)1392 virtual const EventType& VGetEventType(void) const 1393 { 1394 return sk_EventType; 1395 } 1396 VCopy()1397 virtual IEventDataPtr VCopy() const 1398 { 1399 return IEventDataPtr(new EventData_Updated_Score(m_ActorId, m_OldScore, m_NewScore, m_IsInitialScore)); 1400 } 1401 VSerialize(std::ostringstream & out)1402 virtual void VSerialize(std::ostringstream& out) const 1403 { 1404 out << m_ActorId << m_NewScore << m_OldScore << m_IsInitialScore; 1405 } 1406 VDeserialize(std::istringstream & in)1407 virtual void VDeserialize(std::istringstream& in) 1408 { 1409 in >> m_ActorId >> m_NewScore >> m_OldScore >> m_IsInitialScore; 1410 } 1411 GetActorId(void)1412 uint32 GetActorId(void) const 1413 { 1414 return m_ActorId; 1415 } 1416 GetNewScore(void)1417 uint32 GetNewScore(void) const 1418 { 1419 return m_NewScore; 1420 } 1421 GetOldScore(void)1422 uint32 GetOldScore(void) const 1423 { 1424 return m_OldScore; 1425 } 1426 IsInitialScore(void)1427 bool IsInitialScore(void) const 1428 { 1429 return m_IsInitialScore; 1430 } 1431 GetName(void)1432 virtual const char* GetName(void) const 1433 { 1434 return "EventData_Updated_Score"; 1435 } 1436 1437 private: 1438 uint32 m_ActorId; 1439 uint32 m_OldScore; 1440 uint32 m_NewScore; 1441 bool m_IsInitialScore; 1442 }; 1443 1444 //--------------------------------------------------------------------------------------------------------------------- 1445 // EventData_New_Life 1446 //--------------------------------------------------------------------------------------------------------------------- 1447 class EventData_New_Life : public BaseEventData 1448 { 1449 public: 1450 static const EventType sk_EventType; 1451 EventData_New_Life(void)1452 EventData_New_Life(void) 1453 { 1454 m_ActorId = INVALID_ACTOR_ID; 1455 m_NumNewLives = 1; 1456 } 1457 EventData_New_Life(uint32 actorId,int numNewLives)1458 EventData_New_Life(uint32 actorId, int numNewLives) 1459 { 1460 m_ActorId = actorId; 1461 m_NumNewLives = numNewLives; 1462 } 1463 VGetEventType(void)1464 virtual const EventType& VGetEventType(void) const 1465 { 1466 return sk_EventType; 1467 } 1468 VCopy()1469 virtual IEventDataPtr VCopy() const 1470 { 1471 return IEventDataPtr(new EventData_New_Life(m_ActorId, m_NumNewLives)); 1472 } 1473 VSerialize(std::ostringstream & out)1474 virtual void VSerialize(std::ostringstream& out) const 1475 { 1476 out << m_NumNewLives; 1477 } 1478 VDeserialize(std::istringstream & in)1479 virtual void VDeserialize(std::istringstream& in) 1480 { 1481 in >> m_NumNewLives; 1482 } 1483 GetActorId()1484 uint32 GetActorId() const 1485 { 1486 return m_ActorId; 1487 } 1488 GetNumNewLives(void)1489 int GetNumNewLives(void) const 1490 { 1491 return m_NumNewLives; 1492 } 1493 GetName(void)1494 virtual const char* GetName(void) const 1495 { 1496 return "EventData_New_Life"; 1497 } 1498 1499 private: 1500 uint32 m_ActorId; 1501 int m_NumNewLives; 1502 }; 1503 1504 //--------------------------------------------------------------------------------------------------------------------- 1505 // EventData_Updated_Lives 1506 //--------------------------------------------------------------------------------------------------------------------- 1507 class EventData_Updated_Lives : public BaseEventData 1508 { 1509 public: 1510 static const EventType sk_EventType; 1511 EventData_Updated_Lives(void)1512 EventData_Updated_Lives(void) 1513 { 1514 m_OldLivesCount = 0; 1515 } 1516 EventData_Updated_Lives(uint32 oldLives,uint32 newLives,bool isInitialLives)1517 EventData_Updated_Lives(uint32 oldLives, uint32 newLives, bool isInitialLives) 1518 { 1519 m_OldLivesCount = oldLives; 1520 m_NewLivesCount = newLives; 1521 m_IsInitialLives = isInitialLives; 1522 } 1523 VGetEventType(void)1524 virtual const EventType& VGetEventType(void) const 1525 { 1526 return sk_EventType; 1527 } 1528 VCopy()1529 virtual IEventDataPtr VCopy() const 1530 { 1531 return IEventDataPtr(new EventData_Updated_Lives(m_OldLivesCount, m_NewLivesCount, m_IsInitialLives)); 1532 } 1533 VSerialize(std::ostringstream & out)1534 virtual void VSerialize(std::ostringstream& out) const 1535 { 1536 out << m_OldLivesCount << m_NewLivesCount << m_IsInitialLives; 1537 } 1538 VDeserialize(std::istringstream & in)1539 virtual void VDeserialize(std::istringstream& in) 1540 { 1541 in >> m_OldLivesCount >> m_NewLivesCount >> m_IsInitialLives; 1542 } 1543 GetNewLivesCount(void)1544 uint32 GetNewLivesCount(void) const 1545 { 1546 return m_NewLivesCount; 1547 } 1548 GetOldLivesCount(void)1549 uint32 GetOldLivesCount(void) const 1550 { 1551 return m_OldLivesCount; 1552 } 1553 IsInitialLives(void)1554 bool IsInitialLives(void) const 1555 { 1556 return m_IsInitialLives; 1557 } 1558 GetName(void)1559 virtual const char* GetName(void) const 1560 { 1561 return "EventData_Updated_Lives"; 1562 } 1563 1564 private: 1565 uint32 m_OldLivesCount; 1566 uint32 m_NewLivesCount; 1567 bool m_IsInitialLives; 1568 }; 1569 1570 //--------------------------------------------------------------------------------------------------------------------- 1571 // EventData_Updated_Health 1572 //--------------------------------------------------------------------------------------------------------------------- 1573 class EventData_Updated_Health : public BaseEventData 1574 { 1575 public: 1576 static const EventType sk_EventType; 1577 EventData_Updated_Health(uint32 oldHealth,int32 newHealth,bool isInitialHealth)1578 EventData_Updated_Health(uint32 oldHealth, int32 newHealth, bool isInitialHealth) 1579 { 1580 m_OldHealth = oldHealth; 1581 m_NewHealth = newHealth; 1582 m_IsInitialHealth = isInitialHealth; 1583 } 1584 VGetEventType(void)1585 virtual const EventType& VGetEventType(void) const 1586 { 1587 return sk_EventType; 1588 } 1589 VCopy()1590 virtual IEventDataPtr VCopy() const 1591 { 1592 return IEventDataPtr(new EventData_Updated_Health(m_OldHealth, m_NewHealth, m_IsInitialHealth)); 1593 } 1594 VSerialize(std::ostringstream & out)1595 virtual void VSerialize(std::ostringstream& out) const 1596 { 1597 out << m_OldHealth << m_NewHealth << m_IsInitialHealth; 1598 } 1599 VDeserialize(std::istringstream & in)1600 virtual void VDeserialize(std::istringstream& in) 1601 { 1602 in >> m_OldHealth >> m_NewHealth >> m_IsInitialHealth; 1603 } 1604 GetNewHealth(void)1605 int32 GetNewHealth(void) const 1606 { 1607 return m_NewHealth; 1608 } 1609 GetOldHealth(void)1610 int32 GetOldHealth(void) const 1611 { 1612 return m_OldHealth; 1613 } 1614 IsInitialHealth(void)1615 bool IsInitialHealth(void) const 1616 { 1617 return m_IsInitialHealth; 1618 } 1619 GetName(void)1620 virtual const char* GetName(void) const 1621 { 1622 return "EventData_Updated_Health"; 1623 } 1624 1625 private: 1626 int32 m_OldHealth; 1627 int32 m_NewHealth; 1628 bool m_IsInitialHealth; 1629 }; 1630 1631 //--------------------------------------------------------------------------------------------------------------------- 1632 // EventData_Update_Ammo 1633 //--------------------------------------------------------------------------------------------------------------------- 1634 class EventData_Updated_Ammo : public BaseEventData 1635 { 1636 public: 1637 static const EventType sk_EventType; 1638 EventData_Updated_Ammo(uint32 ammoType,uint32 ammoCount)1639 EventData_Updated_Ammo(uint32 ammoType, uint32 ammoCount) 1640 { 1641 m_AmmoType = ammoType; 1642 m_AmmoCount = ammoCount; 1643 } 1644 VGetEventType(void)1645 virtual const EventType& VGetEventType(void) const 1646 { 1647 return sk_EventType; 1648 } 1649 VCopy()1650 virtual IEventDataPtr VCopy() const 1651 { 1652 return IEventDataPtr(new EventData_Updated_Ammo(m_AmmoType, m_AmmoCount)); 1653 } 1654 VSerialize(std::ostringstream & out)1655 virtual void VSerialize(std::ostringstream& out) const 1656 { 1657 out << m_AmmoType << m_AmmoCount; 1658 } 1659 VDeserialize(std::istringstream & in)1660 virtual void VDeserialize(std::istringstream& in) 1661 { 1662 in >> m_AmmoType >> m_AmmoCount; 1663 } 1664 GetAmmoType(void)1665 uint32 GetAmmoType(void) const 1666 { 1667 return m_AmmoType; 1668 } 1669 GetAmmoCount(void)1670 uint32 GetAmmoCount(void) const 1671 { 1672 return m_AmmoCount; 1673 } 1674 GetName(void)1675 virtual const char* GetName(void) const 1676 { 1677 return "EventData_Updated_Ammo"; 1678 } 1679 1680 private: 1681 uint32 m_AmmoType; 1682 uint32 m_AmmoCount; 1683 }; 1684 1685 //--------------------------------------------------------------------------------------------------------------------- 1686 // EventData_Request_Change_Ammo_Type 1687 //--------------------------------------------------------------------------------------------------------------------- 1688 class EventData_Request_Change_Ammo_Type : public BaseEventData 1689 { 1690 public: 1691 static const EventType sk_EventType; 1692 1693 EventData_Request_Change_Ammo_Type(uint32 actorId, uint32 ammoType = AmmoType_Max) 1694 { 1695 m_ActorId = actorId; 1696 m_AmmoType = ammoType; 1697 } 1698 VGetEventType(void)1699 virtual const EventType& VGetEventType(void) const 1700 { 1701 return sk_EventType; 1702 } 1703 VCopy()1704 virtual IEventDataPtr VCopy() const 1705 { 1706 return IEventDataPtr(new EventData_Request_Change_Ammo_Type(m_ActorId, m_AmmoType)); 1707 } 1708 VSerialize(std::ostringstream & out)1709 virtual void VSerialize(std::ostringstream& out) const 1710 { 1711 out << m_ActorId << m_AmmoType; 1712 } 1713 VDeserialize(std::istringstream & in)1714 virtual void VDeserialize(std::istringstream& in) 1715 { 1716 in >> m_ActorId >> m_AmmoType; 1717 } 1718 GetAmmoType(void)1719 uint32 GetAmmoType(void) const 1720 { 1721 return m_AmmoType; 1722 } 1723 GetActorId(void)1724 uint32 GetActorId(void) const 1725 { 1726 return m_ActorId; 1727 } 1728 GetName(void)1729 virtual const char* GetName(void) const 1730 { 1731 return "EventData_Request_Change_Ammo_Type"; 1732 } 1733 1734 private: 1735 uint32 m_AmmoType; 1736 uint32 m_ActorId; 1737 }; 1738 1739 //--------------------------------------------------------------------------------------------------------------------- 1740 // EventData_Updated_Ammo_Type 1741 //--------------------------------------------------------------------------------------------------------------------- 1742 class EventData_Updated_Ammo_Type : public BaseEventData 1743 { 1744 public: 1745 static const EventType sk_EventType; 1746 EventData_Updated_Ammo_Type(uint32 actorId,uint32 ammoType)1747 EventData_Updated_Ammo_Type(uint32 actorId, uint32 ammoType) 1748 { 1749 m_ActorId = actorId; 1750 m_AmmoType = ammoType; 1751 } 1752 VGetEventType(void)1753 virtual const EventType& VGetEventType(void) const 1754 { 1755 return sk_EventType; 1756 } 1757 VCopy()1758 virtual IEventDataPtr VCopy() const 1759 { 1760 return IEventDataPtr(new EventData_Updated_Ammo_Type(m_ActorId, m_AmmoType)); 1761 } 1762 VSerialize(std::ostringstream & out)1763 virtual void VSerialize(std::ostringstream& out) const 1764 { 1765 out << m_ActorId << m_AmmoType; 1766 } 1767 VDeserialize(std::istringstream & in)1768 virtual void VDeserialize(std::istringstream& in) 1769 { 1770 in >> m_ActorId >> m_AmmoType; 1771 } 1772 GetAmmoType(void)1773 uint32 GetAmmoType(void) const 1774 { 1775 return m_AmmoType; 1776 } 1777 GetActorId(void)1778 uint32 GetActorId(void) const 1779 { 1780 return m_ActorId; 1781 } 1782 GetName(void)1783 virtual const char* GetName(void) const 1784 { 1785 return "EventData_Updated_Ammo_Type"; 1786 } 1787 1788 private: 1789 uint32 m_AmmoType; 1790 uint32 m_ActorId; 1791 }; 1792 1793 //--------------------------------------------------------------------------------------------------------------------- 1794 // EventData_Teleport_Actor 1795 //--------------------------------------------------------------------------------------------------------------------- 1796 class EventData_Teleport_Actor : public BaseEventData 1797 { 1798 public: 1799 static const EventType sk_EventType; 1800 1801 EventData_Teleport_Actor(uint32 actorId, const Point& destination, bool hasScreenSfx = false) 1802 { 1803 m_ActorId = actorId; 1804 m_Destination = destination; 1805 m_bHasScreenSfx = hasScreenSfx; 1806 } 1807 VGetEventType(void)1808 virtual const EventType& VGetEventType(void) const 1809 { 1810 return sk_EventType; 1811 } 1812 VCopy()1813 virtual IEventDataPtr VCopy() const 1814 { 1815 return IEventDataPtr(new EventData_Teleport_Actor(m_ActorId, m_Destination, m_bHasScreenSfx)); 1816 } 1817 VSerialize(std::ostringstream & out)1818 virtual void VSerialize(std::ostringstream& out) const 1819 { 1820 out << m_ActorId << m_Destination.x << m_Destination.y << m_bHasScreenSfx; 1821 } 1822 VDeserialize(std::istringstream & in)1823 virtual void VDeserialize(std::istringstream& in) 1824 { 1825 in >> m_ActorId >> m_Destination.x >> m_Destination.y >> m_bHasScreenSfx; 1826 } 1827 GetActorId(void)1828 uint32 GetActorId(void) const 1829 { 1830 return m_ActorId; 1831 } 1832 GetDestination(void)1833 Point GetDestination(void) const 1834 { 1835 return m_Destination; 1836 } 1837 GetHasScreenSfx()1838 bool GetHasScreenSfx() const 1839 { 1840 return m_bHasScreenSfx; 1841 } 1842 GetName(void)1843 virtual const char* GetName(void) const 1844 { 1845 return "EventData_Teleport_Actor"; 1846 } 1847 1848 private: 1849 uint32 m_ActorId; 1850 Point m_Destination; 1851 bool m_bHasScreenSfx; 1852 }; 1853 1854 //--------------------------------------------------------------------------------------------------------------------- 1855 // EventData_Updated_Powerup_Time 1856 //--------------------------------------------------------------------------------------------------------------------- 1857 class EventData_Updated_Powerup_Time : public BaseEventData 1858 { 1859 public: 1860 static const EventType sk_EventType; 1861 EventData_Updated_Powerup_Time()1862 EventData_Updated_Powerup_Time() 1863 { 1864 m_ActorId = INVALID_ACTOR_ID; 1865 m_PowerupType = PowerupType_None; 1866 m_SecondsRemaining = 0; 1867 } 1868 EventData_Updated_Powerup_Time(uint32 actorId,uint32 powerupType,int32 secondsRemaining)1869 EventData_Updated_Powerup_Time(uint32 actorId, uint32 powerupType, int32 secondsRemaining) 1870 { 1871 m_ActorId = actorId; 1872 m_PowerupType = powerupType; 1873 m_SecondsRemaining = secondsRemaining; 1874 } 1875 VGetEventType(void)1876 virtual const EventType& VGetEventType(void) const 1877 { 1878 return sk_EventType; 1879 } 1880 VCopy()1881 virtual IEventDataPtr VCopy() const 1882 { 1883 return IEventDataPtr(new EventData_Updated_Powerup_Time(m_ActorId, m_PowerupType, m_SecondsRemaining)); 1884 } 1885 VSerialize(std::ostringstream & out)1886 virtual void VSerialize(std::ostringstream& out) const 1887 { 1888 out << m_ActorId << m_PowerupType << m_SecondsRemaining; 1889 } 1890 VDeserialize(std::istringstream & in)1891 virtual void VDeserialize(std::istringstream& in) 1892 { 1893 in >> m_ActorId >> m_PowerupType >> m_SecondsRemaining; 1894 } 1895 GetPowerupType(void)1896 uint32 GetPowerupType(void) const 1897 { 1898 return m_PowerupType; 1899 } 1900 GetActorId(void)1901 uint32 GetActorId(void) const 1902 { 1903 return m_ActorId; 1904 } 1905 GetSecondsRemaining()1906 int32 GetSecondsRemaining() const 1907 { 1908 return m_SecondsRemaining; 1909 } 1910 GetName(void)1911 virtual const char* GetName(void) const 1912 { 1913 return "EventData_Updated_Powerup_Time"; 1914 } 1915 1916 private: 1917 uint32 m_ActorId; 1918 uint32 m_PowerupType; 1919 int32 m_SecondsRemaining; 1920 }; 1921 1922 //--------------------------------------------------------------------------------------------------------------------- 1923 // EventData_Updated_Powerup_Status 1924 //--------------------------------------------------------------------------------------------------------------------- 1925 class EventData_Updated_Powerup_Status : public BaseEventData 1926 { 1927 public: 1928 static const EventType sk_EventType; 1929 EventData_Updated_Powerup_Status()1930 EventData_Updated_Powerup_Status() 1931 { 1932 m_ActorId = INVALID_ACTOR_ID; 1933 m_PowerupType = PowerupType_None; 1934 m_IsPowerupFinished = false; 1935 } 1936 EventData_Updated_Powerup_Status(uint32 actorId,PowerupType powerupType,bool isPowerupFinished)1937 EventData_Updated_Powerup_Status(uint32 actorId, PowerupType powerupType, bool isPowerupFinished) 1938 { 1939 m_ActorId = actorId; 1940 m_PowerupType = powerupType; 1941 m_IsPowerupFinished = isPowerupFinished; 1942 } 1943 VGetEventType(void)1944 virtual const EventType& VGetEventType(void) const 1945 { 1946 return sk_EventType; 1947 } 1948 VCopy()1949 virtual IEventDataPtr VCopy() const 1950 { 1951 return IEventDataPtr(new EventData_Updated_Powerup_Status(m_ActorId, PowerupType(m_PowerupType), m_IsPowerupFinished)); 1952 } 1953 VSerialize(std::ostringstream & out)1954 virtual void VSerialize(std::ostringstream& out) const 1955 { 1956 out << m_ActorId << m_PowerupType << m_IsPowerupFinished; 1957 } 1958 VDeserialize(std::istringstream & in)1959 virtual void VDeserialize(std::istringstream& in) 1960 { 1961 in >> m_ActorId >> m_PowerupType >> m_IsPowerupFinished; 1962 } 1963 GetActorId(void)1964 uint32 GetActorId(void) const 1965 { 1966 return m_ActorId; 1967 } 1968 IsPowerupFinished()1969 bool IsPowerupFinished() const 1970 { 1971 return m_IsPowerupFinished; 1972 } 1973 GetPowerupType()1974 PowerupType GetPowerupType() const { return PowerupType(m_PowerupType); } 1975 GetName(void)1976 virtual const char* GetName(void) const 1977 { 1978 return "EventData_Updated_Powerup_Status"; 1979 } 1980 1981 private: 1982 uint32 m_ActorId; 1983 uint32 m_PowerupType; 1984 bool m_IsPowerupFinished; 1985 }; 1986 1987 //--------------------------------------------------------------------------------------------------------------------- 1988 // EventData_Checkpoint_Reached 1989 //--------------------------------------------------------------------------------------------------------------------- 1990 class EventData_Checkpoint_Reached : public BaseEventData 1991 { 1992 public: 1993 static const EventType sk_EventType; 1994 EventData_Checkpoint_Reached(uint32 actorId,Point spawnPoint,bool isSaveCheckpoint,uint32 saveCheckpointNumber)1995 EventData_Checkpoint_Reached(uint32 actorId, Point spawnPoint, bool isSaveCheckpoint, uint32 saveCheckpointNumber) 1996 { 1997 m_ActorId = actorId; 1998 m_SpawnPoint = spawnPoint; 1999 m_IsSaveCheckpoint = isSaveCheckpoint; 2000 m_SaveCheckpointNumber = saveCheckpointNumber; 2001 } 2002 VGetEventType(void)2003 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2004 virtual IEventDataPtr VCopy() const 2005 { 2006 return IEventDataPtr(new EventData_Checkpoint_Reached(m_ActorId, m_SpawnPoint, m_IsSaveCheckpoint, m_SaveCheckpointNumber)); 2007 } VSerialize(std::ostringstream & out)2008 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId << m_SpawnPoint.x << m_SpawnPoint.y << m_IsSaveCheckpoint << m_SaveCheckpointNumber; } VDeserialize(std::istringstream & in)2009 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId >> m_SpawnPoint.x >> m_SpawnPoint.y >> m_IsSaveCheckpoint >> m_SaveCheckpointNumber; } 2010 GetActorId(void)2011 uint32 GetActorId(void) const { return m_ActorId; } GetSpawnPoint()2012 Point GetSpawnPoint() const { return m_SpawnPoint; } IsSaveCheckpoint(void)2013 bool IsSaveCheckpoint(void) const { return m_IsSaveCheckpoint; } GetSaveCheckpointNumber(void)2014 uint32 GetSaveCheckpointNumber(void) const { return m_SaveCheckpointNumber; } GetName(void)2015 virtual const char* GetName(void) const { return "EventData_Checkpoint_Reached"; } 2016 2017 private: 2018 uint32 m_ActorId; 2019 Point m_SpawnPoint; 2020 bool m_IsSaveCheckpoint; 2021 uint32 m_SaveCheckpointNumber; 2022 }; 2023 2024 //--------------------------------------------------------------------------------------------------------------------- 2025 // EventData_Claw_Died 2026 //--------------------------------------------------------------------------------------------------------------------- 2027 class EventData_Claw_Died : public BaseEventData 2028 { 2029 public: 2030 static const EventType sk_EventType; 2031 EventData_Claw_Died(uint32 actorId,Point deathPosition,int remainingLives)2032 EventData_Claw_Died(uint32 actorId, Point deathPosition, int remainingLives) 2033 { 2034 m_ActorId = actorId; 2035 m_DeathPosition = deathPosition; 2036 m_RemainingLives = remainingLives; 2037 } 2038 VGetEventType(void)2039 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2040 virtual IEventDataPtr VCopy() const 2041 { 2042 return IEventDataPtr(new EventData_Claw_Died(m_ActorId, m_DeathPosition, m_RemainingLives)); 2043 } VSerialize(std::ostringstream & out)2044 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId << m_DeathPosition.x << m_DeathPosition.y << m_RemainingLives; } VDeserialize(std::istringstream & in)2045 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId >> m_DeathPosition.x >> m_DeathPosition.y >> m_RemainingLives; } 2046 GetActorId(void)2047 uint32 GetActorId(void) const { return m_ActorId; } GetDeathPosition()2048 Point GetDeathPosition() { return m_DeathPosition; } GetRemainingLives()2049 int GetRemainingLives() { return m_RemainingLives; } GetName(void)2050 virtual const char* GetName(void) const { return "EventData_Claw_Died"; } 2051 2052 private: 2053 uint32 m_ActorId; 2054 Point m_DeathPosition; 2055 int m_RemainingLives; 2056 }; 2057 2058 //--------------------------------------------------------------------------------------------------------------------- 2059 // EventData_Claw_Respawned 2060 //--------------------------------------------------------------------------------------------------------------------- 2061 class EventData_Claw_Respawned : public BaseEventData 2062 { 2063 public: 2064 static const EventType sk_EventType; 2065 EventData_Claw_Respawned(uint32 actorId)2066 EventData_Claw_Respawned(uint32 actorId) 2067 { 2068 m_ActorId = actorId; 2069 } 2070 VGetEventType(void)2071 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2072 virtual IEventDataPtr VCopy() const 2073 { 2074 return IEventDataPtr(new EventData_Claw_Respawned(m_ActorId)); 2075 } VSerialize(std::ostringstream & out)2076 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId; } VDeserialize(std::istringstream & in)2077 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId; } 2078 GetActorId(void)2079 uint32 GetActorId(void) const { return m_ActorId; } GetName(void)2080 virtual const char* GetName(void) const { return "EventData_Claw_Respawned"; } 2081 2082 private: 2083 uint32 m_ActorId; 2084 }; 2085 2086 //--------------------------------------------------------------------------------------------------------------------- 2087 // EventData_Claw_Health_Below_Zero 2088 //--------------------------------------------------------------------------------------------------------------------- 2089 class EventData_Claw_Health_Below_Zero : public BaseEventData 2090 { 2091 public: 2092 static const EventType sk_EventType; 2093 EventData_Claw_Health_Below_Zero(uint32 actorId)2094 EventData_Claw_Health_Below_Zero(uint32 actorId) 2095 { 2096 m_ActorId = actorId; 2097 } 2098 VGetEventType(void)2099 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2100 virtual IEventDataPtr VCopy() const 2101 { 2102 return IEventDataPtr(new EventData_Claw_Health_Below_Zero(m_ActorId)); 2103 } VSerialize(std::ostringstream & out)2104 virtual void VSerialize(std::ostringstream& out) const { out << m_ActorId; } VDeserialize(std::istringstream & in)2105 virtual void VDeserialize(std::istringstream& in) { in >> m_ActorId; } 2106 GetActorId(void)2107 uint32 GetActorId(void) const { return m_ActorId; } GetName(void)2108 virtual const char* GetName(void) const { return "EventData_Claw_Health_Below_Zero"; } 2109 2110 private: 2111 uint32 m_ActorId; 2112 }; 2113 2114 //--------------------------------------------------------------------------------------------------------------------- 2115 // EventData_Request_Play_Sound 2116 //--------------------------------------------------------------------------------------------------------------------- 2117 class EventData_Request_Play_Sound : public BaseEventData 2118 { 2119 public: 2120 static const EventType sk_EventType; 2121 2122 /*EventData_Request_Play_Sound(std::string soundPath, uint32 volume, bool isMusic = false, int loops = 0) 2123 { 2124 m_MusicPath = soundPath; 2125 m_Volume = volume; 2126 m_bIsMusic = isMusic; 2127 m_Loops = loops; 2128 }*/ 2129 EventData_Request_Play_Sound(const SoundInfo & soundInfo)2130 EventData_Request_Play_Sound(const SoundInfo& soundInfo) 2131 { 2132 m_SoundInfo = soundInfo; 2133 } 2134 VGetEventType(void)2135 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2136 virtual IEventDataPtr VCopy() const 2137 { 2138 return IEventDataPtr(new EventData_Request_Play_Sound(m_SoundInfo)); 2139 } VSerialize(std::ostringstream & out)2140 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Not serializable"); /*out << m_MusicPath << m_Volume << m_bIsMusic << m_Loops;*/ } VDeserialize(std::istringstream & in)2141 virtual void VDeserialize(std::istringstream& in) { assert(false && "Not deserializable"); /*in >> m_MusicPath >> m_Volume >> m_bIsMusic >> m_Loops;*/ } 2142 GetSoundInfo()2143 const SoundInfo* GetSoundInfo() { return &m_SoundInfo; } 2144 2145 /*std::string GetSoundPath() const { return m_MusicPath; } 2146 uint32 GetVolume() const { return m_Volume; } 2147 bool IsMusic() const { return m_bIsMusic; } 2148 int GetNumLoops() const { return m_Loops; }*/ 2149 GetName(void)2150 virtual const char* GetName(void) const { return "EventData_Request_Play_Sound"; } 2151 2152 private: 2153 SoundInfo m_SoundInfo; 2154 2155 /*std::string m_MusicPath; 2156 uint32 m_Volume; 2157 int m_Loops; 2158 bool m_bIsMusic;*/ 2159 }; 2160 2161 //--------------------------------------------------------------------------------------------------------------------- 2162 // EventData_Request_Reset_Level 2163 //--------------------------------------------------------------------------------------------------------------------- 2164 class EventData_Request_Reset_Level : public BaseEventData 2165 { 2166 public: 2167 static const EventType sk_EventType; 2168 EventData_Request_Reset_Level()2169 EventData_Request_Reset_Level() { } 2170 VGetEventType(void)2171 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2172 virtual IEventDataPtr VCopy() const { return IEventDataPtr(new EventData_Request_Reset_Level()); } VSerialize(std::ostringstream & out)2173 virtual void VSerialize(std::ostringstream& out) const { assert(false && "This event CANNOT be serialized"); } VDeserialize(std::istringstream & in)2174 virtual void VDeserialize(std::istringstream& in) { assert(false && "This event CANNOT be deserialized"); } 2175 GetName(void)2176 virtual const char* GetName(void) const { return "EventData_Request_Reset_Level"; } 2177 }; 2178 2179 //--------------------------------------------------------------------------------------------------------------------- 2180 // EventData_Menu_SwitchPage 2181 //--------------------------------------------------------------------------------------------------------------------- 2182 class EventData_Menu_SwitchPage : public BaseEventData 2183 { 2184 public: 2185 static const EventType sk_EventType; 2186 EventData_Menu_SwitchPage()2187 EventData_Menu_SwitchPage() 2188 { 2189 2190 } 2191 EventData_Menu_SwitchPage(std::string newPageName)2192 EventData_Menu_SwitchPage(std::string newPageName) 2193 { 2194 m_NewPageName = newPageName; 2195 } 2196 VGetEventType(void)2197 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2198 virtual IEventDataPtr VCopy() const 2199 { 2200 return IEventDataPtr(new EventData_Menu_SwitchPage(m_NewPageName)); 2201 } VSerialize(std::ostringstream & out)2202 virtual void VSerialize(std::ostringstream& out) const { out << m_NewPageName; } VDeserialize(std::istringstream & in)2203 virtual void VDeserialize(std::istringstream& in) { in >> m_NewPageName; } 2204 GetNewPageName()2205 std::string GetNewPageName() const { return m_NewPageName; } 2206 GetName(void)2207 virtual const char* GetName(void) const { return "EventData_Menu_SwitchPage"; } 2208 2209 private: 2210 std::string m_NewPageName; 2211 }; 2212 2213 //--------------------------------------------------------------------------------------------------------------------- 2214 // EventData_Menu_Modifiy_Item_Visibility 2215 //--------------------------------------------------------------------------------------------------------------------- 2216 class EventData_Menu_Modifiy_Item_Visibility : public BaseEventData 2217 { 2218 public: 2219 static const EventType sk_EventType; 2220 EventData_Menu_Modifiy_Item_Visibility()2221 EventData_Menu_Modifiy_Item_Visibility() 2222 { 2223 2224 } 2225 EventData_Menu_Modifiy_Item_Visibility(std::string menuItemName,bool visible)2226 EventData_Menu_Modifiy_Item_Visibility(std::string menuItemName, bool visible) 2227 { 2228 m_MenuItemName = menuItemName; 2229 m_bVisible = visible; 2230 } 2231 VGetEventType(void)2232 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2233 virtual IEventDataPtr VCopy() const 2234 { 2235 return IEventDataPtr(new EventData_Menu_Modifiy_Item_Visibility(m_MenuItemName, m_bVisible)); 2236 } VSerialize(std::ostringstream & out)2237 virtual void VSerialize(std::ostringstream& out) const { out << m_MenuItemName << m_bVisible; } VDeserialize(std::istringstream & in)2238 virtual void VDeserialize(std::istringstream& in) { in >> m_MenuItemName >> m_bVisible; } 2239 GetMenuItemName()2240 std::string GetMenuItemName() const { return m_MenuItemName; } GetIsVisible()2241 bool GetIsVisible() { return m_bVisible; } 2242 GetName(void)2243 virtual const char* GetName(void) const { return "EventData_Menu_Modifiy_Item_Visibility"; } 2244 2245 private: 2246 std::string m_MenuItemName; 2247 bool m_bVisible; 2248 }; 2249 2250 //--------------------------------------------------------------------------------------------------------------------- 2251 // EventData_Menu_Modifiy_Item_State 2252 //--------------------------------------------------------------------------------------------------------------------- 2253 class EventData_Menu_Modify_Item_State : public BaseEventData 2254 { 2255 public: 2256 static const EventType sk_EventType; 2257 EventData_Menu_Modify_Item_State()2258 EventData_Menu_Modify_Item_State() 2259 { 2260 2261 } 2262 EventData_Menu_Modify_Item_State(std::string menuItemName,std::string menuItemStateStr)2263 EventData_Menu_Modify_Item_State(std::string menuItemName, std::string menuItemStateStr) 2264 { 2265 m_MenuItemName = menuItemName; 2266 m_MenuItemStateStr = menuItemStateStr; 2267 } 2268 VGetEventType(void)2269 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2270 virtual IEventDataPtr VCopy() const 2271 { 2272 return IEventDataPtr(new EventData_Menu_Modify_Item_State(m_MenuItemName, m_MenuItemStateStr)); 2273 } VSerialize(std::ostringstream & out)2274 virtual void VSerialize(std::ostringstream& out) const { out << m_MenuItemName << m_MenuItemStateStr; } VDeserialize(std::istringstream & in)2275 virtual void VDeserialize(std::istringstream& in) { in >> m_MenuItemName >> m_MenuItemStateStr; } 2276 GetMenuItemName()2277 std::string GetMenuItemName() const { return m_MenuItemName; } GetMenuItemState()2278 std::string GetMenuItemState() const { return m_MenuItemStateStr; } 2279 GetName(void)2280 virtual const char* GetName(void) const { return "EventData_Menu_Modify_Item_State"; } 2281 2282 private: 2283 std::string m_MenuItemName; 2284 std::string m_MenuItemStateStr; 2285 }; 2286 2287 //--------------------------------------------------------------------------------------------------------------------- 2288 // EventData_Menu_LoadGame 2289 //--------------------------------------------------------------------------------------------------------------------- 2290 class EventData_Menu_LoadGame : public BaseEventData 2291 { 2292 public: 2293 static const EventType sk_EventType; 2294 EventData_Menu_LoadGame()2295 EventData_Menu_LoadGame() 2296 { 2297 m_bIsNewGame = false; 2298 m_LevelNumber = -1; 2299 m_CheckpointNumber = -1; 2300 } 2301 EventData_Menu_LoadGame(int levelNumber,bool isNewGame,int checkpointNumber)2302 EventData_Menu_LoadGame(int levelNumber, bool isNewGame, int checkpointNumber) 2303 { 2304 m_bIsNewGame = isNewGame; 2305 m_LevelNumber = levelNumber; 2306 m_CheckpointNumber = checkpointNumber; 2307 } 2308 VGetEventType(void)2309 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2310 virtual IEventDataPtr VCopy() const 2311 { 2312 return IEventDataPtr(new EventData_Menu_LoadGame(m_LevelNumber, m_bIsNewGame, m_CheckpointNumber)); 2313 } VSerialize(std::ostringstream & out)2314 virtual void VSerialize(std::ostringstream& out) const { out << m_LevelNumber << m_bIsNewGame << m_CheckpointNumber; } VDeserialize(std::istringstream & in)2315 virtual void VDeserialize(std::istringstream& in) { in >> m_LevelNumber >> m_bIsNewGame >> m_CheckpointNumber; } 2316 GetIsNewGame()2317 bool GetIsNewGame() { return m_bIsNewGame; } GetLevelNumber()2318 int GetLevelNumber() { return m_LevelNumber; } GetCheckpointNumber()2319 int GetCheckpointNumber() { return m_CheckpointNumber; } 2320 GetName(void)2321 virtual const char* GetName(void) const { return "EventData_Menu_LoadGame"; } 2322 2323 private: 2324 bool m_bIsNewGame; 2325 int m_LevelNumber; 2326 int m_CheckpointNumber; 2327 }; 2328 2329 //--------------------------------------------------------------------------------------------------------------------- 2330 // EventData_Quit_Game 2331 //--------------------------------------------------------------------------------------------------------------------- 2332 class EventData_Quit_Game : public BaseEventData 2333 { 2334 public: 2335 static const EventType sk_EventType; 2336 EventData_Quit_Game()2337 EventData_Quit_Game() { } 2338 VGetEventType(void)2339 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2340 virtual IEventDataPtr VCopy() const { return IEventDataPtr(new EventData_Request_Reset_Level()); } VSerialize(std::ostringstream & out)2341 virtual void VSerialize(std::ostringstream& out) const { assert(false && "This event CANNOT be serialized"); } VDeserialize(std::istringstream & in)2342 virtual void VDeserialize(std::istringstream& in) { assert(false && "This event CANNOT be deserialized"); } 2343 GetName(void)2344 virtual const char* GetName(void) const { return "EventData_Quit_Game"; } 2345 }; 2346 2347 //--------------------------------------------------------------------------------------------------------------------- 2348 // EventData_Set_Volume 2349 //--------------------------------------------------------------------------------------------------------------------- 2350 class EventData_Set_Volume : public BaseEventData 2351 { 2352 public: 2353 static const EventType sk_EventType; 2354 EventData_Set_Volume()2355 EventData_Set_Volume() 2356 { 2357 m_bIsMusicVolume = false; 2358 m_bIsDelta = false; 2359 m_Volume = -1; 2360 } 2361 EventData_Set_Volume(int volume,bool isDelta,bool isForMusic)2362 EventData_Set_Volume(int volume, bool isDelta, bool isForMusic) 2363 { 2364 m_bIsMusicVolume = isForMusic; 2365 m_bIsDelta = isDelta; 2366 m_Volume = volume; 2367 } 2368 VGetEventType(void)2369 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2370 virtual IEventDataPtr VCopy() const 2371 { 2372 return IEventDataPtr(new EventData_Set_Volume(m_Volume, m_bIsDelta, m_bIsMusicVolume)); 2373 } VSerialize(std::ostringstream & out)2374 virtual void VSerialize(std::ostringstream& out) const { out << m_Volume << m_bIsDelta << m_bIsMusicVolume; } VDeserialize(std::istringstream & in)2375 virtual void VDeserialize(std::istringstream& in) { in >> m_Volume >> m_bIsDelta >> m_bIsMusicVolume; } 2376 GetIsMusicVolume()2377 bool GetIsMusicVolume() { return m_bIsMusicVolume; } GetIsDelta()2378 bool GetIsDelta() { return m_bIsDelta; } GetVolume()2379 int GetVolume() { return m_Volume; } 2380 GetName(void)2381 virtual const char* GetName(void) const { return "EventData_Set_Volume"; } 2382 2383 private: 2384 bool m_bIsMusicVolume; 2385 bool m_bIsDelta; 2386 int m_Volume; 2387 }; 2388 2389 //--------------------------------------------------------------------------------------------------------------------- 2390 // EventData_Sound_Enabled_Changed 2391 //--------------------------------------------------------------------------------------------------------------------- 2392 class EventData_Sound_Enabled_Changed : public BaseEventData 2393 { 2394 public: 2395 static const EventType sk_EventType; 2396 EventData_Sound_Enabled_Changed()2397 EventData_Sound_Enabled_Changed() 2398 { 2399 m_bIsEnabled = false; 2400 m_bIsMusic = false; 2401 } 2402 EventData_Sound_Enabled_Changed(bool isEnabled,bool isMusic)2403 EventData_Sound_Enabled_Changed(bool isEnabled, bool isMusic) 2404 { 2405 m_bIsEnabled = isEnabled; 2406 m_bIsMusic = isMusic; 2407 } 2408 VGetEventType(void)2409 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2410 virtual IEventDataPtr VCopy() const 2411 { 2412 return IEventDataPtr(new EventData_Sound_Enabled_Changed(m_bIsEnabled, m_bIsMusic)); 2413 } VSerialize(std::ostringstream & out)2414 virtual void VSerialize(std::ostringstream& out) const { out << m_bIsEnabled << m_bIsMusic; } VDeserialize(std::istringstream & in)2415 virtual void VDeserialize(std::istringstream& in) { in >> m_bIsEnabled >> m_bIsMusic; } 2416 GetIsEnabled()2417 bool GetIsEnabled() { return m_bIsEnabled; } GetIsMusic()2418 bool GetIsMusic() { return m_bIsMusic; } 2419 GetName(void)2420 virtual const char* GetName(void) const { return "EventData_Sound_Enabled_Changed"; } 2421 2422 private: 2423 bool m_bIsEnabled; 2424 bool m_bIsMusic; 2425 }; 2426 2427 //--------------------------------------------------------------------------------------------------------------------- 2428 // EventData_Enter_Menu 2429 //--------------------------------------------------------------------------------------------------------------------- 2430 class EventData_Enter_Menu : public BaseEventData 2431 { 2432 public: 2433 static const EventType sk_EventType; 2434 EventData_Enter_Menu()2435 EventData_Enter_Menu() { } 2436 VGetEventType(void)2437 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2438 virtual IEventDataPtr VCopy() const 2439 { 2440 return IEventDataPtr(new EventData_Enter_Menu()); 2441 } VSerialize(std::ostringstream & out)2442 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2443 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2444 GetName(void)2445 virtual const char* GetName(void) const { return "EventData_Enter_Menu"; } 2446 }; 2447 2448 //--------------------------------------------------------------------------------------------------------------------- 2449 // EventData_Finished_Level 2450 //--------------------------------------------------------------------------------------------------------------------- 2451 class EventData_Finished_Level : public BaseEventData 2452 { 2453 public: 2454 static const EventType sk_EventType; 2455 EventData_Finished_Level()2456 EventData_Finished_Level() { } 2457 VGetEventType(void)2458 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2459 virtual IEventDataPtr VCopy() const 2460 { 2461 return IEventDataPtr(new EventData_Finished_Level()); 2462 } VSerialize(std::ostringstream & out)2463 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2464 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2465 GetName(void)2466 virtual const char* GetName(void) const { return "EventData_Finished_Level"; } 2467 }; 2468 2469 //--------------------------------------------------------------------------------------------------------------------- 2470 // EventData_Item_Picked_Up 2471 //--------------------------------------------------------------------------------------------------------------------- 2472 class EventData_Item_Picked_Up : public BaseEventData 2473 { 2474 public: 2475 static const EventType sk_EventType; 2476 EventData_Item_Picked_Up(PickupType item)2477 EventData_Item_Picked_Up(PickupType item) { m_PickupType = item; } 2478 VGetEventType(void)2479 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2480 virtual IEventDataPtr VCopy() const 2481 { 2482 return IEventDataPtr(new EventData_Item_Picked_Up(m_PickupType)); 2483 } VSerialize(std::ostringstream & out)2484 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2485 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2486 GetName(void)2487 virtual const char* GetName(void) const { return "EventData_Item_Picked_Up"; } 2488 GetPickupType()2489 PickupType GetPickupType() { return m_PickupType; } 2490 2491 private: 2492 PickupType m_PickupType; 2493 }; 2494 2495 //--------------------------------------------------------------------------------------------------------------------- 2496 // EventData_Entered_Boss_Area 2497 //--------------------------------------------------------------------------------------------------------------------- 2498 class EventData_Entered_Boss_Area : public BaseEventData 2499 { 2500 public: 2501 static const EventType sk_EventType; 2502 EventData_Entered_Boss_Area(uint32 actorId,uint32 bossId)2503 EventData_Entered_Boss_Area(uint32 actorId, uint32 bossId) 2504 { 2505 m_ControllerId = actorId; 2506 m_BossId = bossId; 2507 } 2508 VGetEventType(void)2509 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2510 virtual IEventDataPtr VCopy() const 2511 { 2512 return IEventDataPtr(new EventData_Entered_Boss_Area(m_ControllerId, m_BossId)); 2513 } VSerialize(std::ostringstream & out)2514 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2515 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2516 GetName(void)2517 virtual const char* GetName(void) const { return "EventData_Entered_Boss_Area"; } 2518 GetControllerId()2519 uint32 GetControllerId() { return m_ControllerId; } 2520 2521 // Unimplemented GetBossId()2522 uint32 GetBossId() { assert(false && "Unimplemented"); return m_BossId; } 2523 2524 private: 2525 uint32 m_ControllerId; 2526 uint32 m_BossId; 2527 }; 2528 2529 //--------------------------------------------------------------------------------------------------------------------- 2530 // EventData_Boss_Fight_Started 2531 //--------------------------------------------------------------------------------------------------------------------- 2532 class EventData_Boss_Fight_Started : public BaseEventData 2533 { 2534 public: 2535 static const EventType sk_EventType; 2536 EventData_Boss_Fight_Started(uint32 controllerId,uint32 bossId)2537 EventData_Boss_Fight_Started(uint32 controllerId, uint32 bossId) 2538 { 2539 m_ControllerId = controllerId; 2540 m_BossId = bossId; } 2541 VGetEventType(void)2542 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2543 virtual IEventDataPtr VCopy() const 2544 { 2545 return IEventDataPtr(new EventData_Boss_Fight_Started(m_ControllerId, m_BossId)); 2546 } VSerialize(std::ostringstream & out)2547 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2548 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2549 GetName(void)2550 virtual const char* GetName(void) const { return "EventData_Boss_Fight_Started"; } 2551 GetControllerId()2552 uint32 GetControllerId() { return m_ControllerId; } 2553 2554 // Unimplemented GetBossId()2555 uint32 GetBossId() { assert(false && "Unimplemented"); return m_BossId; } 2556 2557 private: 2558 uint32 m_ControllerId; 2559 uint32 m_BossId; 2560 }; 2561 2562 //--------------------------------------------------------------------------------------------------------------------- 2563 // EventData_Boss_Fight_Ended 2564 //--------------------------------------------------------------------------------------------------------------------- 2565 class EventData_Boss_Fight_Ended : public BaseEventData 2566 { 2567 public: 2568 static const EventType sk_EventType; 2569 EventData_Boss_Fight_Ended(bool isBossDead)2570 EventData_Boss_Fight_Ended(bool isBossDead) 2571 { 2572 m_bIsBossDead = isBossDead; 2573 } 2574 VGetEventType(void)2575 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2576 virtual IEventDataPtr VCopy() const 2577 { 2578 return IEventDataPtr(new EventData_Boss_Fight_Ended(m_bIsBossDead)); 2579 } VSerialize(std::ostringstream & out)2580 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2581 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2582 GetName(void)2583 virtual const char* GetName(void) const { return "EventData_Boss_Fight_Ended"; } 2584 GetIsBossDead()2585 bool GetIsBossDead() { return m_bIsBossDead; } 2586 2587 private: 2588 bool m_bIsBossDead; 2589 }; 2590 2591 //--------------------------------------------------------------------------------------------------------------------- 2592 // EventData_Boss_Health_Changed 2593 //--------------------------------------------------------------------------------------------------------------------- 2594 class EventData_Boss_Health_Changed : public BaseEventData 2595 { 2596 public: 2597 static const EventType sk_EventType; 2598 EventData_Boss_Health_Changed(int newHealthPercentage,int newHealthLeft)2599 EventData_Boss_Health_Changed(int newHealthPercentage, int newHealthLeft) 2600 { 2601 m_HealthPercentage = newHealthPercentage; 2602 m_HealthLeft = newHealthLeft; 2603 } 2604 VGetEventType(void)2605 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2606 virtual IEventDataPtr VCopy() const 2607 { 2608 return IEventDataPtr(new EventData_Boss_Health_Changed(m_HealthPercentage, m_HealthLeft)); 2609 } VSerialize(std::ostringstream & out)2610 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2611 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2612 GetName(void)2613 virtual const char* GetName(void) const { return "EventData_Boss_Health_Changed"; } 2614 GetNewHealthPercentage()2615 int GetNewHealthPercentage() { return m_HealthPercentage; } GetNewHealthLeft()2616 int GetNewHealthLeft() { return m_HealthLeft; } 2617 2618 private: 2619 int m_HealthPercentage; 2620 int m_HealthLeft; 2621 }; 2622 2623 //--------------------------------------------------------------------------------------------------------------------- 2624 // EventData_IngameMenu_Resume_Game 2625 //--------------------------------------------------------------------------------------------------------------------- 2626 class EventData_IngameMenu_Resume_Game : public BaseEventData 2627 { 2628 public: 2629 static const EventType sk_EventType; 2630 EventData_IngameMenu_Resume_Game()2631 EventData_IngameMenu_Resume_Game() { } 2632 VGetEventType(void)2633 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2634 virtual IEventDataPtr VCopy() const 2635 { 2636 return IEventDataPtr(new EventData_IngameMenu_Resume_Game()); 2637 } VSerialize(std::ostringstream & out)2638 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2639 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2640 GetName(void)2641 virtual const char* GetName(void) const { return "EventData_IngameMenu_Resume_Game"; } 2642 }; 2643 2644 //--------------------------------------------------------------------------------------------------------------------- 2645 // EventData_IngameMenu_End_Life 2646 //--------------------------------------------------------------------------------------------------------------------- 2647 class EventData_IngameMenu_End_Life : public BaseEventData 2648 { 2649 public: 2650 static const EventType sk_EventType; 2651 EventData_IngameMenu_End_Life()2652 EventData_IngameMenu_End_Life() { } 2653 VGetEventType(void)2654 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2655 virtual IEventDataPtr VCopy() const 2656 { 2657 return IEventDataPtr(new EventData_IngameMenu_End_Life()); 2658 } VSerialize(std::ostringstream & out)2659 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2660 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2661 GetName(void)2662 virtual const char* GetName(void) const { return "EventData_IngameMenu_End_Life"; } 2663 }; 2664 2665 //--------------------------------------------------------------------------------------------------------------------- 2666 // EventData_IngameMenu_End_Game 2667 //--------------------------------------------------------------------------------------------------------------------- 2668 class EventData_IngameMenu_End_Game : public BaseEventData 2669 { 2670 public: 2671 static const EventType sk_EventType; 2672 EventData_IngameMenu_End_Game()2673 EventData_IngameMenu_End_Game() { } 2674 VGetEventType(void)2675 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2676 virtual IEventDataPtr VCopy() const 2677 { 2678 return IEventDataPtr(new EventData_IngameMenu_End_Game()); 2679 } VSerialize(std::ostringstream & out)2680 virtual void VSerialize(std::ostringstream& out) const { assert(false && "Cannot be serialized"); } VDeserialize(std::istringstream & in)2681 virtual void VDeserialize(std::istringstream& in) { assert(false && "Cannot be serialized"); } 2682 GetName(void)2683 virtual const char* GetName(void) const { return "EventData_IngameMenu_End_Game"; } 2684 }; 2685 2686 //--------------------------------------------------------------------------------------------------------------------- 2687 // EventData_World_Finished_Loading 2688 //--------------------------------------------------------------------------------------------------------------------- 2689 class EventData_World_Finished_Loading : public BaseEventData 2690 { 2691 public: 2692 static const EventType sk_EventType; 2693 EventData_World_Finished_Loading()2694 EventData_World_Finished_Loading() { } 2695 VGetEventType(void)2696 virtual const EventType& VGetEventType(void) const { return sk_EventType; } VCopy()2697 virtual IEventDataPtr VCopy() const 2698 { 2699 return IEventDataPtr(new EventData_World_Finished_Loading()); 2700 } 2701 GetName(void)2702 virtual const char* GetName(void) const { return "EventData_World_Finished_Loading"; } 2703 }; 2704 2705 #endif