예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }