63 lines
2.6 KiB
C++
63 lines
2.6 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Defines an interface to the map editor for the execution of
|
|
// editor shell commands from another application. Commands
|
|
//allow the creation and deletion of entities, AI nodes, and AI node
|
|
//connections.
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef EDITOR_SENDCOMMAND_H
|
|
#define EDITOR_SENDCOMMAND_H
|
|
#pragma once
|
|
|
|
class QAngle;
|
|
|
|
//
|
|
// Result codes from Worldcraft_SendCommand.
|
|
//
|
|
enum EditorSendResult_t {
|
|
Editor_OK = 0, // Success.
|
|
Editor_NotRunning, // Unable to establish a communications channel with the
|
|
// editor.
|
|
Editor_BadCommand, // The editor did not accept the command.
|
|
};
|
|
|
|
//
|
|
// Wrappers around specific commands for convenience.
|
|
//
|
|
EditorSendResult_t Editor_BeginSession(const char *pszMapName, int nMapVersion,
|
|
bool bShowUI = false);
|
|
EditorSendResult_t Editor_EndSession(bool bShowUI);
|
|
EditorSendResult_t Editor_CheckVersion(const char *pszMapName, int nMapVersion,
|
|
bool bShowUI = false);
|
|
|
|
EditorSendResult_t Editor_CreateEntity(const char *pszEntity, float x, float y,
|
|
float z, bool bShowUI = false);
|
|
EditorSendResult_t Editor_DeleteEntity(const char *pszEntity, float x, float y,
|
|
float z, bool bShowUI = false);
|
|
EditorSendResult_t Editor_SetKeyValue(const char *pszEntity, float x, float y,
|
|
float z, const char *pKey,
|
|
const char *pValue, bool bShowUI = false);
|
|
EditorSendResult_t Editor_RotateEntity(const char *pszEntity, float x, float y,
|
|
float z,
|
|
const QAngle &incrementalRotation,
|
|
bool bShowUI = false);
|
|
|
|
EditorSendResult_t Editor_CreateNode(const char *pszNodeClass, int nID, float x,
|
|
float y, float z, bool bShowUI = false);
|
|
EditorSendResult_t Editor_DeleteNode(int nID, bool bShowUI = false);
|
|
|
|
EditorSendResult_t Editor_CreateNodeLink(int nStartID, int nEndID,
|
|
bool bShowUI = false);
|
|
EditorSendResult_t Editor_DeleteNodeLink(int nStartID, int nEndID,
|
|
bool bShowUI = false);
|
|
|
|
//
|
|
// Actually does the work. All the above commands route through this.
|
|
//
|
|
EditorSendResult_t Editor_SendCommand(const char *pszCommand, bool bShowUI);
|
|
|
|
#endif // EDITOR_SENDCOMMAND_H
|