コード例 #1
0
        public void DrawFromMiniMap(Vector2 Position, float Size, Vector2 Min, Vector2 Max)
        {
            if (this.MinPos.X > Max.X || this.MinPos.Y > Max.Y || this.MaxPos.X < Min.X || this.MaxPos.Y < Min.Y)
            {
                return;
            }

            LinkedListNode <GameObject> Node = Nodes.Value.First;

            while (Node != null)
            {
                WallNode n = (WallNode)Node.Value;
                if (Node.Next != null)
                {
                    WallNode n2 = (WallNode)Node.Next.Value;

                    Vector2 MapPosition = (n.Position.get() - Min) /
                                          (Max - Min) * Size + Position;
                    Vector2 MapPosition2 = (n2.Position.get() - Min) /
                                           (Max - Min) * Size + Position;

                    Vector2 MPosition = Position + new Vector2(Size);

                    MapPosition  = Logic.Clamp(MapPosition, Position, MPosition);
                    MapPosition2 = Logic.Clamp(MapPosition2, Position, MPosition);

                    Render.DrawLine(MapPosition, MapPosition2, Color.Gray);
                }
                Node = Node.Next;
            }
        }