#pragma once
#include "MapWidget.h"
#include "MapUser.h"
class MapLocation;

class MapLocation : 
	public MapWidget 
{
public:
	MapLocation();
	~MapLocation();

	int UserCount();
	std::wstring UserList(); // returns a comma separated list of users at this location (including those in child locations)
	void RemoveUser(MapUser *);
	void AddUser(MapUser *);
	std::list<MapUser *> users; // the users at this location

	virtual void Show();
	virtual void SetState(AppearanceState s);

	LocationRecord record;
	MapLocation * parent;
	std::list<MapLocation *> children;

private:
	int maxW; // the maximum width of the current column of users at this location
	void UpdateLocationList();
};