Natalie Adams 2021-05-11 21:47:16 +00:00
parent d231b154e9
commit 4004a200cc

74
AxiosCommandConsole.md Normal file

@ -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<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:
<pre class="brush: csharp">
#if WINDOWS
GameConsole.attachConsole(this);
#endif
</pre>
# 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"});
}
```