Exemplo n.º 1
0
Tower::Tower(irr::scene::ISceneManager* p_sceneManager,	irr::core::vector3df p_position)
{
	m_shootingSpeed = 1.0f;
	m_shootingRange = 0.0f;
	m_jointCrystal = NULL;

	m_animatedMesh = p_sceneManager->getMesh("resources/models/tower/LOLturret/lolturret1.2.x");

	irr::scene::IAnimatedMeshSceneNode* animatedMeshSceneNode = p_sceneManager->addAnimatedMeshSceneNode(m_animatedMesh);
	m_meshSceneNode = animatedMeshSceneNode;
	//m_meshSceneNode->setScale(irr::core::vector3df(0.40f, 0.40f, 0.40f));
	if (m_meshSceneNode != NULL)
	{
		m_meshSceneNode->setPosition(p_position);
		m_jointCrystal = animatedMeshSceneNode->getJointNode("shootingbone");
	}

	SetMaterialFlags();

	m_timer = new Timer();

	if (!m_timer->IsRunning())
	{
		m_timer->Start();
	}
}
Exemplo n.º 2
0
	Stargate::Stargate(irr::scene::ISceneManager* p_sceneManager,
			PlaygroundListener* p_playgroundListener,
			irr::core::vector3df& p_position)
			:
			Entity(p_sceneManager, p_playgroundListener)
	{
		m_animatedMesh = p_sceneManager->getMesh("resources/models/stargate/stargatev06.X");//Stargatev01.x");
		
		irr::scene::IAnimatedMeshSceneNode* animatedMeshSceneNode = p_sceneManager->addAnimatedMeshSceneNode(m_animatedMesh, p_sceneManager->getSceneNodeFromId(C_EMPTY_ROOT_SCENENODE));
		m_meshSceneNode = animatedMeshSceneNode;
		m_meshSceneNode->setPosition(p_position);
		m_meshSceneNode->setScale(irr::core::vector3df(5.0f));

		m_jointBase = NULL;
		
		int jointCount = animatedMeshSceneNode->getJointCount();

		for (int i = 0; i < jointCount; i++)
		{
			irr::scene::IBoneSceneNode* bone = animatedMeshSceneNode->getJointNode(i);
			irr::core::stringw name = bone->getName();

			if (name == "spawnpointbone")
			{
				m_jointBase = bone;
			}
			else if (name == "endpointbone")
			{
				m_jointPath = bone;
			}
		}
		
		SetPositionToJointBase(p_position);
		SetMaterialFlags();
	}
Exemplo n.º 3
0
	Marker::Marker(irr::scene::ISceneManager* p_sceneManager, PlaygroundListener* p_playgroundListener,irr::core::vector3df p_position)
		:
		Entity(p_sceneManager, p_playgroundListener)
	{
		m_animatedMesh = p_sceneManager->getMesh("resources/models/marker/Sims_CrystalV01.X");
		
		m_meshSceneNode = p_sceneManager->addAnimatedMeshSceneNode(m_animatedMesh, p_sceneManager->getSceneNodeFromId(C_EMPTY_ROOT_SCENENODE));
		m_meshSceneNode->setPosition(p_position);
		m_meshSceneNode->setScale(irr::core::vector3df(0.2f));

		m_jump = 0.0f;
		m_positionStart = GetPosition();

		SetMaterialFlags(m_meshSceneNode);
	}
Exemplo n.º 4
0
Mesh* LineBatcher::Render() {
#if BUILD_RELEASE
  if (m_IsDebug) {
    return nullptr;
  }
#endif

  if (0 == m_Positions.Size()) {
    return nullptr;
  }

  IVertexBuffer* VertexBuffer = m_Renderer->CreateVertexBuffer();
  IVertexDeclaration* VertexDeclaration =
      m_Renderer->GetVertexDeclaration(VD_POSITIONS | VD_COLORS);
  IIndexBuffer* IndexBuffer = m_Renderer->CreateIndexBuffer();

  IVertexBuffer::SInit InitStruct;
  InitStruct.NumVertices = m_Positions.Size();
  InitStruct.Positions = m_Positions.GetData();
  InitStruct.Colors = m_Colors.GetData();
  VertexBuffer->Init(InitStruct);
  IndexBuffer->Init(m_Indices.Size(), m_Indices.GetData());
  IndexBuffer->SetPrimitiveType(EPT_LINELIST);
  auto  LinesMesh = new Mesh(VertexBuffer, VertexDeclaration, IndexBuffer);

#if BUILD_DEBUG
  LinesMesh->m_Name = "LineBatch";
  LinesMesh->m_IsDebugMesh = m_IsDebug;
#endif

  LinesMesh->SetMaterialDefinition(DEFAULT_NEWMATERIAL, m_Renderer);
  LinesMesh->SetTexture(0, m_Renderer->GetTextureManager()->GetTexture(
                               DEFAULT_TEXTURE, TextureManager::ETL_Permanent));
  LinesMesh->SetMaterialFlags(m_MaterialFlags);

  m_Renderer->AddMesh(LinesMesh);

  // Reset everything to its starting state
  m_Positions.Clear();
  m_Colors.Clear();
  m_Indices.Clear();

  return LinesMesh;
}
void CMarmaladeEventWatcher::SetDefaults(bool b)
{
	SetRenderMeshFlags(b);
	SetMaterialFlags(b);
	SetLightFlags(b);
}