/*///////////////////////////////////////////////////////////*/
/*															//*/
/*		Always Active Characters                            //*/
/*															//			   */
/* File Name	: AlwAct.h									//*/
/* Date			: 21/10/97									//*/
/* Author		: FRB               						//*/
/*															//*/
/*///////////////////////////////////////////////////////////*/
/*
*=======================================================================
Modifications: New LST_M_??? Macros / Michaël / 070297
*=======================================================================*/
#ifndef __ALWACT_H__
#define __ALWACT_H__
 
/******************************************/
#if _MSC_VER >= 1000
#pragma once
#endif /* _MSC_VER >= 1000 */
/******************************************/
 
#include "GAM/Header.h"
 
#if defined(__cplusplus)
extern "C"
{
#endif /* __cplusplus */
 
/* ================================================================ */
#if defined(D_AlwAct_StructureDefine)
 
typedef struct tdstAlwaysActiveCharacter_
{
 HIE_tdxHandleToSuperObject hAlwActSuperObject; 
 LST2_M_DynamicElementDeclaration(tdxHandleToAlwaysActiveCharacterNode)
} tdstAlwaysActiveCharacter;
 
#endif /*D_AlwAct_StructureDefine*/
 
/* Read-write accessors*/
extern CPA_EXPORT HIE_tdxHandleToSuperObject fn_hGetCharacterInAlwaysActiveCharacterNode(tdxHandleToAlwaysActiveCharacterNode hCharNode);
extern CPA_EXPORT void fn_vSetCharacterInAlwaysActiveCharacterNode(tdxHandleToAlwaysActiveCharacterNode hCharNode,HIE_tdxHandleToSuperObject hCharacter);
 
 
extern CPA_EXPORT void fn_vAddCharacterInAlwaysActiveCharacterList(HIE_tdxHandleToSuperObject hCharacter);
extern CPA_EXPORT void fn_vRemoveCharacterFromAlwaysActiveCharacterList(HIE_tdxHandleToSuperObject hCharacter);
extern CPA_EXPORT ACP_tdxBool fn_bGetIfCharacterIsInAlwaysActiveCharacterList(HIE_tdxHandleToSuperObject hCharacter);
 
 
/* list */
extern CPA_EXPORT tdxHandleToAlwaysActiveCharacterNode fn_hGetFirstAlwaysActiveCharNode();
extern CPA_EXPORT tdxHandleToAlwaysActiveCharacterNode fn_hGetNextAlwaysActiveCharNode(tdxHandleToAlwaysActiveCharacterNode hCharNode);
#define M_ForEachAlwaysActiveCharacterNode(_hCharNode,_i) \
for														\
(														\
	_i=0,(_hCharNode)=fn_hGetFirstAlwaysActiveCharNode();		\
	_hCharNode;									\
	_i++,(_hCharNode)=fn_hGetNextAlwaysActiveCharNode(_hCharNode)			\
)
 
 
 
#if defined(__cplusplus)
}
#endif /* __cplusplus */
 
#endif /* __ALWACT_H__ */
