void CEnemyDemon::Render(void)
{
    CSGD_TextureManager *pTM = CSGD_TextureManager::GetInstance();

    if(GetHP() > 0)
    {
        if (GetXFlip() == 1)
            pTM->Draw(GetImageID(),GetCollisionRect().left, GetCollisionRect().top, GetXFlip() * 1.5f,1.5f,&rEnemyRect,GetWidth() / 2, GetHeight() /2,0.0f,D3DCOLOR_XRGB(255,255,255));
        else if (GetXFlip() == -1)
            pTM->Draw(GetImageID(),GetCollisionRect().right, GetCollisionRect().top, GetXFlip() * 1.5f,1.5f,&rEnemyRect,GetWidth() / 2, GetHeight() /2,0.0f,D3DCOLOR_XRGB(255,255,255));
        //	pTM->Draw(GetImageID(),GetPosX() - GetWidth()/4, GetPosY() - GetHeight()/4, GetXFlip() * 1.5f,1.5f,&rEnemyRect,GetWidth() / 2, GetHeight() /2,0.0f,D3DCOLOR_XRGB(255,255,255));
    }
}
void CEnemyBusiness::Render(void)
{
	CSGD_TextureManager *pTM = CSGD_TextureManager::GetInstance();
	CSGD_Direct3D *p3D = CSGD_Direct3D::GetInstance();
	CSGD_MessageSystem *pMS = CSGD_MessageSystem::GetInstance();

	RECT r = GetCollisionRect();

	if(GetHP() > 0)
	{
		if (GetXFlip() == 1)
			pTM->Draw(GetImageID(),GetCollisionRect().left + m_nOffset, GetCollisionRect().top, GetXFlip() * 1.5f,1.5f,&rEnemyRect,GetWidth() / 2, GetHeight() /2,0.0f,D3DCOLOR_XRGB(255,255,255));
		else if (GetXFlip() == -1)
			pTM->Draw(GetImageID(),GetCollisionRect().right - m_nOffset, GetCollisionRect().top, GetXFlip() * 1.5f,1.5f,&rEnemyRect,GetWidth() / 2, GetHeight() /2,0.0f,D3DCOLOR_XRGB(255,255,255));
	}

}
Ejemplo n.º 3
0
bool g2Controller::InController(int x, int y)
{
    // Get this controller's collision rectangle
    int Width, Height;
    GetCollisionRect(&Width, &Height);
    
    // Simple rectangle collision check
    if(x > 0 && x <= Width && y > 0 && y <= Height)
        return true;
    else
        return false;
}
Ejemplo n.º 4
0
////////////////////////////////////////
// Collision Methods
////////////////////////////////////////
bool Entity::CheckCollision(Entity* other)
{
	if (GetCollisionRect().Intersects(other->GetCollisionRect()) )
	{
		CollideWith(other);
		other->CollideWith(this);

		return true;
	}

	return false;
}
void CPowerupRapidFire::Update(float fElapsedTime)
{
	CPlayerCharacter *pPC = CPlayerCharacter::GetInstance();
	CSGD_MessageSystem *pMS = CSGD_MessageSystem::GetInstance();

	DWORD timer = GetTickCount();

	rCollisionRect.top = GetPosY();
	rCollisionRect.left = GetPosX();
	rCollisionRect.bottom = GetPosY() + GetHeight();
	rCollisionRect.right = GetPosX() + GetWidth();

	if (timer % 600 <= 100)
	{
		rPowerupRect.left = 8;
		rPowerupRect.right = 30;
	}
	else if (timer % 600 > 100 && timer % 600 <= 200)
	{
		rPowerupRect.left = 36;
		rPowerupRect.right = 58;
	}
	else if (timer % 600 > 200 && timer % 600 <= 300)
	{
		rPowerupRect.left = 66;
		rPowerupRect.right = 88;
	}
	else if (timer % 600 > 300 && timer % 600 <= 400)
	{
		rPowerupRect.left = 98;
		rPowerupRect.right = 120;
	}
	else if (timer % 600 > 400 && timer % 600 <= 500)
	{
		rPowerupRect.left = 128;
		rPowerupRect.right = 150;
	}
	else if (timer % 600 > 500)
	{
		rPowerupRect.left = 156;
		rPowerupRect.right = 178;
	}


	RECT rCollide;

	if (IntersectRect(&rCollide,&GetCollisionRect(),&pPC->GetCollisionRect()))
	{
		pMS->SendMsg(new CCollisionMessage(CPlayerCharacter::GetInstance(),this));
		pMS->SendMsg(new CDestroyMessage(this));
	}

}
Ejemplo n.º 6
0
bool CBoulder::CheckCollision(IBaseInterface* pObject)
{
	RECT rectCollisionResult = { 0, 0, 0, 0 };
	CBaseObject* pBaseObject = (CBaseObject*)pObject;
	if(IntersectRect(&rectCollisionResult, &GetCollisionRect().GetWindowsRECT(), &pBaseObject->GetCollisionRect().GetWindowsRECT()))
	{
		if(pObject->GetType() == TYPE_CHAR_ENEMY)
		//	((CEnemy*)pObject)->SufferDamage(CPlayer::GetInstance()->GetAttackDamage());

		//if(pObject->GetType() != TYPE_CHAR_PLAYER && pObject->GetType() != TYPE_WEAPON_ARROW)
		//{
		//	CMessageSystem::GetInstance()->SendMsg(new CDestroyObjectMessage(this));
		//}
		return true;
	}
	return false;
}
void CPowerupRapidFire::Render(void)
{
	CSGD_TextureManager *pTM = CSGD_TextureManager::GetInstance();
	pTM->Draw(GetImageID(),GetCollisionRect().left,GetCollisionRect().top,1.5f,1.5f,&rPowerupRect,GetWidth() / 2, GetHeight() /2,0,D3DCOLOR_XRGB(255,255,255));
}
void CBulletHook::Render(void)
{
	static RECT r = {525,728, 553, 769};
	CSGD_TextureManager *pTM = CSGD_TextureManager::GetInstance();
	pTM->Draw(GetImageID(),GetCollisionRect().left,GetCollisionRect().top + 32,1.5f,1.5f,&r,GetWidth() / 2, GetHeight() /2,GetRotation(),D3DCOLOR_XRGB(255,255,255));
}