예제 #1
0
 public LibraryTextAsTexture(SpriteFont font, Texture2D txGradient, string sTextCategory, string sTextID, LibraryTextAsTexture.TextType enType, Color cLineCol, float fLineAlpha, float fScale, int iOverrideFontSpacing = -100)
 {
     this.sTextCategory = sTextCategory;
     this.sTextID = sTextID;
     this.txGradientTexture = txGradient;
     this.enOutlineType = enType;
     this.cLineColor = cLineCol;
     this.fLineAlpha = fLineAlpha;
     this.fTextScale = fScale;
     this.fAADiscardThreshold = 0.6f;
     this.iOverrideFontSpacing = iOverrideFontSpacing;
     this.Setup(enType, font, Program.game.MiscTextLibrary_GetText(sTextCategory, sTextID), this.txGradientTexture);
     if (RenderMaster.LocalizedTextures.bAddToList)
     {
         Program.game.xRenderMaster.lxRemakeOnAdapterReset.Add(this);
     }
 }
예제 #2
0
 public void Setup(LibraryTextAsTexture.TextType enType, SpriteFont font, string sSourceString, Texture2D txGradient)
 {
     if (this.iOverrideFontSpacing > -100)
     {
         font.Spacing = (float)this.iOverrideFontSpacing;
     }
     Vector2 v2Dimensions = font.MeasureString(sSourceString) * this.fTextScale;
     if (this.iOverrideFontSpacing > -100)
     {
         font.Spacing = (float)FontManager.GetOriginalSpacing(font);
     }
     this.bFinalRendered = false;
     if (this.rt2dFinal != null)
     {
         this.rt2dFinal.Dispose();
     }
     this.rt2dA = new RenderTarget2D(Program.game.GraphicsDevice, (int)v2Dimensions.X, (int)v2Dimensions.Y, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
     this.rt2dB = new RenderTarget2D(Program.game.GraphicsDevice, (int)v2Dimensions.X, (int)v2Dimensions.Y, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
     int iAdd = 0;
     if (enType == LibraryTextAsTexture.TextType.Shaded)
     {
         iAdd = 1;
     }
     else if (enType == LibraryTextAsTexture.TextType.Outlined)
     {
         iAdd = 2;
     }
     this.rt2dC = new RenderTarget2D(Program.game.GraphicsDevice, (int)v2Dimensions.X + iAdd, (int)v2Dimensions.Y + iAdd, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
     this.rt2dFinal = new RenderTarget2D(Program.game.GraphicsDevice, (int)v2Dimensions.X + iAdd, (int)v2Dimensions.Y + iAdd, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
     this.font = font;
     this.enOutlineType = enType;
     this.sSourceString = sSourceString;
     Program.game.xRenderMaster.AddToPrerenderQueue(this);
 }