/// <summary> /// 调用 <see cref="SpriteBatch.Draw(Texture2D, Vector2, Rectangle?, Color, float, Vector2, float, SpriteEffects, float)"/>,其 texture 为 <see cref="Main.magicPixel"/>,scale 为 1f,其余皆为默认值 /// </summary> /// <param name="position">点</param> /// <param name="spriteBatch">sb,可用 <see cref="Main.spriteBatch"/></param> /// <param name="color">颜色</param> /// <param name="ifMouseIn">如不为 <see langword="null"/>,则在鼠标移入此点判定面积时 Invoke</param> /// <returns>如果 <paramref name="ifMouseIn"/> 被调用,则返回其返回的值,否则为 <see langword="null"/></returns> public static object Draw(this Vector2 position, SpriteBatch spriteBatch, Color color, DrawVector2MouseInDelegate ifMouseIn = null) { object result = null; if (RShapeUtils.GetRectangle(position, new Vector2(1, 1)).Contains(MousePoint) && ifMouseIn != null) { result = ifMouseIn(ref position, ref color); } spriteBatch.Draw(Main.magicPixel, position - Main.screenPosition, null, color, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); return(result); }
/// <summary> /// 调用 <see cref="Utils.DrawBorderStringFourWay(SpriteBatch, DynamicSpriteFont, string, float, float, Color, Color, Vector2, float)"/> /// </summary> /// <param name="spriteBatch">sb,可用 <see cref="Main.spriteBatch"/></param> /// <param name="font">字体</param> /// <param name="text">文本</param> /// <param name="position">位置</param> /// <param name="textColor">文本颜色</param> /// <param name="hideColor">背景颜色</param> /// <param name="origin">偏移</param> /// <param name="scale">放大倍数</param> /// <param name="ifMouseIn">如不为 <see langword="null"/>,则在鼠标移入此字段判定面积时 Invoke</param> /// <returns>如果 <paramref name="ifMouseIn"/> 被调用,则返回其返回的值,否则为 <see langword="null"/></returns> public static object DrawFiveString(this SpriteBatch spriteBatch, DynamicSpriteFont font, string text, Vector2 position, Color textColor, Color hideColor, Vector2 origin, float scale = 1f, DrawFiveStringMouseInDelegate ifMouseIn = null) { object result = null; if (RShapeUtils.GetRectangle(position, font.MeasureString(text)).Contains(MousePoint) && ifMouseIn != null) { result = ifMouseIn(ref font, ref text, ref position, ref textColor, ref hideColor, ref origin, ref scale); } Utils.DrawBorderStringFourWay(spriteBatch, font, text, position.X, position.Y, textColor, hideColor, origin, scale); return(result); }