This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IDataBaseItem.h
// Version: v1.00
// Created: 3/5/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IDataBaseItem_h__
#define __IDataBaseItem_h__
#pragma once
struct IDataBaseLibrary;
//////////////////////////////////////////////////////////////////////////
/** Base class for all items contained in BaseLibraray.
*/
struct IDataBaseItem
{
struct SerializeContext
{
XmlNodeRef node;
bool bLoading;
bool bCopyPaste;
bool bIgnoreChilds;
bool bUniqName;
SerializeContext() : node(0),bLoading(false),bCopyPaste(false),bIgnoreChilds(false),bUniqName(false) {};
SerializeContext( XmlNodeRef _node,bool bLoad ) : node(_node),bLoading(bLoad),bCopyPaste(false),bIgnoreChilds(false),bUniqName(false) {};
SerializeContext( const SerializeContext &ctx ) : node(ctx.node),bLoading(ctx.bLoading),
bCopyPaste(ctx.bCopyPaste),bIgnoreChilds(ctx.bIgnoreChilds),bUniqName(ctx.bUniqName) {};
};
//! Return Library this item are contained in.
//! Item can only be at one library.
virtual IDataBaseLibrary* GetLibrary() const = 0;
//! Change item name.
virtual void SetName( const CString &name ) = 0;
//! Get item name.
virtual const CString& GetName() const = 0;
//! Get full item name, including name of library.
//! Name formed by adding dot after name of library
//! eg. library Pickup and item PickupRL form full item name: "Pickups.PickupRL".
virtual CString GetFullName() const = 0;
//! Get only nameof group from prototype.
virtual CString GetGroupName() = 0;
//! Get short name of prototype without group.
virtual CString GetShortName() = 0;
//! Serialize library item to archive.
virtual void Serialize( SerializeContext &ctx ) = 0;
//! Generate new unique id for this item.
virtual void GenerateId() = 0;
//! Returns GUID of this material.
virtual REFGUID GetGUID() const = 0;
//! Validate item for errors.
virtual void Validate() {};
//! Gathers resources by this item.
virtual void GatherUsedResources( CUsedResources &resources ) {};
};
#endif // __IDataBaseItem_h__

View File

@@ -0,0 +1,115 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IDataBaseLibrary.h
// Version: v1.00
// Created: 30/4/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IDataBaseLibrary_h__
#define __IDataBaseLibrary_h__
#pragma once
struct IDataBaseManager;
struct IDataBaseItem;
//////////////////////////////////////////////////////////////////////////
// Description:
// Interface to access specific library of editor data base.
// Ex. Archetype library, Material Library.
// See Also:
// IDataBaseItem,IDataBaseManager
//////////////////////////////////////////////////////////////////////////
struct IDataBaseLibrary
{
// Description:
// Return IDataBaseManager interface to the manager for items stored in this library.
virtual IDataBaseManager* GetManager() = 0;
// Description:
// Return library name.
virtual const CString& GetName() const = 0;
// Description:
// Return filename where this library is stored.
virtual const CString& GetFilename() const = 0;
// Description:
// Save contents of library to file.
virtual bool Save() = 0;
// Description:
// Load library from file.
// Arguments:
// filename - Full specified library filename (relative to root game folder).
virtual bool Load( const CString &filename ) = 0;
// Description:
// Serialize library parameters and items to/from XML node.
virtual void Serialize( XmlNodeRef &node,bool bLoading ) = 0;
// Description:
// Marks library as modified, indicates that some item in library was modified.
virtual void SetModified( bool bModified=true ) = 0;
// Description:
// Check if library parameters or any items where modified.
// If any item was modified library may need saving before closing editor.
virtual bool IsModified() const = 0;
// Description:
// Check if this library is not shared and internal to current level.
virtual bool IsLevelLibrary() const = 0;
// Description:
// Make this library accessible only from current Level. (not shared)
virtual void SetLevelLibrary( bool bEnable ) = 0;
// Description:
// Associate a new item with the library.
// Watch out if item was already in another library.
virtual void AddItem( IDataBaseItem* pItem ) = 0;
// Description:
// Return number of items in library.
virtual int GetItemCount() const = 0;
// Description:
// Get item by index.
// See Also:
// GetItemCount
// Arguments:
// index - Index from 0 to GetItemCount()
virtual IDataBaseItem* GetItem( int index ) = 0;
// Description:
// Remove item from library, does not destroy item,
// only unliks it from this library, to delete item use IDataBaseManager.
// See Also:
// AddItem
virtual void RemoveItem( IDataBaseItem* item ) = 0;
// Description:
// Remove all items from library, does not destroy items,
// only unliks them from this library, to delete item use IDataBaseManager.
// See Also:
// RemoveItem,AddItem
virtual void RemoveAllItems() = 0;
// Description:
// Find item in library by name.
// This function usually uses linear search so it is not particularry fast.
// See Also:
// GetItem
virtual IDataBaseItem* FindItem( const CString &name ) = 0;
};
#endif // __IDataBaseLibrary_h__

View File

@@ -0,0 +1,92 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IDataBaseManager.h
// Version: v1.00
// Created: 3/5/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IDataBaseManager_h__
#define __IDataBaseManager_h__
#pragma once
struct IDataBaseItem;
struct IDataBaseLibrary;
//////////////////////////////////////////////////////////////////////////
//
// Interface to the collection of all items or specific type
// in data base libraries.
//
//////////////////////////////////////////////////////////////////////////
struct IDataBaseManager
{
//! Clear all libraries.
virtual void ClearAll() = 0;
//////////////////////////////////////////////////////////////////////////
// Library items.
//////////////////////////////////////////////////////////////////////////
//! Make a new item in specified library.
virtual IDataBaseItem* CreateItem( IDataBaseLibrary *pLibrary ) = 0;
//! Delete item from library and manager.
virtual void DeleteItem( IDataBaseItem* pItem ) = 0;
//! Find Item by its GUID.
virtual IDataBaseItem* FindItem( REFGUID guid ) const = 0;
virtual IDataBaseItem* FindItemByName( const CString &fullItemName ) = 0;
//////////////////////////////////////////////////////////////////////////
// Libraries.
//////////////////////////////////////////////////////////////////////////
//! Add Item library.
virtual IDataBaseLibrary* AddLibrary( const CString &library ) = 0;
virtual void DeleteLibrary( const CString &library ) = 0;
//! Get number of libraries.
virtual int GetLibraryCount() const = 0;
//! Get Item library by index.
virtual IDataBaseLibrary* GetLibrary( int index ) const = 0;
//! Find Items Library by name.
virtual IDataBaseLibrary* FindLibrary( const CString &library ) = 0;
//! Load Items library.
virtual IDataBaseLibrary* LoadLibrary( const CString &filename ) = 0;
//! Save all modified libraries.
virtual void SaveAllLibs() = 0;
//! Serialize property manager.
virtual void Serialize( XmlNodeRef &node,bool bLoading ) = 0;
//! Export items to game.
virtual void Export( XmlNodeRef &node ) {};
//! Returns unique name base on input name.
virtual CString MakeUniqItemName( const CString &name ) = 0;
virtual CString MakeFullItemName( IDataBaseLibrary *pLibrary,const CString &group,const CString &itemName ) = 0;
//! Root node where this library will be saved.
virtual CString GetRootNodeName() = 0;
//! Path to libraries in this manager.
virtual CString GetLibsPath() = 0;
//////////////////////////////////////////////////////////////////////////
//! Validate library items for errors.
virtual void Validate() = 0;
// Description:
// Collects names of all resource files used by managed items.
// Arguments:
// resources - Structure where all filenames are collected.
virtual void GatherUsedResources( CUsedResources &resources ) = 0;
};
#endif // __IDataBaseManager_h__

View File

@@ -0,0 +1,35 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IGizmoManager.h
// Version: v1.00
// Created: 4/5/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IGizmoManager_h__
#define __IGizmoManager_h__
#pragma once
class CGizmo;
struct DisplayContext;
struct HitContext;
/** GizmoManager manages set of currently active Gizmo objects.
*/
struct IGizmoManager
{
virtual void AddGizmo( CGizmo *gizmo ) = 0;
virtual void RemoveGizmo( CGizmo *gizmo ) = 0;
virtual void Display( DisplayContext &dc ) = 0;
virtual bool HitTest( HitContext &hc ) = 0;
};
#endif // __IGizmoManager_h__

View File

@@ -0,0 +1,249 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IObjectManager.h
// Version: v1.00
// Created: 4/5/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IObjectManager_h__
#define __IObjectManager_h__
#pragma once
// forward declarations.
struct DisplayContext;
struct IGizmoManager;
class CObjectLayer;
struct IAnimNode;
class CUsedResources;
class CSelectionGroup;
class CObjectLayerManager;
class CObjectClassDesc;
class CObjectArchive;
#include "ObjectEvent.h"
enum SerializeFlags
{
SERIALIZE_ALL = 0,
SERIALIZE_ONLY_SHARED = 1,
SERIALIZE_ONLY_NOTSHARED = 2,
SERIALIZE_IGNORE_EXTERNAL = 4,
};
//////////////////////////////////////////////////////////////////////////
typedef std::vector<CBaseObject*> CBaseObjectsArray;
struct IObjectSelectCallback
{
//! Called when object is selected.
//! Return true if selection should proceed, or false to abort object selection.
virtual bool OnSelectObject( CBaseObject *obj ) = 0;
};
struct ObjectHitInfo
{
CViewport *view; //!< Viewport that originates hit testing.
CCamera *camera; //!< Camera for hit testing (can be NULL).
BBox bounds; //!< World bounds for hit testing (If Camera is NULL).
CPoint point2d; //!< 2D point on view that was use to shoot the ray.
CBaseObject *object; //!< Object that was hit.
int axis; //!< Axis of object that was hit.
float distance; //!< Distance to the hit point.
bool bIgnoreAxis; //! True if axis collision must be ignored.
ObjectHitInfo( CViewport *pView,CPoint point )
{
view = pView;
object = 0;
axis = 0;
point2d = point;
distance = 0;
camera = NULL;
bounds.min=Vec3d(-10000,-10000,-10000);
bounds.max=Vec3d(10000,10000,10000);
bIgnoreAxis = false;
}
};
//////////////////////////////////////////////////////////////////////////
//
// Interface to access editor objects scene graph.
//
//////////////////////////////////////////////////////////////////////////
struct IObjectManager
{
public:
//! This callback will be called on response to object event.
typedef Functor2<CBaseObject*,int> EventCallback;
virtual CBaseObject* NewObject( CObjectClassDesc *cls,CBaseObject *prev=0,const CString &file="" ) = 0;
virtual CBaseObject* NewObject( const CString &typeName,CBaseObject *prev=0,const CString &file="" ) = 0;
virtual CBaseObject* NewObject( CObjectArchive &archive,CBaseObject *pUndoObject=0,bool bMakeNewId=false ) = 0;
virtual void DeleteObject( CBaseObject *obj ) = 0;
virtual void DeleteAllObjects() = 0;
virtual CBaseObject* CloneObject( CBaseObject *obj ) = 0;
virtual void BeginEditParams( CBaseObject *obj,int flags ) = 0;
virtual void EndEditParams( int flags=0 ) = 0;
//! Get number of objects manager by ObjectManager, (not contain sub objects of groups).
virtual int GetObjectCount() const = 0;
//! Get array of objects, managed by manager, (not contain sub objects of groups).
//! @param layer if 0 get objects for all layers, or layer to get objects from.
virtual void GetObjects( CBaseObjectsArray &objects,CObjectLayer *layer=0 ) = 0;
//! Display objects on specified display context.
virtual void Display( DisplayContext &dc ) = 0;
//! Check intersection with objects.
//! Find intersection with nearest to ray origin object hit by ray.
//! If distance tollerance is specified certain relaxation applied on collision test.
//! @return true if hit any object, and fills hitInfo structure.
virtual bool HitTest( Vec3 &raySrc,Vec3 &rayDir,float distanceTollerance,ObjectHitInfo &hitInfo ) = 0;
//! Send event to all objects.
//! Will cause OnEvent handler to be called on all objects.
virtual void SendEvent( ObjectEvent event ) = 0;
//! Send event to all objects within givven bounding box.
//! Will cause OnEvent handler to be called on objects withing bounding box.
virtual void SendEvent( ObjectEvent event,const BBox &bounds ) = 0;
//////////////////////////////////////////////////////////////////////////
//! Find object by ID.
virtual CBaseObject* FindObject( REFGUID guid ) const = 0;
//////////////////////////////////////////////////////////////////////////
//! Find object by name.
virtual CBaseObject* FindObject( const CString &sName ) const = 0;
//////////////////////////////////////////////////////////////////////////
//! Find BaseObject who is owner of specified animation node.
virtual CBaseObject* FindAnimNodeOwner( IAnimNode* node ) const = 0;
//////////////////////////////////////////////////////////////////////////
// Operations on objects.
//////////////////////////////////////////////////////////////////////////
//! Makes object visible or invisible.
virtual void HideObject( CBaseObject *obj,bool hide ) = 0;
//! Freeze object, making it unselectable.
virtual void FreezeObject( CBaseObject *obj,bool freeze ) = 0;
//! Unhide all hidden objects.
virtual void UnhideAll() = 0;
//! Unfreeze all frozen objects.
virtual void UnfreezeAll() = 0;
//////////////////////////////////////////////////////////////////////////
// Object Selection.
//////////////////////////////////////////////////////////////////////////
virtual bool SelectObject( CBaseObject *obj ) = 0;
virtual void UnselectObject( CBaseObject *obj ) = 0;
//! Select objects withing specified distance from givven position.
//! Return number of selected objects.
virtual int SelectObjects( const BBox &box,bool bUnselect=false ) = 0;
//! Selects/Unselects all objects within 2d rectangle in given viewport.
virtual void SelectObjectsInRect( CViewport *view,const CRect &rect,bool bSelect ) = 0;
//! Clear default selection set.
//! @Return number of objects removed from selection.
virtual int ClearSelection() = 0;
//! Deselect all current selected objects and selects object that were unselected.
//! @Return number of selected objects.
virtual int InvertSelection() = 0;
//! Get current selection.
virtual CSelectionGroup* GetSelection() const = 0;
//! Get named selection.
virtual CSelectionGroup* GetSelection( const CString &name ) const = 0;
//! Change name of current selection group.
//! And store it in list.
virtual void NameSelection( const CString &name ) = 0;
//! Set one of name selections as current selection.
virtual void SetSelection( const CString &name ) = 0;
//! Removes one of named selections.
virtual void RemoveSelection( const CString &name ) = 0;
//! Delete all objects in current selection group.
virtual void DeleteSelection() = 0;
//! Generates uniq name base on type name of object.
virtual CString GenUniqObjectName( const CString &typeName ) = 0;
//! Register object name in object manager, needed for generating uniq names.
virtual void RegisterObjectName( const CString &name ) = 0;
//! Enable/Disable generating of unique object names (Enabled by default).
//! Return previous value.
virtual bool EnableUniqObjectNames( bool bEnable ) = 0;
//! Find object class by name.
virtual CObjectClassDesc* FindClass( const CString &className ) = 0;
virtual void GetClassCategories( std::vector<CString> &categories ) = 0;
virtual void GetClassTypes( const CString &category,std::vector<CString> &types ) = 0;
//! Export objects to xml.
//! When onlyShared is true ony objects with shared flags exported, overwise only not shared object exported.
virtual void Export( const CString &levelPath,XmlNodeRef &rootNode,bool onlyShared ) = 0;
//! Serialize Objects in manager to specified XML Node.
//! @param flags Can be one of SerializeFlags.
virtual void Serialize( XmlNodeRef &rootNode,bool bLoading,int flags=SERIALIZE_ALL ) = 0;
//! Load objects from object archive.
//! @param bSelect if set newly loaded object will be selected.
virtual void LoadObjects( CObjectArchive &ar,bool bSelect ) = 0;
virtual void ChangeObjectId( CBaseObject *obj,int newId ) = 0;
virtual void ChangeObjectName( CBaseObject *obj,const CString &newName ) = 0;
//! Convert object of one type to object of another type.
//! Original object is deleted.
virtual bool ConvertToType( CBaseObject *object,ObjectType objectType ) = 0;
//! Set new selection callback.
//! @return previous selection callback.
virtual IObjectSelectCallback* SetSelectCallback( IObjectSelectCallback* callback ) = 0;
// Enables/Disables creating of game objects.
virtual void SetCreateGameObject( bool enable ) = 0;
//! Return true if objects loaded from xml should immidiatly create game objects associated with them.
virtual bool IsCreateGameObjects() const = 0;
virtual IGizmoManager* GetGizmoManager() = 0;
//////////////////////////////////////////////////////////////////////////
//! Get acess to object layers manager.
virtual CObjectLayerManager* GetLayersManager() const = 0;
//////////////////////////////////////////////////////////////////////////
//! Invalidate visibily settings of objects.
virtual void InvalidateVisibleList() = 0;
//////////////////////////////////////////////////////////////////////////
// ObjectManager notification Callbacks.
//////////////////////////////////////////////////////////////////////////
virtual void AddObjectEventListener( const EventCallback &cb ) = 0;
virtual void RemoveObjectEventListener( const EventCallback &cb ) = 0;
//////////////////////////////////////////////////////////////////////////
// Used to indicate starting and ending of objects loading.
//////////////////////////////////////////////////////////////////////////
virtual void StartObjectsLoading( int numObjects ) = 0;
virtual void EndObjectsLoading() = 0;
//////////////////////////////////////////////////////////////////////////
// Gathers all resources used by all objects.
virtual void GatherUsedResources( CUsedResources &resources ) = 0;
};
#endif // __IObjectManager_h__

View File

@@ -0,0 +1,105 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: IPreferencesPage.h
// Version: v1.00
// Created: 28/10/2003 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __IPreferencesPage_h__
#define __IPreferencesPage_h__
#pragma once
#include "Plugin.h"
/*
* IPreferencePage is the interface class for preferences pages.
*/
struct IPreferencesPage
{
virtual void Release() = 0;
//! Return category where this preferences page belongs.
virtual const char* GetCategory() = 0;
//! Title of this preferences page.
virtual const char* GetTitle() = 0;
//! Returns Page window.
virtual CWnd* GetWindow() = 0;
//! Called by the editor when the Apply Now button is clicked.
virtual void OnApply() = 0;
//! Called by the editor when the Cancel button is clicked.
virtual void OnCancel() = 0;
//! Called by the editor when the Cancel button is clicked, and before the cancel has taken place.
//! @return true to perform Cancel operation, false to abort Cancel.
virtual bool OnQueryCancel() = 0;
//! Called by the editor when the preferences page is made the active page or is not longer the active page.
//! @param bActive true when page become active, false when page deactivated.
virtual void OnSetActive( bool bActive ) = 0;
//! Called by the editor when the OK, Apply Now, or Close button is clicked.
virtual void OnOK() = 0;
//! Access to variable block for this preferences page.
virtual CVarBlock* GetVars() = 0;
};
/*! Interface used to create new preferences pages.
You can query this interface from any IClassDesc interface with ESYSTEM_CLASS_PREFERENCE_PAGE system class Id.
*/
struct __declspec( uuid("{D494113C-BF13-4171-9171-0333DF10EAFC}") ) IPreferencesPageCreator
{
//! Get number of preferences page hosted by this class.
virtual int GetPagesCount() = 0;
//! Creates a new preferences page by page index.
//! @param index must be within 0 <= index < GetPagesCount().
virtual IPreferencesPage* CreatePage( int index,const CRect &rc,CWnd *pParentWnd ) = 0;
};
/*
* IPreferencesPageClassDesc is a plugin class description for all IPreferencesPage derived classes.
*/
struct IPreferencesPageClassDesc : public IClassDesc
{
//////////////////////////////////////////////////////////////////////////
// IClassDesc implementation.
//////////////////////////////////////////////////////////////////////////
virtual ESystemClassID SystemClassID() { return ESYSTEM_CLASS_PREFERENCE_PAGE; };
//! This method returns the human readable name of the class.
virtual const char* ClassName() { return "Preferences Page"; };
//! This method returns Category of this class, Category is specifing where this plugin class fits best in
//! create panel.
virtual const char* Category() { return "Preferences"; };
//////////////////////////////////////////////////////////////////////////
//! Show a modal about dialog / message box for the plugin.
virtual void ShowAbout() {};
virtual bool CanExitNow() { return true; };
//! The plugin should write / read its data to the passed stream. The data is saved to or loaded
//! from the editor project file. This function is called during the usual save / load process of
//! the editor's project file
virtual void Serialize( CXmlArchive &ar ) {};
//! Editor can send to class various events.
virtual void Event( EClassEvent event ) {};
};
#endif // __IPreferencesPage_h__

View File

@@ -0,0 +1,61 @@
////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2001-2004.
// -------------------------------------------------------------------------
// File name: ObjectEvent.h
// Version: v1.00
// Created: 13/5/2004 by Timur.
// Compilers: Visual Studio.NET 2003
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __ObjectEvent_h__
#define __ObjectEvent_h__
#pragma once
//! Standart objects types.
enum ObjectType
{
OBJTYPE_GROUP = 1<<0,
OBJTYPE_TAGPOINT = 1<<1,
OBJTYPE_AIPOINT = 1<<2,
OBJTYPE_ENTITY = 1<<3,
OBJTYPE_SHAPE = 1<<4,
OBJTYPE_VOLUME = 1<<5,
OBJTYPE_BRUSH = 1<<6,
OBJTYPE_PREFAB = 1<<7,
OBJTYPE_ANY = 0xFFFFFFFF,
};
//////////////////////////////////////////////////////////////////////////
//! Events that objects may want to handle.
//! Passed to OnEvent method of CBaseObject.
enum ObjectEvent
{
EVENT_INGAME = 1, //!< Signals that editor is switching into the game mode.
EVENT_OUTOFGAME, //!< Signals that editor is switching out of the game mode.
EVENT_REFRESH, //!< Signals that editor is refreshing level.
EVENT_AFTER_LOAD, //!< Signals that editor is finished loading all objects.
EVENT_PLACE_STATIC, //!< Signals that editor needs to place all static objects on terrain.
EVENT_REMOVE_STATIC,//!< Signals that editor needs to remove all static objects from terrain.
EVENT_DBLCLICK, //!< Signals that object have been double clicked.
EVENT_KEEP_HEIGHT, //!< Signals that object must preserve its height over changed terrain.
EVENT_UNLOAD_ENTITY,//!< Signals that entities scripts must be unloaded.
EVENT_RELOAD_ENTITY,//!< Signals that entities scripts must be reloaded.
EVENT_RELOAD_TEXTURES,//!< Signals that all posible textures in objects should be reloaded.
EVENT_RELOAD_GEOM, //!< Signals that all posible geometries should be reloaded.
EVENT_UNLOAD_GEOM, //!< Signals that all posible geometries should be unloaded.
EVENT_MISSION_CHANGE, //!< Signals that mission have been changed.
EVENT_CLEAR_AIGRAPH,//!< Signals that ai graph is about to be deleted.
EVENT_PREFAB_REMAKE,//!< Recreate all objects in prefabs.
EVENT_PHYSICS_GETSTATE,//!< Signals that entities should accept thier phyical state from game.
EVENT_PHYSICS_RESETSTATE,//!< Signals that physics state must be reseted on objects.
};
#endif // __ObjectEvent_h__