| 564 | } |
| 565 | |
| 566 | void PlayerController::onMessage(SharedEMessage message, Handle::EntityHandle sourceVob) |
| 567 | { |
| 568 | Controller::onMessage(message, sourceVob); |
| 569 | |
| 570 | bool done = false; |
| 571 | switch (message->messageType) |
| 572 | { |
| 573 | case EventMessages::EventMessageType::Event: |
| 574 | done = EV_Event(message, sourceVob); |
| 575 | break; |
| 576 | case EventMessages::EventMessageType::Npc: |
| 577 | done = EV_Npc(std::dynamic_pointer_cast<EventMessages::NpcMessage>(message), sourceVob); |
| 578 | break; |
| 579 | case EventMessages::EventMessageType::Damage: |
| 580 | done = EV_Damage(std::dynamic_pointer_cast<EventMessages::DamageMessage>(message), sourceVob); |
| 581 | break; |
| 582 | case EventMessages::EventMessageType::Weapon: |
| 583 | done = EV_Weapon(std::dynamic_pointer_cast<EventMessages::WeaponMessage>(message), sourceVob); |
| 584 | break; |
| 585 | case EventMessages::EventMessageType::Movement: |
| 586 | done = EV_Movement(std::dynamic_pointer_cast<EventMessages::MovementMessage>(message), sourceVob); |
| 587 | break; |
| 588 | case EventMessages::EventMessageType::Attack: |
| 589 | done = EV_Attack(std::dynamic_pointer_cast<EventMessages::AttackMessage>(message), sourceVob); |
| 590 | break; |
| 591 | case EventMessages::EventMessageType::UseItem: |
| 592 | done = EV_UseItem(std::dynamic_pointer_cast<EventMessages::UseItemMessage>(message), sourceVob); |
| 593 | break; |
| 594 | case EventMessages::EventMessageType::State: |
| 595 | done = EV_State(std::dynamic_pointer_cast<EventMessages::StateMessage>(message), sourceVob); |
| 596 | break; |
| 597 | case EventMessages::EventMessageType::Manipulate: |
| 598 | done = EV_Manipulate(std::dynamic_pointer_cast<EventMessages::ManipulateMessage>(message), sourceVob); |
| 599 | break; |
| 600 | case EventMessages::EventMessageType::Conversation: |
| 601 | done = EV_Conversation(std::dynamic_pointer_cast<EventMessages::ConversationMessage>(message), sourceVob); |
| 602 | break; |
| 603 | case EventMessages::EventMessageType::Magic: |
| 604 | done = EV_Magic(std::dynamic_pointer_cast<EventMessages::MagicMessage>(message), sourceVob); |
| 605 | break; |
| 606 | case EventMessages::EventMessageType::Mob: |
| 607 | //TODO handle this somehow? |
| 608 | break; |
| 609 | } |
| 610 | |
| 611 | // Flag as deleted if this is done |
| 612 | message->deleted = done; |
| 613 | } |
| 614 | |
| 615 | bool PlayerController::EV_Event(SharedEMessage message, Handle::EntityHandle sourceVob) |
| 616 | { |
no outgoing calls
no test coverage detected