
int g_Frame_Array[100] = {0};//save the current frame
int g_Current_Frame_Index = 0;//the current frame index in the Frame_Array
int g_Target_Frame = 0;//remember the target frame


/////////////////////////////////////////////////////////////////////////////
//the frame creater
void Create_Current_Frame(int _Current_Frame_Index);
//destroy Current Frame
void Destroy_Current_Frame(int _Current_Frame_Index);

//set the next frame
void Set_Next_Frame(int kind);
//change current frame
void Change_Current_Frame(int kind);
//back to the pre frame
void Back_To_Pre_Frame();
//reset the frame 
void Reset_Frame();
//back to the target frame
void Back_To_Target_Frame(int frameType);
/////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////
////函数：Create_Current_Frame
////功能：根据框架类型创建场景
////参数：当前框架下标
////返回：
////注释：the frame creater
/////////////////////////////////////////////////////////////////
void Create_Current_Frame(int _Current_Frame_Index)
{
    switch(g_Frame_Array[_Current_Frame_Index])
    {
		/*Create*/
    }
}

/////////////////////////////////////////////////////////////////
////函数：Destroy_Current_Frame
////功能：销毁当前框架
////参数：框架下标
////返回：
////注释：destroy Current Frame
/////////////////////////////////////////////////////////////////
//destroy Current Frame
void Destroy_Current_Frame(int _Current_Frame_Index)
{
    switch(g_Frame_Array[_Current_Frame_Index])
    {
		/*Destroy*/
    }
}

/////////////////////////////////////////////////////////////////
////函数：Set_Next_Frame
////功能：设置下一个框架
////参数：框架类型
////返回：
////注释：set the next frame
/////////////////////////////////////////////////////////////////
//set the next frame
void Set_Next_Frame(int _kind)
{
    //Destroy_Current_Frame(Current_Frame_Index);
    g_Current_Frame_Index++;
    g_Frame_Array[g_Current_Frame_Index] = _kind;
}

/////////////////////////////////////////////////////////////////
////函数：Change_Current_Frame
////功能：改变当前框架
////参数：框架类型
////返回：
////注释：change current frame
/////////////////////////////////////////////////////////////////
//change current frame 
void Change_Current_Frame(int _kind)
{
    //Destroy_Current_Frame(Current_Frame_Index);
    g_Frame_Array[g_Current_Frame_Index] = _kind;
}

/////////////////////////////////////////////////////////////////
////函数：Back_To_Pre_Frame
////功能：返回前一个框架
////参数：
////返回：
////注释：back to the pre frame
/////////////////////////////////////////////////////////////////
//back to the pre frame
void Back_To_Pre_Frame()
{
    //Destroy_Current_Frame(Current_Frame_Index);
    g_Frame_Array[g_Current_Frame_Index] = Frame_None;
    g_Current_Frame_Index--;
	
	if(g_Current_Frame_Index < 0)
	{
		g_Current_Frame_Index = 0;
	}
}

/////////////////////////////////////////////////////////////////
////函数：Reset_Frame
////功能：重置框架
////参数：
////返回：
////注释：reset the frame
/////////////////////////////////////////////////////////////////
//reset the frame
void Reset_Frame()
{
    //Destroy_Current_Frame(Current_Frame_Index);
    memset(g_Frame_Array, 0, sizeof(g_Frame_Array));
    g_Current_Frame_Index = 0;
} 

/////////////////////////////////////////////////////////////////
////函数：Back_To_Target_Frame
////功能：找到到目标框架
////参数：框架类型
////返回：
////注释：back to the target frame
/////////////////////////////////////////////////////////////////
//back to the target frame
void Back_To_Target_Frame(int _frameType)
{
    int index = g_Current_Frame_Index;
   // Destroy_Current_Frame(Current_Frame_Index);
	for (index = g_Current_Frame_Index; index > 0; index--)
	{
		if (g_Frame_Array[index] == _frameType) 
		{
			g_Current_Frame_Index = index;
			return;
		}
		Destroy_Current_Frame(index); 
		g_Frame_Array[index] = Frame_None;
	}
	g_Current_Frame_Index = index;
}