• 注册
欢迎加入behaviac Q&A网站。behaviac是腾讯开源组件https://github.com/TencentOpen/behaviac 官方网站:http://www.behaviac.com/,提供各种文档和教程及手册 为了您及时的获得您最新问题的评论或者回答,请提供并验证您的邮箱

自定义文件读取

0 喜欢 0 不喜欢
63 浏览
目前加载行为树的时候,behaviac是通过Workspace::Load或Agent::btload来处理的。我如果需要加密解密等的处理,怎么实现自己读取文件呢?
最新提问 6月 7, 2016 用户: jonygli (58,290 分)

1个回答

0 喜欢 0 不喜欢

可以通过重载behaviac::CFileManager。

class CFileManager_Test : public behaviac::CFileManager
{
public:
    BEHAVIAC_DECLARE_MEMORY_OPERATORS(CFileManager_Test);

	CFileManager_Test() : behaviac::CFileManager()
    {
    }

    virtual ~CFileManager_Test()
    {
    }

	virtual behaviac::IFile* FileOpen(const char* fileName, behaviac::CFileSystem::EOpenAccess iOpenAccess = behaviac::CFileSystem::EOpenAccess_Read)
    {
		return behaviac::CFileManager::FileOpen(fileName, iOpenAccess);
    }

	virtual void FileClose(behaviac::IFile* file)
    {
		return behaviac::CFileManager::FileClose(file);
    }
};

而使用的时候如下所示:

	
behaviac::CFileManager* pFileManager = BEHAVIAC_NEW CFileManager_Test();

behaviac::IFile* fp = behaviac::CFileManager::GetInstance()->FileOpen("../inc/behaviac/behaviac.h");
CHECK_NOT_EQUAL(0, fp);
behaviac::CFileManager::GetInstance()->FileClose(fp);

BEHAVIAC_DELETE(pFileManager);

 

最新回答 6月 7, 2016 用户: jonygli (58,290 分)
...