123
This commit is contained in:
86
Editor/ObjectCreateTool.h
Normal file
86
Editor/ObjectCreateTool.h
Normal file
@@ -0,0 +1,86 @@
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2001.
|
||||
// -------------------------------------------------------------------------
|
||||
// File name: ObjectCreateTool.h
|
||||
// Version: v1.00
|
||||
// Created: 18/12/2001 by Timur.
|
||||
// Compilers: Visual C++ 6.0
|
||||
// Description: Definition of ObjectCreateTool, edit tool for creating objects..
|
||||
// -------------------------------------------------------------------------
|
||||
// History:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __ObjectCreateTool_h__
|
||||
#define __ObjectCreateTool_h__
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "EditTool.h"
|
||||
#include "Objects\ObjectManager.h"
|
||||
|
||||
class CBaseObject;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
class CObjectCreateTool : public CEditTool
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNCREATE(CObjectCreateTool)
|
||||
|
||||
// This callback called when creation tool created new object.
|
||||
typedef Functor2<CObjectCreateTool*,CBaseObject*> CreateCallback;
|
||||
|
||||
CObjectCreateTool( CreateCallback createCallback=0 );
|
||||
~CObjectCreateTool();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Ovverides from CEditTool
|
||||
bool MouseCallback( CViewport *view,EMouseEvent event,CPoint &point,int flags );
|
||||
|
||||
// Delete itself.
|
||||
void Release() { delete this; };
|
||||
|
||||
virtual void BeginEditParams( IEditor *ie,int flags );
|
||||
virtual void EndEditParams();
|
||||
|
||||
virtual void Display( DisplayContext &dc ) {};
|
||||
virtual bool OnKeyDown( CViewport *view,uint nChar,uint nRepCnt,uint nFlags );
|
||||
virtual bool OnKeyUp( CViewport *view,uint nChar,uint nRepCnt,uint nFlags ) { return false; };
|
||||
virtual bool OnSetCursor( CViewport *vp );
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CObjectCreateTool methods.
|
||||
void SelectCategory( const CString &category );
|
||||
//! Start creation of object with givven type.
|
||||
void StartCreation( const CString &type,const CString ¶m="" );
|
||||
//! Cancel creation of object.
|
||||
void CancelCreation();
|
||||
//! Cancel creation of object.
|
||||
void AcceptCreation();
|
||||
|
||||
protected:
|
||||
//! Callback called when file selected in file browser.
|
||||
void OnSelectFile( CString file );
|
||||
|
||||
void CloseFileBrowser();
|
||||
|
||||
private:
|
||||
int m_objectBrowserPanelId;
|
||||
int m_fileBrowserPanelId;
|
||||
|
||||
HCURSOR m_hCreateCursor;
|
||||
CreateCallback m_createCallback;
|
||||
|
||||
//! Created object type.
|
||||
CString m_objectType;
|
||||
//! Created object.
|
||||
CBaseObjectPtr m_object;
|
||||
};
|
||||
|
||||
|
||||
#endif // __ObjectCreateTool_h__
|
||||
Reference in New Issue
Block a user