123
This commit is contained in:
83
Editor/EntityPrototypeManager.cpp
Normal file
83
Editor/EntityPrototypeManager.cpp
Normal file
@@ -0,0 +1,83 @@
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2002.
|
||||
// -------------------------------------------------------------------------
|
||||
// File name: entityprototypemanager.cpp
|
||||
// Version: v1.00
|
||||
// Created: 22/1/2003 by Timur.
|
||||
// Compilers: Visual Studio.NET
|
||||
// Description:
|
||||
// -------------------------------------------------------------------------
|
||||
// History:
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "StdAfx.h"
|
||||
#include "EntityPrototypeManager.h"
|
||||
|
||||
#include "EntityPrototype.h"
|
||||
#include "EntityPrototypeLibrary.h"
|
||||
|
||||
#define ENTITY_LIBS_PATH "Editor\\EntityLibrary\\"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// CEntityPrototypeManager implementation.
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CEntityPrototypeManager::CEntityPrototypeManager()
|
||||
{
|
||||
m_libsPath = ENTITY_LIBS_PATH;
|
||||
|
||||
m_pLevelLibrary = (CBaseLibrary*)AddLibrary( "Level" );
|
||||
m_pLevelLibrary->SetLevelLibrary( true );
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CEntityPrototypeManager::~CEntityPrototypeManager()
|
||||
{
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
void CEntityPrototypeManager::ClearAll()
|
||||
{
|
||||
CBaseLibraryManager::ClearAll();
|
||||
|
||||
m_pLevelLibrary = (CBaseLibrary*)AddLibrary( "Level" );
|
||||
m_pLevelLibrary->SetLevelLibrary( true );
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CEntityPrototype* CEntityPrototypeManager::LoadPrototype( CEntityPrototypeLibrary *pLibrary,XmlNodeRef &node )
|
||||
{
|
||||
assert( pLibrary );
|
||||
assert( node != NULL );
|
||||
|
||||
CBaseLibraryItem::SerializeContext ctx(node,true);
|
||||
ctx.bCopyPaste = true;
|
||||
|
||||
CEntityPrototype* prototype = new CEntityPrototype;
|
||||
pLibrary->AddItem( prototype );
|
||||
prototype->Serialize( ctx );
|
||||
return prototype;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CBaseLibraryItem* CEntityPrototypeManager::MakeNewItem()
|
||||
{
|
||||
return new CEntityPrototype;
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CBaseLibrary* CEntityPrototypeManager::MakeNewLibrary()
|
||||
{
|
||||
return new CEntityPrototypeLibrary(this);
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CString CEntityPrototypeManager::GetRootNodeName()
|
||||
{
|
||||
return "EntityPrototypesLibs";
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
CString CEntityPrototypeManager::GetLibsPath()
|
||||
{
|
||||
return m_libsPath;
|
||||
}
|
||||
Reference in New Issue
Block a user