Files
FC1/Editor/EntityProtLibDialog.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

111 lines
3.2 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: entityprotlibdialog.h
// Version: v1.00
// Created: 22/1/2003 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __entityprotlibdialog_h__
#define __entityprotlibdialog_h__
#pragma once
#include "BaseLibraryDialog.h"
#include "Controls\SplitterWndEx.h"
#include "Controls\TreeCtrlEx.h"
#include "Controls\PropertyCtrl.h"
#include "Controls\PreviewModelCtrl.h"
#include "EntityScriptDialog.h"
class CEntityPrototypeManager;
class CEntityPrototype;
struct IEntitySystem;
struct IEntity;
/** Dialog which hosts entity prototype library.
*/
class CEntityProtLibDialog : public CBaseLibraryDialog
{
DECLARE_DYNAMIC(CEntityProtLibDialog)
public:
CEntityProtLibDialog( CWnd *pParent );
~CEntityProtLibDialog();
// Called every frame.
void Update();
virtual UINT GetDialogMenuID();
protected:
void InitToolbar();
void DoDataExchange(CDataExchange* pDX);
BOOL OnInitDialog();
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnAddPrototype();
afx_msg void OnPlay();
afx_msg void OnUpdatePlay( CCmdUI* pCmdUI );
afx_msg void OnShowDescription();
afx_msg void OnDescriptionChange();
afx_msg void OnAssignToSelection();
afx_msg void OnSelectAssignedObjects();
afx_msg void OnNotifyTreeRClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnBeginDrag(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnCopy();
afx_msg void OnPaste();
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
void SelectItem( CBaseLibraryItem *item,bool bForceReload=false );
//////////////////////////////////////////////////////////////////////////
// IDocListener listener implementation
//////////////////////////////////////////////////////////////////////////
virtual void OnNewDocument();
virtual void OnLoadDocument();
virtual void OnCloseDocument();
//////////////////////////////////////////////////////////////////////////
void SpawnEntity( CEntityPrototype *prototype );
void ReleaseEntity();
void OnUpdateProperties( IVariable *var );
void OnReloadEntityScript();
CString SelectEntityClass();
CEntityPrototype* GetSelectedPrototype();
DECLARE_MESSAGE_MAP()
CSplitterWndEx m_wndHSplitter;
CSplitterWndEx m_wndVSplitter;
CSplitterWndEx m_wndScriptPreviewSplitter;
//CModelPreview
CEntityScriptDialog m_scriptDialog;
CPreviewModelCtrl m_previewCtrl;
CPropertyCtrl m_propsCtrl;
CXTEdit m_descriptionEditBox;
CImageList m_imageList;
//! Selected Prototype.
IEntity* m_entity;
IEntitySystem *m_pEntitySystem;
CString m_visualObject;
bool m_bEntityPlaying;
bool m_bShowDescription;
// Prototype manager.
CEntityPrototypeManager *m_pEntityManager;
};
#endif // __entityprotlibdialog_h__