public BlocksGroup(Block.Roles role, int group, int version = -1, List <Block> blocks = null) { Role = role; Group = group; Version = version == -1 ? CurrentVersion : version; Blocks = blocks == null ? new List <Block>() : blocks; }
private void AddFromXML(XElement blocks, Block.Roles role) { Version = (int)blocks.Attribute("Version"); int group = (int)blocks.Attribute("Group"); foreach (var b in blocks.Elements("Block")) { Block block = new Block(b, role, group); blocksDict.Add(block.Position, block); } }
private void AddFromBase64(string base64, Block.Roles role, int group) { Version = CurrentVersion; if (base64 == "") { return; } try { using (BinaryReader streamReader = new BinaryReader(new MemoryStream(Convert.FromBase64String(base64)))) { Version = streamReader.ReadInt32(); int blocks_count = streamReader.ReadInt32(); for (int i = 0; i < blocks_count; i++) { Block b = new Block(streamReader, role, group); blocksDict.Add(b.Position, b); } } } catch { } }
public string ToBase64(Block.Roles role) { return(String.Join("#", blocksGroups.Where(i => i.Role == role).Select(i => i.ToBase64()))); }