00001 #include "IrrConsole/nodeViewer.h"
00002
00003 TestCommand_SHOWNODE::TestCommand_SHOWNODE(NodeViewer *pNV) : IC_Command(L"show_node")
00004 {
00005 nv = pNV;
00006 if(nv == 0)
00007 {
00008 throw IC_Error(L"Valid node viewer pointer not supplied");
00009 }
00010 setUsage(L"show_node [model | map | level |test]");
00011 addDescLine(L"this command shows a node on screen");
00012 addDescLine(L"the node can be a model, a map or a test node (a cube)");
00013 addDescLine(L" mode - shows an animated MD2 model");
00014 addDescLine(L" map - shows a Quake III Level");
00015 addDescLine(L" level - shows a Quake III Level");
00016 addDescLine(L" test - shows a test cube node");
00017 }
00018 TestCommand_SHOWNODE::~TestCommand_SHOWNODE()
00019 {
00020 nv = 0;
00021 }
00022 bool TestCommand_SHOWNODE::invoke(const array<WideString>& args, IC_Dispatcher *pDispatcher, IC_MessageSink* pOutput)
00023 {
00024 if(args.size() == 0)
00025 {
00026
00027
00028 pOutput->logError_ANSI("no view mode supplied");
00029 printUsage(pOutput);
00030 return false;
00031 }
00032 else
00033 {
00034 WideString mode = args[0];
00035 if(mode == L"model")
00036 {
00037 nv->showModel();
00038 }
00039 else if(mode == L"map" || mode == L"level")
00040 {
00041 nv->showMap();
00042 }
00043 else if(mode == L"test")
00044 {
00045 nv->showTestNode();
00046 }
00047 else
00048 {
00049
00050
00051
00052 throw IC_Error("Invalid mode for node viewer specified. see usage for valid modes");
00053 }
00054
00055 }
00056 return true;
00057 }
00058
00059 TestCommand_HIDENODE::TestCommand_HIDENODE(NodeViewer *pNV) : IC_Command(L"hide_node")
00060 {
00061 nv = pNV;
00062 if(nv == 0)
00063 {
00064 throw IC_Error(L"Valid node viewer pointer not supplied");
00065 }
00066 setUsage(L"hide_node");
00067 addDescLine(L"this command hides node on screen");
00068 }
00069 TestCommand_HIDENODE::~TestCommand_HIDENODE()
00070 {
00071 nv = 0;
00072 }
00073 bool TestCommand_HIDENODE::invoke(const array<WideString>& args, IC_Dispatcher *pDispatcher, IC_MessageSink* pOutput)
00074 {
00075
00076 nv->hideNode();
00077 return true;
00078 }