DragonNest/Common/EternityEngineSrv/EternityEngine.cpp
2024-12-20 16:56:44 +08:00

81 lines
No EOL
3.5 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#include "Stdafx.h"
#include "EternityEngine.h"
#include "EtEngine.h"
#include "EtLoader.h"
#include "EtObject.h"
#include "EtAniObject.h"
namespace EternityEngine {
EtResourceHandle LoadMesh( CMultiRoom *pRoom, const char *pFileName )
{
return LoadResource( pRoom, pFileName, RT_MESH );
}
EtResourceHandle LoadAni( CMultiRoom *pRoom, const char *pFileName )
{
return LoadResource( pRoom, pFileName, RT_ANI );
}
EtResourceHandle LoadSkin( CMultiRoom *pRoom, const char *pFileName )
{
return LoadResource( pRoom, pFileName, RT_SKIN );
}
EtObjectHandle CreateStaticObject( CMultiRoom *pRoom, const char *pSkinName )
{
EtResourceHandle hSkin;
CEtObject *pObject;
hSkin = LoadSkin( pRoom, pSkinName );
if( !hSkin ) return CEtObject::Identity();
pObject = new IBoostPoolEtObject( pRoom );
pObject->Initialize( hSkin );
return pObject->GetMySmartPtr();
}
EtAniObjectHandle CreateAniObject( CMultiRoom *pRoom, const char *pSkinName, const char *pAniName )
{
EtSkinHandle hSkin;
EtAniHandle hAni;
CEtAniObject *pObject;
hSkin = LoadSkin( pRoom, pSkinName );
if( !hSkin ) return CEtAniObject::Identity();
if( pAniName ) {
hAni = LoadAni( pRoom, pAniName );
if( !hAni )
{
hSkin->Release();
return CEtAniObject::Identity();
}
}
pObject = new CEtAniObject( pRoom );
pObject->Initialize( hSkin, hAni );
return pObject->GetMySmartPtr();
}
EtTerrainHandle CreateTerrain( CMultiRoom *pRoom, STerrainInfo *pTerrainInfo )
{
CEtTerrainArea *pTerrain;
pTerrain = new CEtTerrainArea( pRoom );
pTerrain->Initialize( pTerrainInfo );
return pTerrain->GetMySmartPtr();
}
}