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

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

	int Update();

	UserRecord record;

	// The user states
	enum MapUserState {
		unknown,
		activewireless,
		idlewireless,
		activewired,
		idlewired,
		awaywireless,
		awaywired,
		activewirelessbuddy,
		idlewirelessbuddy,
		activewiredbuddy,
		idlewiredbuddy,
		awaywirelessbuddy,
		awaywiredbuddy,
		gone
	};

	MapUserState mus;

	MapLocation * ml;

	// The appearance styles
	static Appearance ActiveWirelessSelf;
	static Appearance IdleWirelessSelf;
	static Appearance ActiveWiredSelf;
	static Appearance IdleWiredSelf;
	static Appearance AwayWiredSelf;
	static Appearance AwayWirelessSelf;
	
	static Appearance ActiveWireless;
	static Appearance IdleWireless;
	static Appearance ActiveWired;
	static Appearance IdleWired;
	static Appearance AwayWireless;
	static Appearance AwayWired;

	static Appearance ActiveWirelessBuddy;
	static Appearance IdleWirelessBuddy;
	static Appearance ActiveWiredBuddy;
	static Appearance IdleWiredBuddy;
	static Appearance AwayWiredBuddy;
	static Appearance AwayWirelessBuddy;

	static void LoadStyles(const char * base);

	virtual void SetState(AppearanceState s);
};