Example #1
0
//----------------------------------------------------------------------------
void UI::OnEvent(Event *ent)
{
	if (GraphicsES::IsEqual(ent, GraphicsES::AddObject))
	{
		AddObjectData data = ent->GetData<AddObjectData>();
		CameraNode *camNode = DynamicCast<CameraNode>(data.Obj);
		if (camNode)
		{
			UI *ui = camNode->GetFirstParentDerivedFromType<UI>();
			if (ui)
			{
				ui->AddCamera(camNode->GetCamera());
			}
		}
	}
}
//----------------------------------------------------------------------------
void EU_CanvasStage::_UpdateCameraCanvas()
{
	int numObjscts = PX2_SELECTM_E->GetNumObjects();
	if (1 == numObjscts)
	{
		Object *firstSelObj = PX2_SELECTM_E->GetFirstObject();
		CameraNode *camNode = DynamicCast<CameraNode>(firstSelObj);
		if (camNode)
		{
			if (mCameraCanvasView)
			{
				Scene *scene = PX2_PROJ.GetScene();

				mCameraCanvasView->SetOverCamera(camNode->GetCamera());
				mCameraCanvasView->SetRenderNode(scene);
				mCameraCanvasView->Show(true);
			}
		}
		else
		{
			if (mCameraCanvasView)
			{
				mCameraCanvasView->SetOverCamera(0);
				mCameraCanvasView->SetRenderNode(0);
				mCameraCanvasView->Show(false);
			}
		}
	}
	else
	{
		if (mCameraCanvasView)
		{
			mCameraCanvasView->SetOverCamera(0);
			mCameraCanvasView->SetRenderNode(0);
			mCameraCanvasView->Show(false);
		}
	}
}