private static void CacheGroupRoles(object sender, GroupRolesDataReplyEventArgs e) { //MHE(MessageHandler.Destinations.DEST_LOCAL, UUID.Zero, "[debug] role_reply"); if (!Directory.Exists("BotData/zGroupCache")) { Directory.CreateDirectory("BotData/zGroupCache"); // this should be purged at every bot restart!!! } //MHE(MessageHandler.Destinations.DEST_LOCAL, UUID.Zero, "[debug] generating groupcache file"); zGroupCaches newCache = new zGroupCaches(); zGroupCaches.GroupMemoryData gmd = new zGroupCaches.GroupMemoryData(); foreach (KeyValuePair <UUID, GroupRole> roleData in e.Roles) { gmd.roleID = roleData.Value.ID; gmd.RoleName = roleData.Value.Name; gmd.Title = roleData.Value.Title; gmd.Powers = roleData.Value.Powers; newCache.GMD.Add(gmd); } newCache.GroupID = e.GroupID; newCache.Save(e.GroupID.ToString()); RoleReply.Set(); FileInfo fi = new FileInfo("BotData/zGroupCache/" + e.GroupID.ToString() + ".json"); //MHE(MessageHandler.Destinations.DEST_LOCAL, UUID.Zero, "[debug] Roles for secondlife:///app/group/" + e.GroupID.ToString() + "/about have been saved to: GroupCache/" + e.GroupID.ToString() + ".bdf\nFileSize: "+fi.Length.ToString(), 55); }
public static zGroupCaches Reload(string CustomName) { if (!File.Exists("BotData/zGroupCache/" + CustomName + ".json")) { return(new zGroupCaches()); } SerialManager sm = new SerialManager(); zGroupCaches ocb = sm.Read <zGroupCaches>("zGroupCache/" + CustomName); if (ocb == null) { return(new zGroupCaches()); } return(ocb); }