#pragma once

#include "MW4Headers.hpp"
#include "MechLab.hpp"

class CampaignMechLab :
	public MechLab
{
	public:
		CampaignMechLab();
		~CampaignMechLab();

	int
		Exit();
	void
		ReInitialize();

	//Chassis Support
	int 
		GetChassis(void *data[], int count);
	int 
		GetMechs(void *data[], int count);
	int
		GetMechCount();
	int
		GetChassisCount();
	int
		SaveMech();
	int
		Restore();
	int
		Rename(void *data[], int count,const char *path=NULL);
	int
		SelectMech(void *data[], int count, const char *path);
	void
		SetUpWorkingMech(Entity *entity);
	int
		CreateNewMech(void *data[], int count, const char *path);
	int
		RemoveEquipmentFromList(Mech *mech);
	void
		AddEquipmentToList(Mech *mech);
	void
		AddSubsystemToMech(int *sub_type, int *zone, int *error);
	int
		AutoAddSubsystem(void *data[], int count);
	void
		RemoveSubsystemFromMech(int *sub_type, int *zone);
	void
		RemoveWeaponFromMech(int *sub_id, int *zone);
	int
		RemoveAllSubsystems();

	//Salvage/Equipment support
	void
		InitializeSubsystemsAvailable();
};
