#ifndef EDACQUERY_HPP
#define EDACQUERY_HPP
	
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

class CPA_EdIR_DesignerVariableList;
class	CPA_EdIR_DesignerVariablesView;
class CTL_Editor_DataList;
class CTL_Editor_ControlList;
class CPA_EdIR_Brain;
class	CPA_Actor;

//Designer Variable List
CPA_EdIR_DesignerVariableList *EDAC_fn_pclGetNewDesignerVariableList();
void													EDAC_fn_vDeleteDesignerVariableList(CPA_EdIR_DesignerVariableList *pclListOfDesignerVariables);

//Designer Variable View
void					EDAC_fn_vDesignerVariableView_UpdateDisplayWithValues(CPA_EdIR_DesignerVariablesView *,CTL_Editor_DataList *);
void					EDAC_fn_vDesignerVariableView_UpdateDisplay(CPA_EdIR_DesignerVariablesView *);
void					EDAC_fn_vDesignerVariableView_UpdateState(CPA_EdIR_DesignerVariablesView *, BOOL);
void					EDAC_fn_vDesignerVariableView_UpdateControls(CPA_EdIR_DesignerVariablesView *,CTL_Editor_ControlList *);
long					EDAC_fn_lDesignerVariableView_GetOldHeight(CPA_EdIR_DesignerVariablesView *);
void					EDAC_fn_vDesignerVariableView_SetOldHeight(CPA_EdIR_DesignerVariablesView *,long);
CRuntimeClass	*EDAC_fn_pclDesignerVariableView_GetRuntimeClass();

//Brain
CPA_EdIR_Brain	*EDAC_fn_pclGetNewBrain(CPA_Actor *);
CPA_EdIR_Brain	*EDAC_fn_pclGetNewCopyOfBrain(CPA_Actor *,CPA_EdIR_Brain *);
void						EDAC_fn_vDeleteBrain(CPA_EdIR_Brain *);
void						EDAC_fn_vShowBrain(CPA_EdIR_Brain *);
void						EDAC_fn_vLoadBrain(CPA_Actor *,CString);
// Shaitan => optimisation lists in the level
void						EDAC_fn_vProcessBrain(CPA_Actor *,CPA_Actor *,BOOL);
// End Shaitan => optimisation lists in the level
void						EDAC_fn_vSaveInitValuesInBrainMS(CPA_Actor *,struct SCR_tdst_File_Description_ *);
BOOL						EDAC_fn_bMustSaveAIEntryInModel(CPA_EdIR_Brain *);

//AI Editor
void						EDAC_fn_vShowAIEditor();
void						EDAC_fn_vHideAIEditor();
void						EDAC_fn_vOnLostFocusAIEditor();

#endif //EDACQUERY_HPP
