//have to add new entry for GL Circle to draw sensor bubbles around taskgroups/populations/missile contacts //CircleElement has the circle in it already, but that might be inappropriate for what I want //SceenElement has the lable properly done. public SensorElement(GLEffect a_oDefaultEffect, Vector3 a_oPosition, float a_fRadius, System.Drawing.Color a_oColor, String LabelText, GameEntity Ent, ComponentTypeTN SType, Sceen ParentSceenArg) : base() { _ParentSceen = ParentSceenArg; _DisplayRadius = a_fRadius; m_oPrimaryPrimitive = new GLCircle(a_oDefaultEffect, a_oPosition, a_fRadius, a_oColor, UIConstants.Textures.DEFAULT_TEXTURE); m_lPrimitives.Add(m_oPrimaryPrimitive); int LabelMid = LabelText.Length / 4; float xAdjust = -LabelMid * (UIConstants.DEFAULT_TEXT_SIZE.X / _ParentSceen.ZoomSclaer); float yAdjust = 10.0f / ParentSceenArg.ZoomSclaer; Vector3 LPos = new Vector3(xAdjust, (a_fRadius + yAdjust), 0.0f); LPos = LPos + a_oPosition; Lable = new GLUtilities.GLFont(a_oDefaultEffect, LPos, UIConstants.DEFAULT_TEXT_SIZE, a_oColor, UIConstants.Textures.DEFAULT_GLFONT2, LabelText); Lable.Size = UIConstants.DEFAULT_TEXT_SIZE / ParentSceenArg.ZoomSclaer; SetActualPosition(a_oPosition); SceenEntity = Ent; _SensorType = SType; }
/// <summary> /// Sets the Current Sceen /// </summary> /// <param name="a_oSceen">The New Current Sceen</param> private void SetCurrentSceen(Sceen a_oSceen) { m_oCurrentSceen = a_oSceen; m_oGLCanvas.SceenToRender = a_oSceen; }
/// <summary> /// Creats a new sceen for the currently selected star system. /// </summary> private void CreateNewSystemSceen() { // Change cursor to wait Cursor.Current = Cursors.WaitCursor; // create new sceen root node: Sceen oNewSceen = new Sceen(m_oCurrnetSystem, m_oGLCanvas.DefaultEffect, this); //oNewSceen.SceenID = m_oCurrnetSystem.Id; m_lSystemSceens.Add(oNewSceen); // set sceen to current: SetCurrentSceen(oNewSceen); FitZoom(oNewSceen.SceenSize.X / 1.8); oNewSceen.DefaultZoomScaler = m_oCurrentSceen.ZoomSclaer; oNewSceen.Refresh(); // force refresh. // Change Cursor Back to default. Cursor.Current = Cursors.Default; }