Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

79 lines
2.1 KiB

#ifndef ROOMTEMPLATEEDITDIALOG_H
#define ROOMTEMPLATEEDITDIALOG_H
#ifdef _WIN32
#pragma once
#endif
#include <vgui_controls/Frame.h>
#include "RoomTemplate.h"
namespace vgui {
class PanelListPanel;
class Label;
class ImagePanel;
class TextEntry;
class RichText;
class Button;
class ComboBox;
};
class CRoomTemplatePanel;
class CToggleExitsPanel;
// this dialog allows you to edit a room template's properties
class CRoomTemplateEditDialog : public vgui::Frame
{
DECLARE_CLASS_SIMPLE( CRoomTemplateEditDialog, vgui::Frame );
public:
CRoomTemplateEditDialog( vgui::Panel *parent, const char *name, CRoomTemplate *pRoomTemplate, bool bCreatingNew );
virtual ~CRoomTemplateEditDialog();
virtual void OnCommand( const char *command );
void AddExit(int iXPos, int iYPos, ExitDirection_t dir);
void EditExit(int iXPos, int iYPos, ExitDirection_t dir);
void ToggleExit(int iXPos, int iYPos, ExitDirection_t dir);
void DoPickVMF();
void OnFileSelected(const char *fullpath);
const char* GetVMFFilename();
MESSAGE_FUNC_PTR( OnSliderMoved, "SliderMoved", panel );
MESSAGE_FUNC_PTR( OnCheckButtonChecked, "CheckButtonChecked", panel );
MESSAGE_FUNC_PTR( OnTextChanged, "TextChanged", panel );
MESSAGE_FUNC_PARAMS( OnCheckOutFromP4, "CheckOutFromP4", pKV );
MESSAGE_FUNC_PARAMS( OnAddToP4, "AddToP4", pKV );
DECLARE_PANELMAP();
CRoomTemplatePanel* m_pRoomTemplatePanel;
CToggleExitsPanel* m_pToggleExitsPanel;
vgui::Button* m_pPickVMFButton;
vgui::Button* m_pCancelButton;
vgui::Label* m_pThemeLabel;
vgui::TextEntry* m_pRoomTemplateNameEdit;
vgui::TextEntry* m_pRoomTemplateDescriptionEdit;
vgui::TextEntry* m_pRoomTemplateSoundscapeEdit;
vgui::PanelListPanel *m_pTagListPanel;
vgui::Slider* m_pSpawnWeightSlider;
vgui::Label* m_pSpawnWeightValue;
vgui::ComboBox* m_pTileTypeBox;
vgui::Slider* m_pTilesXSlider;
vgui::Slider* m_pTilesYSlider;
vgui::Label* m_pTilesXValue;
vgui::Label* m_pTilesYValue;
// tile coords set when you right click on the room template panel
int m_iSelectedTileX, m_iSelectedTileY;
CRoomTemplate* m_pRoomTemplate;
bool m_bCreatingNew;
};
#endif // ROOMTEMPLATEEDITDIALOG_H