Beispiel #1
0
// ----------------------------------------------------------------------- //
//
//	ROUTINE:	LightFX::ObjectMessageFn
//
//	PURPOSE:	Handle object-to-object messages
//
// ----------------------------------------------------------------------- //
DDWORD LightFX::ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
	switch(messageID)
	{
 		case MID_TRIGGER:
		{
			HandleTrigger(hSender, hRead);
			break;
		}
    
		case MID_DAMAGE:
		{
			DDWORD dwRet = BaseClass::ObjectMessageFn (hSender, messageID, hRead);
			if (m_damage.IsDead())
			{
				g_pServerDE->RemoveObject(m_hObject);
			}
			return dwRet;
			break;
		}
		default : break;
	}

	return BaseClass::ObjectMessageFn (hSender, messageID, hRead);
}
Beispiel #2
0
DDWORD CDestructable::ObjectMessageFn(LPBASECLASS pObject, HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
	switch(messageID)
	{
		case MID_DAMAGE:
		{
			HandleDamage(hSender, hRead);
			break;
		}

		case MID_REPAIR:
		{
			HandleRepair(hSender, hRead);
			break;
		}

		case MID_HEAL:
		{
			HandleHeal(hSender, hRead);
			break;
		}

		case MID_TRIGGER:
		{
			HandleTrigger(hSender, hRead);
			break;
		}

		default : break;
	}

	return Aggregate::ObjectMessageFn(pObject, hSender, messageID, hRead);
}
Beispiel #3
0
// ----------------------------------------------------------------------- //
//
//	ROUTINE:	ClientLightFX::ObjectMessageFn
//
//	PURPOSE:	Handle object-to-object messages
//
// ----------------------------------------------------------------------- //
uint32 ClientLightFX::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead)
{
	switch(messageID)
	{
 		case MID_TRIGGER:
		{
			HandleTrigger(hSender, hRead);
		}
		break;

		case MID_DAMAGE:
		{
            uint32 dwRet = GameBase::ObjectMessageFn (hSender, messageID, hRead);
			if (m_damage.IsDead())
			{
                g_pLTServer->RemoveObject(m_hObject);
			}
			return dwRet;
		}
		break;

		default : break;
	}

	return GameBase::ObjectMessageFn (hSender, messageID, hRead);
}
uint32 RotatingWorldModel::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead)
{
	switch (messageID)
	{
		case MID_TRIGGER:
		{
			const char* szMsg = (const char*)g_pLTServer->ReadFromMessageDWord(hRead);
			HandleTrigger(hSender, szMsg);
		}
		break;
	}

	return GameBase::ObjectMessageFn(hSender, messageID, hRead);
}
Beispiel #5
0
DDWORD CClientExplosionSFX::ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
	switch(messageID)
	{
		case MID_TRIGGER:
		{
			HandleTrigger(hSender, hRead);
			break;
		}
		default : break;
	}

	return CClientSFX::ObjectMessageFn(hSender, messageID, hRead);
}
Beispiel #6
0
uint32 SoundFX::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead)
{
	switch(messageID)
	{
 		case MID_TRIGGER:
		{
			const char* szMsg = (const char*)g_pLTServer->ReadFromMessageDWord(hRead);
			HandleTrigger(hSender, szMsg);
			break;
		}

		default : break;
	}

	return BaseClass::ObjectMessageFn(hSender, messageID, hRead);
}
Beispiel #7
0
uint32 LightGroup::ObjectMessageFn(HOBJECT hSender, ILTMessage_Read *pMsg)
{
	pMsg->SeekTo(0);
	uint32 messageID = pMsg->Readuint32();

	switch(messageID)
	{
 		case MID_TRIGGER:
		{
			HandleTrigger(hSender, pMsg);
		}
		break;

		default : break;
	}

	return Engine_LightGroup::ObjectMessageFn (hSender, pMsg);
}
Beispiel #8
0
DDWORD Rotating::ObjectMessageFn(LPBASECLASS pObject, HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
	CServerDE* pServerDE = BaseClass::GetServerDE();
	if (!pServerDE) return 0;

	switch (messageID)
	{
		case MID_TRIGGER:
		{
			HSTRING hMsg = pServerDE->ReadFromMessageHString(hRead);
			HandleTrigger(hSender, hMsg);
			pServerDE->FreeString(hMsg);
		}
		break;
	}
	
	return Aggregate::ObjectMessageFn(pObject, hSender, messageID, hRead);
}
Beispiel #9
0
DDWORD CameraObj::ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
	CServerDE* pServerDE = GetServerDE();
	switch (messageID)
	{
		case MID_TRIGGER:
		{
			HSTRING hMsg = pServerDE->ReadFromMessageHString(hRead);
			if (hMsg)
			{
				HandleTrigger(hSender, hMsg);
				pServerDE->FreeString(hMsg);
			}
		}
		break;
	}
	
	return B2BaseClass::ObjectMessageFn(hSender, messageID, hRead);
}
Beispiel #10
0
DDWORD VolumeBrush::ObjectMessageFn(HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead)
{
    CServerDE* pServerDE = GetServerDE();
    switch (messageID)
    {
    case MID_TRIGGER:
    {
        HSTRING hMsg = pServerDE->ReadFromMessageHString(hRead);
        HandleTrigger(hSender, hMsg);
        pServerDE->FreeString(hMsg);
        break;
    }

    case MID_KEYQUERYRESPONSE:
    {
        HSTRING hItemName = pServerDE->ReadFromMessageHString(hRead);
        DBOOL	bHaveItem = (DBOOL)pServerDE->ReadFromMessageByte(hRead);

        // Check the key & locked status
        if (m_bLocked && bHaveItem && pServerDE->CompareStringsUpper(hItemName, m_hstrKeyName))
        {
            m_bLocked = DFALSE;

            // Key is no longer needed, tell the sender to remove it
//				if (m_bUnlockKeyRemove)
//				{
//					HMESSAGEWRITE hMessage = pServerDE->StartMessageToObject((LPBASECLASS)this, hSender, MID_KEYREMOVE);
//					pServerDE->WriteToMessageHString(hMessage, m_hstrKeyName);
//					pServerDE->EndMessage(hMessage);
// 				}
        }
        pServerDE->FreeString(hItemName);
        break;
    }
    break;
    }

    return B2BaseClass::ObjectMessageFn(hSender, messageID, hRead);
}