conditionmanager.h

来自「墨香完整原代码 C++ 值得研究 可以编译」· C头文件 代码 · 共 58 行

H
58
字号
// ConditionManager.h: interface for the CConditionManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CONDITIONMANAGER_H__B157EBDE_CBE0_4D15_ACC1_C30B2AF718A5__INCLUDED_)
#define AFX_CONDITIONMANAGER_H__B157EBDE_CBE0_4D15_ACC1_C30B2AF718A5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include "ConditionNode.h"
#include "MHFile.h"


#define CONDITIONMGR	CConditionManager::GetInstance()


#define CONDITIONLIST_PATH		"./Resource/Condition_List.txt"

class CConditionNode;


class CConditionManager  
{
public:
	CConditionManager();
	virtual ~CConditionManager();
	GETINSTANCE(CConditionManager)

	void Initial();
	void Release();
	void Process();
	void LoadConditionList();
	void GarbageProcess();
	void AddListFromPool( DWORD id );
	void RemoveListToPool( DWORD id );
protected:
	void ReleaseSubNode( CConditionNode * RootNode );
	void ReleaseSubActionNode( CACTION * RootNode );
	void AddRootNodeInList( CConditionNode * RootNode, DWORD id );
	void LoadRootNodeInfo( CMHFile* fp, CConditionNode* pRootNode );
	void LoadSubNodeInfo( CMHFile* fp, CConditionNode* pNode, CRETURN bCondition );
	void LoadConditionObject( CMHFile* fp, CConditionNode* pNode );

	CYHHashTable<CConditionNode>	m_ConditionList;
	CYHHashTable<CConditionNode>	m_ConditionPoolList;

	//taiyo: CS肺 贸府窍扒 list肺 贸府窍电 鞘夸窃
	DWORD							m_addID;
	DWORD							m_removeID;
	//cPtrList m_ConditionList;
};

#endif // !defined(AFX_CONDITIONMANAGER_H__B157EBDE_CBE0_4D15_ACC1_C30B2AF718A5__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?