📄 console.h
字号:
/// Returns true if fn is a global scripting function.
///
/// This looks in the global namespace. It also checks to see if fn
/// is in the StringTable; if not, it returns false.
bool isFunction(const char *fn);
/// This is the basis for tab completion in the console.
///
/// @note This is an internally used function. You probably don't
/// care much about how this works.
///
/// This function does some basic parsing to try to ascertain the namespace in which
/// we are attempting to do tab completion, then bumps control off to the appropriate
/// tabComplete function, either in SimObject or Namespace.
///
/// @param inputBuffer Pointer to buffer containing starting data, or last result.
/// @param cursorPos Location of cursor in this buffer. This is used to indicate
/// what part of the string should be kept and what part should
/// be advanced to the next match if any.
/// @param maxResultLength Maximum amount of result data to put into inputBuffer. This
/// is capped by MaxCompletionBufferSize.
/// @param forwardTab Should we go forward to next match or backwards to previous
/// match? True indicates forward.
U32 tabComplete(char* inputBuffer, U32 cursorPos, U32 maxResultLength, bool forwardTab);
/// @}
/// @name Variable Management
/// @{
/// Add a console variable that references the value of a variable in C++ code.
///
/// If a value is assigned to the console variable the C++ variable is updated,
/// and vice-versa.
///
/// @param name Global console variable name to create
/// @param type The type of the C++ variable; see the ConsoleDynamicTypes enum for a complete list.
/// @param pointer Pointer to the variable.
/// @see ConsoleDynamicTypes
bool addVariable(const char *name, S32 type, void *pointer);
/// Remove a console variable.
///
/// @param name Global console variable name to remove
/// @return true if variable existed before removal.
bool removeVariable(const char *name);
/// Assign a string value to a locally scoped console variable
///
/// @note The context of the variable is determined by gEvalState; that is,
/// by the currently executing code.
///
/// @param name Local console variable name to set
/// @param value String value to assign to name
void setLocalVariable(const char *name, const char *value);
/// Retrieve the string value to a locally scoped console variable
///
/// @note The context of the variable is determined by gEvalState; that is,
/// by the currently executing code.
///
/// @param name Local console variable name to get
const char* getLocalVariable(const char* name);
/// @}
/// @name Global Variable Accessors
/// @{
/// Assign a string value to a global console variable
/// @param name Global console variable name to set
/// @param value String value to assign to this variable.
void setVariable(const char *name, const char *value);
/// Retrieve the string value of a global console variable
/// @param name Global Console variable name to query
/// @return The string value of the variable or "" if the variable does not exist.
const char* getVariable(const char* name);
/// Same as setVariable(), but for bools.
void setBoolVariable (const char* name,bool var);
/// Same as getVariable(), but for bools.
///
/// @param name Name of the variable.
/// @param def Default value to supply if no matching variable is found.
bool getBoolVariable (const char* name,bool def = false);
/// Same as setVariable(), but for ints.
void setIntVariable (const char* name,S32 var);
/// Same as getVariable(), but for ints.
///
/// @param name Name of the variable.
/// @param def Default value to supply if no matching variable is found.
S32 getIntVariable (const char* name,S32 def = 0);
/// Same as setVariable(), but for floats.
void setFloatVariable(const char* name,F32 var);
/// Same as getVariable(), but for floats.
///
/// @param name Name of the variable.
/// @param def Default value to supply if no matching variable is found.
F32 getFloatVariable(const char* name,F32 def = .0f);
/// @}
/// @name Global Function Registration
/// @{
/// Register a C++ function with the console making it a global function callable from the scripting engine.
///
/// @param name Name of the new function.
/// @param cb Pointer to the function implementing the scripting call; a console callback function returning a specific type value.
/// @param usage Documentation for this function. @ref console_autodoc
/// @param minArgs Minimum number of arguments this function accepts
/// @param maxArgs Maximum number of arguments this function accepts
void addCommand(const char *name, StringCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
void addCommand(const char *name, IntCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *name, FloatCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *name, VoidCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *name, BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char *, StringCallback, const char *, S32, S32)
/// @}
/// @name Namespace Function Registration
/// @{
/// Register a C++ function with the console making it callable
/// as a method of the given namespace from the scripting engine.
///
/// @param nameSpace Name of the namespace to associate the new function with; this is usually the name of a class.
/// @param name Name of the new function.
/// @param cb Pointer to the function implementing the scripting call; a console callback function returning a specific type value.
/// @param usage Documentation for this function. @ref console_autodoc
/// @param minArgs Minimum number of arguments this function accepts
/// @param maxArgs Maximum number of arguments this function accepts
void addCommand(const char *nameSpace, const char *name,StringCallback cb, const char *usage, S32 minArgs, S32 maxArgs);
void addCommand(const char *nameSpace, const char *name,IntCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char*, const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *nameSpace, const char *name,FloatCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char*, const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *nameSpace, const char *name,VoidCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char*, const char *, StringCallback, const char *, S32, S32)
void addCommand(const char *nameSpace, const char *name,BoolCallback cb, const char *usage, S32 minArgs, S32 maxArgs); ///< @copydoc addCommand(const char*, const char *, StringCallback, const char *, S32, S32)
/// @}
/// @name Special Purpose Registration
///
/// These are special-purpose functions that exist to allow commands to be grouped, so
/// that when we generate console docs, they can be more meaningfully presented.
///
/// @ref console_autodoc "Click here for more information about console docs and grouping."
///
/// @{
void markCommandGroup (const char * nsName, const char *name, const char* usage=NULL);
void beginCommandGroup(const char * nsName, const char *name, const char* usage);
void endCommandGroup (const char * nsName, const char *name);
/// @deprecated
void addOverload (const char * nsName, const char *name, const char *altUsage);
/// @}
/// @name Console Output
///
/// These functions process the formatted string and pass it to all the ConsumerCallbacks that are
/// currently registered. The console log file and the console window callbacks are installed by default.
///
/// @see addConsumer()
/// @see removeConsumer()
/// @{
/// @param _format A stdlib printf style formatted out put string
/// @param ... Variables to be written
void printf(const char *_format, ...);
/// @note The console window colors warning text as LIGHT GRAY.
/// @param _format A stdlib printf style formatted out put string
/// @param ... Variables to be written
void warnf(const char *_format, ...);
/// @note The console window colors warning text as RED.
/// @param _format A stdlib printf style formatted out put string
/// @param ... Variables to be written
void errorf(const char *_format, ...);
/// @note The console window colors warning text as LIGHT GRAY.
/// @param type Allows you to associate the warning message with an internal module.
/// @param _format A stdlib printf style formatted out put string
/// @param ... Variables to be written
/// @see Con::warnf()
void warnf(ConsoleLogEntry::Type type, const char *_format, ...);
/// @note The console window colors warning text as RED.
/// @param type Allows you to associate the warning message with an internal module.
/// @param _format A stdlib printf style formatted out put string
/// @param ... Variables to be written
/// @see Con::errorf()
void errorf(ConsoleLogEntry::Type type, const char *_format, ...);
/// @}
/// Returns true when called from the main thread, false otherwise
bool isMainThread();
/// @name Console Execution
///
/// These are functions relating to the execution of script code.
///
/// @{
#ifdef TGE_RPG
BOOL checkScriptMethod(SimObject *object,StringTableEntry funcName);
#endif
/// Call a script function from C/C++ code.
///
/// @param argc Number of elements in the argv parameter
/// @param argv A character string array containing the name of the function
/// to call followed by the arguments to that function.
/// @code
/// // Call a Torque script function called mAbs, having one parameter.
/// char* argv[] = {"abs", "-9"};
/// char* result = execute(2, argv);
/// @endcode
const char *execute(S32 argc, const char* argv[]);
/// @see execute(S32 argc, const char* argv[])
const char *executef(S32 argc, ...);
/// Call a Torque Script member function of a SimObject from C/C++ code.
/// @param object Object on which to execute the method call.
/// @param argc Number of elements in the argv parameter (must be >2, see argv)
/// @param argv A character string array containing the name of the member function
/// to call followed by an empty parameter (gets filled with object ID)
/// followed by arguments to that function.
/// @code
/// // Call the method setMode() on an object, passing it one parameter.
///
/// char* argv[] = {"setMode", "", "2"};
/// char* result = execute(mysimobject, 3, argv);
/// @endcode
const char *execute(SimObject *object, S32 argc, const char *argv[]);
/// @see execute(SimObject *, S32 argc, const char *argv[])
const char *executef(SimObject *, S32 argc, ...);
/// Evaluate an arbitrary chunk of code.
///
/// @param string Buffer containing code to execute.
/// @param echo Should we echo the string to the console?
/// @param fileName Indicate what file this code is coming from; used in error reporting and such.
const char *evaluate(const char* string, bool echo = false, const char *fileName = NULL);
/// Evaluate an arbitrary line of script.
///
/// This wraps dVsprintf(), so you can substitute parameters into the code being executed.
const char *evaluatef(const char* string, ...);
/// @}
/// @name Console Function Implementation Helpers
///
/// The functions Con::getIntArg, Con::getFloatArg and Con::getArgBuffer(size) are used to
/// allocate on the console stack string variables that will be passed into the next console
// function called. This allows the console to avoid copying some data.
///
/// getReturnBuffer lets you allocate stack space to return data in.
/// @{
///
char *getReturnBuffer(U32 bufferSize);
char *getArgBuffer(U32 bufferSize);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -