private OSDMap CreateEvent(OSDMap map)
{
OSDMap resp = new OSDMap(1);
IDirectoryServiceConnector directory = Aurora.DataManager.DataManager.RequestPlugin<IDirectoryServiceConnector>();
if (directory != null && (
map.ContainsKey("Creator") &&
map.ContainsKey("Region") &&
map.ContainsKey("Date") &&
map.ContainsKey("Cover") &&
map.ContainsKey("Maturity") &&
map.ContainsKey("EventFlags") &&
map.ContainsKey("Duration") &&
map.ContainsKey("Position") &&
map.ContainsKey("Name") &&
map.ContainsKey("Description") &&
map.ContainsKey("Category")
)){
EventData eventData = directory.CreateEvent(
map["Creator"].AsUUID(),
map["Region"].AsUUID(),
map.ContainsKey("Parcel") ? map["Parcel"].AsUUID() : UUID.Zero,
map["Date"].AsDate(),
map["Cover"].AsUInteger(),
(EventFlags)map["Maturity"].AsUInteger(),
map["EventFlags"].AsUInteger() | map["Maturity"].AsUInteger(),
map["Duration"].AsUInteger(),
Vector3.Parse(map["Position"].AsString()),
map["Name"].AsString(),
map["Description"].AsString(),
map["Category"].AsString()
);
if (eventData != null)
{
resp["Event"] = eventData.ToOSD();
}
}
return resp;
}