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(); } }
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(); }
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); }
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); }