void TestAARHUD::ProcessMessage(const dtGame::Message& message) { if (message.GetMessageType() == dtGame::MessageType::TICK_LOCAL) { TickHUD(); } else if (message.GetMessageType() == dtGame::MessageType::INFO_MAP_LOADED) { GetGameManager()->GetScene().AddDrawable(GetGUIDrawable()); } }
void KillableTargetActor::ProcessMessage(const dtGame::Message& message) { // HANDLE GAME EVENT MESSAGE - "TankFired" if (message.GetMessageType() == dtGame::MessageType::INFO_GAME_EVENT) { const dtGame::GameEventMessage& eventMsg = static_cast<const dtGame::GameEventMessage&>(message); // Note, we are using strings which aren't constants. In a real application, these // event names should be stored in some sort of shared place and should be constants... if (eventMsg.GetGameEvent() != 0 && eventMsg.GetGameEvent()->GetName() == "TankFired") { if (mIsTargeted && mCurrentHealth > 0) { SetCurrentHealth(GetCurrentHealth() - 25); } } // test our shaders else if (eventMsg.GetGameEvent() != 0 && eventMsg.GetGameEvent()->GetName() == "TestShaders") { // Note, this behavior is now done in the InputComponent.cpp using the new Shader method. //dtCore::ShaderManager::GetInstance().Clear(); //dtCore::ShaderManager::GetInstance().LoadShaderDefinitions("Shaders/TutorialShaderDefs.xml", false); //ApplyMyShader(); } // reset me! else if (eventMsg.GetGameEvent() != 0 && eventMsg.GetGameEvent()->GetName() == "ResetStuff") { SetTransform(mOriginalPosition); ResetState(); } } // HANDLE TARGET CHANGED MESSAGE else if (message.GetMessageType() == TutorialMessageType::TANK_TARGET_CHANGED) { const TargetChangedMessage& targetChanged = static_cast<const TargetChangedMessage&>(message); mIsTargeted = (targetChanged.GetNewTargetUniqueId() == GetUniqueId()); if (mIsTargeted && mCurrentHealth > 0) { // Ahhhh! Get that gun outta my face! mCurrentShaderName = "Green"; } else { //mCurrentShaderName = "Green"; mCurrentShaderName = "Normal"; } ApplyMyShader(); } }
void OceanActor::ProcessMessage(const dtGame::Message& msg) { if (msg.GetMessageType() == dtGame::MessageType::INFO_MAP_LOADED) { OnMapLoaded(); } }
void MessagePacket::BuildFromMessage(const dtGame::Message& message) { // Get the Id from the message mMessageId = message.GetMessageType().GetId(); // If the message has a destination, encapsulate if (message.GetDestination() != NULL) { mDestination = message.GetDestination()->GetUniqueId(); } // encapsulate source mSource = message.GetSource().GetUniqueId(); // encapsulate actor Id's mSendingActor = message.GetSendingActorId(); mAboutActor = message.GetAboutActorId(); // Get the MessageParameters from the message message.ToString(mMessageParameters); }