Example #1
0
        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);
        }
Example #2
0
        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);
        }