#include "ExCFluxAction.h"

ExCFluxAction::ExCFluxAction()
{
Guard(ExCFluxAction::ExCFluxAction())
UnGuard
}

ExCFluxAction::~ExCFluxAction()
{
Guard(ExCFluxAction::~ExCFluxAction())
UnGuard
}

void ExCFluxAction::Push(ExCAction Action)
{
Guard(void ExCFluxAction::Push(ExCAction Action))
	m_VecAction.push_back(Action);
UnGuard
}

ExCAction ExCFluxAction::Pop(void)
{
Guard(ExCAction ExCFluxAction::Pop(void))

	if(m_VecAction.size()>0)
	{
		std::vector<ExCAction>::iterator	m_ItVecAction;
		m_ItVecAction=m_VecAction.begin();
		ExCAction retAction(m_ItVecAction->m_Action);
		retAction.m_Param=m_ItVecAction->m_Param;
		retAction.m_ExecutingLife=m_ItVecAction->m_ExecutingLife;
		m_VecAction.erase(m_ItVecAction);
		return retAction;
	}else return ExCAction(0);
UnGuard
}

int ExCFluxAction::GetSize(void)
{
Guard(int ExCFluxAction::GetSize(void))
	return m_VecAction.size();
UnGuard
}