예제 #1
0
        public void DrawOverlayMap(WormholeModContext ctx, WormholeLink link, SpriteBatch sb)
        {
            var mymod = ctx.MyMod;

            if (!link.IsCharted(Main.LocalPlayer) && !mymod.IsDebugWormholeViewMode())
            {
                return;
            }

            float     scale = Main.mapOverlayScale / 1.5f;
            Texture2D tex   = WormholesUI.Tex;

            Rectangle l_rect = new Rectangle((int)link.LeftPortal.Pos.X, (int)link.LeftPortal.Pos.Y, tex.Width, tex.Height);
            Rectangle r_rect = new Rectangle((int)link.RightPortal.Pos.X, (int)link.RightPortal.Pos.Y, tex.Width, tex.Height);

            Vector2?l_pos = HudMapHelpers.GetOverlayMapPosition(l_rect);

            if (l_pos != null)
            {
                Color l_color = link.LeftPortal.BaseColor * Main.mapOverlayAlpha;
                sb.Draw(tex, (Vector2)l_pos, this.TexAnim.Frame, l_color, 0f, new Vector2(), scale, SpriteEffects.None, 1f);
            }

            Vector2?r_pos = HudMapHelpers.GetOverlayMapPosition(r_rect);

            if (r_pos != null)
            {
                Color r_color = link.RightPortal.BaseColor * Main.mapOverlayAlpha;
                sb.Draw(tex, (Vector2)r_pos, this.TexAnim.Frame, r_color, 0f, new Vector2(), scale, SpriteEffects.None, 1f);
            }
        }
예제 #2
0
        public void DrawOverlayMap(WormholeLink link, SpriteBatch sb)
        {
            if (!link.IsCharted(Main.LocalPlayer) && !WormholesConfig.Instance.DebugModeMapCheat)
            {
                return;
            }

            float     scale = Main.mapOverlayScale / 1.5f;
            Texture2D tex   = WormholesUI.Tex;

            Rectangle lRect = new Rectangle((int)link.LeftPortal.Pos.X, (int)link.LeftPortal.Pos.Y, tex.Width, tex.Height);
            Rectangle rRect = new Rectangle((int)link.RightPortal.Pos.X, (int)link.RightPortal.Pos.Y, tex.Width, tex.Height);

            var lPosData = HUDMapHelpers.GetOverlayMapPositionAsScreenPosition(lRect);

            if (lPosData.IsOnScreen)
            {
                Color lColor = link.LeftPortal.BaseColor * Main.mapOverlayAlpha;
                sb.Draw(tex, (Vector2)lPosData.Item1, this.TexAnim.Frame, lColor, 0f, new Vector2(), scale, SpriteEffects.None, 1f);
            }

            var rPosData = HUDMapHelpers.GetOverlayMapPositionAsScreenPosition(rRect);

            if (rPosData.IsOnScreen)
            {
                Color rColor = link.RightPortal.BaseColor * Main.mapOverlayAlpha;
                sb.Draw(tex, rPosData.Item1, this.TexAnim.Frame, rColor, 0f, new Vector2(), scale, SpriteEffects.None, 1f);
            }
        }
예제 #3
0
        public void DrawFullscreenMap(WormholeModContext ctx, WormholeLink link, SpriteBatch sb)
        {
            var mymod = ctx.MyMod;

            if (!link.IsCharted(Main.LocalPlayer) && !mymod.IsDebugWormholeViewMode())
            {
                return;
            }

            float     scale = Main.mapFullscreenScale / 1.5f;
            Texture2D tex   = WormholesUI.Tex;

            Rectangle l_rect = new Rectangle((int)link.LeftPortal.Pos.X, (int)link.LeftPortal.Pos.Y, tex.Width, tex.Height);
            Vector2   l_pos  = HudMapHelpers.GetFullMapPosition(l_rect);

            sb.Draw(tex, l_pos, this.TexAnim.Frame, link.LeftPortal.BaseColor, 0f, new Vector2 {
            }, scale, SpriteEffects.None, 1f);

            Rectangle r_rect = new Rectangle((int)link.RightPortal.Pos.X, (int)link.RightPortal.Pos.Y, tex.Width, tex.Height);
            Vector2   r_pos  = HudMapHelpers.GetFullMapPosition(r_rect);

            sb.Draw(tex, r_pos, this.TexAnim.Frame, link.RightPortal.BaseColor, 0f, new Vector2 {
            }, scale, SpriteEffects.None, 1f);
        }