//---------------------------------------------------------------------------- EU_CanvasStage::EU_CanvasStage(): mViewType(VT_PERSPECTIVE), mViewDetail(VD_TEXTURED), mCurCameraMoveSpeed_W(0.0f), mCurCameraMoveSpeed_S(0.0f), mCurCameraMoveSpeed_A(0.0f), mCurCameraMoveSpeed_D(0.0f), mIsCameraDraging(false) { SetName("EU_CanvasStage"); SetAnchorHor(0.0f, 1.0f); SetAnchorVer(0.0f, 1.0f); mStageCameraNodeRoot = new0 Node(); AttachChild(mStageCameraNodeRoot); mStageCameraNodeRoot->WorldTransformIsCurrent = true; mStageCameraNode = PX2_CREATER.CreateNode_Camera(); mStageCameraNode->SetName("MainCameraNode"); mStageCameraNode->LocalTransform.SetTranslate(-20.0f, -20.0f, 10.0f); mStageCameraNode->LookAt(APoint(0.0f, 0.0f, 0.0f)); mStageCameraNode->GetCamera()->SetClearFlag(false, false, false); mStageCameraNodeRoot->AttachChild(mStageCameraNode); Camera *editorCamera = mStageCameraNode->GetCamera(); float upFovDegrees = 0.0f; float aspectRation = 0.0f; float dMin = 0.0f; float dMax = 0.0f; editorCamera->GetFrustum(upFovDegrees, aspectRation, dMin, dMax); aspectRation = mSize.Width / mSize.Height; editorCamera->SetFrustum(upFovDegrees, aspectRation, dMin, 5000.0f); PX2_EDIT.SetEditorCameraNode(mStageCameraNode); InterpCurveTranslateController *transCtrl = new0 InterpCurveTranslateController(); mStageCameraNode->AttachController(transCtrl); transCtrl->SetName("Camera_ICTC"); transCtrl->SetPlaySelfCtrl(true); _CreateGridGeometry(); _CreateSceneCanvas(); _CreateNodeCtrl(); _CreateCameraViewCanvas(); ShowContent(false); Enable(false); SetOverCameraNode(mStageCameraNode); SetActivateSelfCtrled(false); SetClearFlag(true, true, true); SetClearColor(Float4::MakeColor(0, 162, 232, 255)); mCamera->SetClearFlag(false, false, false); }
//---------------------------------------------------------------------------- void EditMap::CreateCurveTranslateCtrl (PX2::Movable *mov) { if (!mov) return; Float3 initTrans = mov->LocalTransform.GetTranslate(); InterpCurveTranslateController *ictCtrl = new0 InterpCurveTranslateController( initTrans); ictCtrl->SetName("InterpCurveTranslateController"); mov->AttachController(ictCtrl); Event *ent = 0; ent = EditorEventSpace::CreateEventX(EditorEventSpace::AttachControl); ent->SetData<Object*>(ictCtrl); EventWorld::GetSingleton().BroadcastingLocalEvent(ent); }