MCPcopy Create free account
hub / github.com/REGoth-project/REGoth / onMessage

Method onMessage

src/logic/PlayerController.cpp:566–613  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564}
565
566void 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
615bool PlayerController::EV_Event(SharedEMessage message, Handle::EntityHandle sourceVob)
616{

Callers 4

onUpdateByInputMethod · 0.45
dieMethod · 0.45
checkUnconsciousMethod · 0.45
onActionMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected