{"id":238,"date":"2011-08-15T17:40:49","date_gmt":"2011-08-15T17:40:49","guid":{"rendered":"http:\/\/strikelimit.co.uk\/m\/?p=238"},"modified":"2011-08-15T17:42:29","modified_gmt":"2011-08-15T17:42:29","slug":"xna-developer-console","status":"publish","type":"post","link":"http:\/\/strikelimit.co.uk\/m\/?p=238","title":{"rendered":"XNA Developer Console"},"content":{"rendered":"<p>Today I have been working on a Dev Console, similar in function to the native <em>Console<\/em> class, except that it is inside the game instead of in cmd. I want to make the class completely self contained so it can be easily dropped into any project.<\/p>\n<p>Once complete, which shouldn&#8217;t take longer than another day, it should be an immense help to my development process as it means I will no longer need to use a string of breakpoints to track a variables progress. After cleaning the code up a bit I will release the class here for anyone to use. I aim to include the following features in the class by tomorrow, but almost all of them are complete at this point:<\/p>\n<ul>\n<li>Entirely static &#8211; should be equally accessible from any class in the project.<\/li>\n<li>Methods for defining the width, height and position of the console on the screen.<\/li>\n<li>Functionality for clearing the console.<\/li>\n<li>Methods to write either a single line or a list or array of lines.<\/li>\n<li>Both of the above including an optional sender variable to be displayed after the message. All lines will display an index number justified to four places, e.g. 0001, 0002 &#8230; 0103.<\/li>\n<li>Contains Update and Draw methods that allow for scrolling up and down the window with either the mouse wheel or chosen keys.<\/li>\n<li>Options for displaying the console, for example key toggle or push to display.<\/li>\n<\/ul>\n<p>An example line output would be:<br \/>\n<code><\/code><\/p>\n<p style=\"text-align: center;\"><code>0001: Variable A set to 100 [Project.Game1]<\/code><\/p>\n<p>Eventually I would like to\u00a0 include the following features, but they will most likely be added on my own need-to-use basis:<\/p>\n<ul>\n<li>Input; reading lines and then executing a method defined by the input.<\/li>\n<li>Ability to quickly drag-and-drop the window around the screen for custom positioning while in-game.<\/li>\n<li>Output saved to a text file.<\/li>\n<li>Customizable syntax options.<\/li>\n<li>Indentation options to indicate lines having parents.<\/li>\n<li>A sort of region option in order to expand or collapse areas of the list.<\/li>\n<li>A &#8216;light&#8217; version of the console that doesn&#8217;t include the built in update and draw methods and associated variables &#8211; simply supplying a list of strings to be interpreted by a UI of your choice.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Today I have been working on a Dev Console, similar in function to the native Console class, except that it is inside the game instead of in cmd. I want to make the class completely self contained so it can be easily dropped into any project. Once complete, which shouldn&#8217;t take longer than another day, &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/strikelimit.co.uk\/m\/?p=238\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[4,30,31,32,34,33,5],"_links":{"self":[{"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/posts\/238"}],"collection":[{"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=238"}],"version-history":[{"count":3,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/posts\/238\/revisions"}],"predecessor-version":[{"id":241,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=\/wp\/v2\/posts\/238\/revisions\/241"}],"wp:attachment":[{"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/strikelimit.co.uk\/m\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}