GraphRanged::GraphRanged(int senderID, int UnitType, int Race, Ogre::Vector2 vPos, Ogre::Vector2 vRot, Ogre::Vector2 vHealth)
{
    m_pSceneMgr = OgreFramework::getSingletonPtr()->m_pRoot->getSceneManager("GameSceneMgr");

    switch(Race)
	{

	case HUMAN:
		{    
            m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrHumanRanged->createInstancedEntity("Examples/Instancing/VTF/Human_Ranged");
		}
		break;

    case BEAST:
        {
            m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrBeastRanged->createInstancedEntity("Examples/Instancing/VTF/Beast_Ranged");
        }
        break;
/*
    case UNDEAD:
        {
            m_pInstancedEntity = OgreFramework::getSingletonPtr()->m_pInstanceMgrUndeadRanged->createInstancedEntity("Examples/Instancing/VTF/Undead_Ranged"); 
        }
        break;
*/

	};
 
    pseudoRootNode = OGRE_NEW SceneNode(0);
    pseudoRootNode->_notifyRootNode();
    m_pNode = OGRE_NEW SceneNode(0);
    pseudoRootNode->addChild(m_pNode);

    m_dHealth = vHealth.x;
    m_dTotalHealth = vHealth.y;

    m_pNode->attachObject(m_pInstancedEntity);
    //setNodeOrientation(vRot.x, 0, vRot.y);
    m_pAnimation = m_pInstancedEntity->getAnimationState("breathing01");
    m_pAnimation->setLoop(true);
    m_pAnimation->setEnabled(true);

    createLifeBar(m_pNode->getScale());

    m_UnitName = "Ranged";
    
    SetID(senderID);
    m_pKOKDefine = 0;
    m_vPos = vPos;
    m_vOri = vRot;

}
//====================================================
//	TeapotRenderComponent definitions
//====================================================
shared_ptr<SceneNode> TeapotRenderComponent::CreateSceneNode()
{
	// get the transform 
	shared_ptr<TransformComponent> pTransformComponent = MakeStrongPtr(m_pOwner->GetComponent<TransformComponent>(TransformComponent::g_Name));
	if (pTransformComponent)
	{
		WeakBaseRenderComponentPtr weakThis(this);

		switch (WindowsApp::GetRendererImpl())
		{
		case WindowsApp::Renderer_D3D9:
			return shared_ptr<SceneNode>(CB_NEW D3DTeapotMeshNode9(m_pOwner->GetId(), weakThis, "Effects\\Main.fx", RenderPass_Object, &pTransformComponent->GetTransform()));

		case WindowsApp::Renderer_D3D11:
		{
			Mat4x4 rot90;
			rot90.BuildRotationY(-CB_PI / 2.0f);
			shared_ptr<SceneNode> parent(CB_NEW SceneNode(m_pOwner->GetId(), weakThis, RenderPass_Object, &pTransformComponent->GetTransform()));
			shared_ptr<SceneNode> teapot(CB_NEW D3DTeapotMeshNode11(INVALID_GAMEOBJECT_ID, weakThis, RenderPass_Object, &rot90));
			parent->AddChild(teapot);
			return parent;
		}

		default:
			CB_ERROR("Unknown Renderer Implementation in TeapotRenderComponent");
		}
	}

	return shared_ptr<SceneNode>();
}
Ejemplo n.º 3
0
RootNode::RootNode() : SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_0 )
   {
	m_Children.reserve(RenderPass_Last);

   shared_ptr<SceneNode> staticGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Static ) );
	m_Children.push_back(staticGroup);	// RenderPass_Static = 0

   shared_ptr<SceneNode> actorGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Actor ) );
	m_Children.push_back(actorGroup);	// RenderPass_Actor = 1

   shared_ptr<SceneNode> skyGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_Sky ) );
	m_Children.push_back(skyGroup);	// RenderPass_Sky = 2

   shared_ptr<SceneNode> invisibleGroup( ENG_NEW SceneNode( INVALID_ACTOR_ID, NULL, RenderPass_NotRendered ) );
	m_Children.push_back(invisibleGroup);	// RenderPass_NotRendered = 3
   }
Ejemplo n.º 4
0
MapGridNode::MapGridNode(const vn::vector2i &index) {
    vn::color_t color(0xFF, 0xFF, 0xFF, 0x20);
    Quad *p = vnnew Quad();
    *p << vn::aabox2f(0, 0, 38, 2) << color << vn::Render2DInterface::kAlphaAdditive;
    addRenderable(p, false);
    
    p = vnnew Quad();
    *p << vn::aabox2f(0, 2, 2, 40) << color << vn::Render2DInterface::kAlphaAdditive;
    addRenderable(p, false);
    
    p = vnnew Quad();
    *p << vn::aabox2f(38, 0, 40, 38) << color << vn::Render2DInterface::kAlphaAdditive;
    addRenderable(p, false);
    
    p = vnnew Quad();
    *p << vn::aabox2f(2, 38, 40, 40) << color << vn::Render2DInterface::kAlphaAdditive;
    addRenderable(p, false);

    Text *t = vnnew Text();
    vn::c8 buf[32];
    sprintf(buf, "%u,%u", index.x + 1, index.y + 1);
    *t << vn::color_t(0xFF, 0xFF, 0xFF, 0x80) << vn::Render2DInterface::kAlphaAdditive << vn::RenderText::kCenter;
    *t << vn::FontManager::instance().defaultFont() << buf;
    SceneNode *node = vnnew SceneNode();
    node->setPosition(vn::vector2f(20, 20));
    node->setScale(vn::vector2f(0.6f, 0.6f));
    node->addRenderable(t, false);
    addChild(node, false);
    
    setPosition(index * 40);
    setLocalBoundingBox(vn::aabox2f(0, 0, 40, 40));
}
Ejemplo n.º 5
0
RootNode::RootNode() :
SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_0, &Mat4x4::Identity)
{
	m_Children.reserve(RenderPass::RenderPass_Last);

	// split children into different groups

	shared_ptr<SceneNode> staticGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Static, &Mat4x4::Identity));
	m_Children.push_back(staticGroup);

	shared_ptr<SceneNode> objectGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Object, &Mat4x4::Identity));
	m_Children.push_back(objectGroup);

	shared_ptr<SceneNode> skyGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_Sky, &Mat4x4::Identity));
	m_Children.push_back(skyGroup);

	shared_ptr<SceneNode> invisibleGroup(CB_NEW SceneNode(INVALID_GAMEOBJECT_ID, WeakBaseRenderComponentPtr(), RenderPass::RenderPass_NotRendered, &Mat4x4::Identity));
	m_Children.push_back(staticGroup);

}
Ejemplo n.º 6
0
    //---------------------------------------------------------------------
    Overlay::Overlay(const String& name) :
        mName(name),
        mRotate(0.0f), 
        mScrollX(0.0f), mScrollY(0.0f),
        mScaleX(1.0f), mScaleY(1.0f), 
        mTransformOutOfDate(true), mTransformUpdated(true), 
        mZOrder(100), mVisible(false), mInitialised(false)

    {
        mRootNode = OGRE_NEW SceneNode(NULL);

    }
SceneNode* DX11SceneManager::createSceneNode(std::string strName, SceneNode* pParent)
{
    SceneNode node = SceneNode(this, pParent, strName);

    if (pParent != NULL) {
        pParent->addNode(node);
    }
    else {
        pParent->addNode(m_mainNode);
    }

    m_pNodeArray.push_back(node);

	return &m_pNodeArray.back();
}
Ejemplo n.º 8
0
	//---------------------------------------------------------------------
	Overlay::Overlay(const String& name) :
		mName(name),
		mRotate(0.0f),
		mScrollX(0.0f), mScrollY(0.0f),
		mScaleX(1.0f), mScaleY(1.0f),
		mLastViewportWidth(0), mLastViewportHeight(0),
		mTransformOutOfDate(true), mTransformUpdated(true),
		mZOrder(100), mVisible(false), mInitialised(false)

	{
#ifdef ENABLE_INCOMPATIBLE_OGRE_2_0
		mRootNode = OGRE_NEW SceneNode(0, 0, 0, 0);
#endif

		// Mogre
		m_userObjectPointer = nullptr;
	}
DX11SceneManager::DX11SceneManager(ID3D11Device* pd3dDevice, DX11ShaderSystem* pShaderSystem)
{
    //Sets the member references
    m_pd3dDevice = pd3dDevice;
    m_pShaderSystem = pShaderSystem;

	//Number one should be an invalid empty rendermodel
	m_pModelArray.push_back(RenderModel(0, NULL, NULL));

    //Loads the default texture to display when a texture is not found
    if (FAILED(loadTexture(defaultTexture, "default.dds"))) {
        return E_FAIL;
    }

    m_mainNode = SceneNode(this, NULL, "Scene01");
    m_pCamera = new CameraNode(0, 0, 0.0f);
}
Ejemplo n.º 10
0
int XFileLoader::ReadSceneNode(istream& s, int prevSybling)
{
	int nodeIdx = m_nodes.size();
	m_nodes.push_back(SceneNode());
	if (prevSybling != -1)
		m_nodes[prevSybling].m_nextSybling = nodeIdx;
	XFileToken t = XFileToken::NextToken(s);
	if (t.m_type == XFileToken::Identifier)
	{
		m_nodes[nodeIdx].m_name = move(t.m_content);
		t = XFileToken::NextToken(s);
	}
    if (t.m_type != XFileToken::LeftBrace)
        THROW_EXCEPTION_T("Parsing error", ParsingException);
	int prevChild = -1;
	while (true)
	{
		t = XFileToken::NextToken(s);
		if (t.m_type == XFileToken::Identifier)
		{
			if (t.m_content == "Frame")
			{
				int child = ReadSceneNode(s, prevChild);
				if (prevChild == -1)
					m_nodes[nodeIdx].m_firstChild = child;
				m_nodes[child].m_parent = nodeIdx;
				prevChild = child;
			}
			else if (t.m_content == "Mesh")
				m_nodes[nodeIdx].m_mesh = ReadMesh(s);
			else if (t.m_content == "FrameTransformMatrix")
				m_nodes[nodeIdx].m_localTransform = ReadFaceTransform(s);
			else
				SkipDataObject(s);
		}
		else if (t.m_type == XFileToken::UUID)
			continue;
		else if (t.m_type == XFileToken::LeftBrace)
			SkipDataReference(s);
		else if (t.m_type == XFileToken::RightBrace)
			break;
        else
            THROW_EXCEPTION_T("Parsing error", ParsingException);
	}
	return nodeIdx;
}