public PreviewRenderer(BezierCurveCollection sideCurves, BezierCurveCollection topCurves, BezierCurveCollection backCurves) : base(new Rectangle( ScreenData.GetScreenValueX(0.5f), ScreenData.GetScreenValueY(0.5f), ScreenData.GetScreenValueX(0.5f), ScreenData.GetScreenValueY(0.5f) )) { _renderTarget = new RenderPanel( ScreenData.GetScreenValueX(0.5f), ScreenData.GetScreenValueY(0.5f), ScreenData.GetScreenValueX(0.5f), ScreenData.GetScreenValueY(0.5f) ); RenderPanel.BindRenderTarget(_renderTarget); _indicies = MeshHelper.CreateIndiceArray((_meshVertexWidth) * (_meshVertexWidth)); _verticies = MeshHelper.CreateTexcoordedVertexList((_meshVertexWidth) * (_meshVertexWidth)); _geometryBuffer = new ShipGeometryBuffer(_indicies.Count(), _verticies.Count(), (_meshVertexWidth) * (_meshVertexWidth) * 2, "HullEditorHullTex"); _geometryBuffer.DiffuseDirection = new Vector3(0, -1, 1); _mesh = new Vector3[_meshVertexWidth, _meshVertexWidth]; _sideCurves = sideCurves; _topCurves = topCurves; _backCurves = backCurves; _geometryBuffer.Indexbuffer.SetData(_indicies); }
protected HullEditorPanel(int x, int y, int width, int height, string defaultCurveConfiguration, PanelAlias panelType) { BoundingBox = new FloatingRectangle(x, y, width, height); PanelRenderTarget = new RenderPanel(x, y, width, height, DepthLevel.Medium); RenderPanel.BindRenderTarget(PanelRenderTarget); Curves = new BezierCurveCollection( defaultConfig: defaultCurveConfiguration, areaToFill: new FloatingRectangle( x + width*0.1f, y + height*0.1f, width - width*0.2f, height - height*0.2f ), panelType: panelType ); UIElementCollection.Collection.AddDragConstraintCallback(ClampChildElements); Background = new Button( x: x, y: y, width: width, height: height, depth: DepthLevel.Background, textureName: "HullEditorBgTex", spriteTexRepeatX: width/(Curves.PixelsPerMeter*1), spriteTexRepeatY: height/(Curves.PixelsPerMeter*1), components: new IUIComponent[]{new PanelComponent()} ); Update(); }