public static void drawText(String content, int posID, int colorID, int dockType) { Vector2 stringSize = m_spriteFont.MeasureString(content); Vector2 position = MVector3.getFromStorage(posID).getRawVec2(); Vector2 origin; switch (dockType) { case DT_LEFT: origin = new Vector2(0.0f, 0.0f); break; case DT_CENTER: position.X -= stringSize.X / 2.0f; origin = new Vector2(stringSize.X / 2.0f, 0.0f); break; case DT_RIGHT: position.X -= stringSize.X; origin = new Vector2(stringSize.X, 0.0f); break; default: break; } m_graphicHandlerRef.getSpriteBatch().DrawString(m_spriteFont, content, position, MVector4.getFromStorage(colorID).getColor()); }
//public void draw(MVector3 pos, MRectangle srcRect, MVector2 scale, // MVector2 translate, MVector3 drawCenter, float angle, MVector4 color) public static void draw(int textureID, int pos, int srcRect, int scale, int translate, int drawCenter, float angle, int color) { //m_graphicHandlerRef.getSpriteBatch().Draw(m_texture, m_graphicHandlerRef.getGameInstance().Window.ClientBounds, Color.White); Rectangle? rect; MRectangle trueRect = MRectangle.getFromStorage(srcRect); if (trueRect != null) { rect = trueRect.getRawData(); } else { rect = null; } Vector2 scaleParam = MVector2.getFromStorage(scale).getRawData(); SpriteEffects sEffect = generateSpriteEffect(ref scaleParam); Vector2 translateParam = MVector3.getFromStorage(pos).getRawAxistedVec2() + MVector2.getFromStorage(translate).getRawData(); m_graphicHandlerRef.getSpriteBatch() .Draw( MTexture.getFromStorage(textureID).m_texture, translateParam, rect, MVector4.getFromStorage(color).getColor(), angle, MVector3.getFromStorage(drawCenter).getRawVec2(), scaleParam, sEffect, 0.0f); }