2 AxiosCommandConsole
Natalie Adams edited this page 2021-05-11 21:47:31 +00:00

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:

#if WINDOWS
    class GameConsole : AxiosCommandConsole
    {
        public static void attachConsole(AxiosGameScreen gs)
        {
            GameConsole c;
            c = Cache.Instance.get<GameConsole>("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<CommandConsoleEventArgs>(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:

        public GameConsole(AxiosGameScreen gameScreen)
            : base(gameScreen)
        {
            RestrictedCommands.AddRange(new string[] {"help"});
        }