diff --git a/AxiosCommandConsole.md b/AxiosCommandConsole.md new file mode 100644 index 0000000..1b7c81e --- /dev/null +++ b/AxiosCommandConsole.md @@ -0,0 +1,74 @@ +# AxiosCommandConsole + +AxiosCommandConsole is a sample class to make XNACC easy to use with Axios. + +# Windows + +The CommandConsole won't work on WP7/Xbox 360 (currently, this may change in the future) and thus require #if WINDOWS if you are developing crossplatform games. The following is an example of how to get it into your game. + +Sample code: + +```csharp +#if WINDOWS + class GameConsole : AxiosCommandConsole + { + public static void attachConsole(AxiosGameScreen gs) + { + GameConsole c; + c = Cache.Instance.get("commandconsole"); + if (c == null) + { + c = new GameConsole(gs); + c.KeepRunning = true; + Cache.Instance.set("commandconsole", c); + gs.AddGameObject(c); + } + else + { + gs.Console = c; + c.GameScreen = gs; + } + } + public GameConsole(AxiosGameScreen gameScreen) + : base(gameScreen) + { + //LoadDefault(); + PreCommandExecutedEvent += new EventHandler(GameConsole_PreCommandExecutedEvent); + } + + void GameConsole_PreCommandExecutedEvent(object sender, XNACC.Console.CommandConsoleBase.CommandConsoleEventArgs e) + { + Console.WriteLine(e.CmdLine.ToString()); + } + + protected override void LoadContent() + { + LoadDefault(); + base.LoadContent(); + } + + } +#endif +``` + +Inside of your activate method use the following code too attach to that screen: + +
+#if WINDOWS
+            GameConsole.attachConsole(this);
+#endif
+
+ +# Restricting commands + +Inside of the constructor add whatever commands you want to remove to the RestrictedCommands list. +Example: + +```csharp + public GameConsole(AxiosGameScreen gameScreen) + : base(gameScreen) + { + RestrictedCommands.AddRange(new string[] {"help"}); + } + +``` \ No newline at end of file