struct AgentMap {

	constexpr static Symbol const mszFolder = Symbol("ActorMaps");
	constexpr static Symbol const mszPropertyDefaultValue = Symbol("_agents.amap");
	constexpr static Symbol const kszPropertyKey = Symbol("Agent Map");

	struct AgentMapEntry {
		String mzName;
		String mzActor;
		Set<String> mazModels;
		Set<String> mazGuides;
		Set<String> mazStyleIdles;
	};

	Map<String, AgentMapEntry> maAgents;

	unsigned int GetCRC() {
		unsigned int crc = 0;
		for (auto it = maAgents.begin(); it != maAgents.end(); it++) {
			crc = CRC32(crc, it->second.mzName.c_str(), it->second.mzName.size());
			crc = CRC32(crc, it->second.mzActor.c_str(), it->second.mzActor.size());
			for (auto it2 = it->second.mazModels.begin(); it2 != it->second.mazModels.end(); it2++) {
				crc = CRC32(crc, it2->c_str(), it2->size());
			}
		}
		return crc;
	}

};

#endif