void ProcessTagStructs(BlamLib.CheApe.ProjectState state, IO.XmlStream s) { foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "Struct") { continue; } s.SaveCursor(n); var block = new TagStruct(state, s); s.RestoreCursor(); string name_str = block.ToString(); try { Structs.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag struct definition", name_str); } } }
private void button1_Click(object sender, EventArgs e) { // ftag to .json tagfile. TagData tag_data = new TagData(@"C:\rollrat\"); TagStruct tmp = new TagStruct(); foreach (FTagObject obj in stream.GetObjectList()) { string path = obj.SubPath; if (path.EndsWith("/")) { continue; } tmp.Folder[path.Remove(path.LastIndexOf('/'))][path.Substring(path.LastIndexOf('/') + 1)].Tags = obj.Tags; } tag_data.SetTag(tmp); tag_data.Save(); }
protected override void ProcessDefinition(XmlNode node, BlamLib.CheApe.ProjectState state, BlamLib.IO.XmlStream s) { StringIdFieldsInitialize(state); string name_str; switch (node.Name) { #region Tag Structs case "structs": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "Struct") { continue; } s.SaveCursor(n); TagStruct block = new TagStruct(state, s); s.RestoreCursor(); name_str = block.ToString(); try { Structs.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag struct definition", name_str); } } s.RestoreCursor(); break; #endregion #region Tag Blocks case "blocks": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "TagBlock") { continue; } s.SaveCursor(n); TagBlock block = new TagBlock(state, s); s.RestoreCursor(); name_str = block.ToString(); try { Blocks.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag block definition", name_str); } } s.RestoreCursor(); break; #endregion #region Tag Groups case "groups": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "TagGroup") { continue; } s.SaveCursor(n); TagGroup group = new TagGroup(state, s); s.RestoreCursor(); name_str = group.ToString(); try { Groups.Add(name_str, group); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag group definition", name_str); } } s.RestoreCursor(); break; #endregion } }
protected override void ProcessDefinition(XmlNode node, BlamLib.CheApe.ProjectState state, BlamLib.IO.XmlStream s) { StringIdFieldsInitialize(state); string name_str; switch (node.Name) { #region Tag Structs case "structs": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "Struct") continue; s.SaveCursor(n); TagStruct block = new TagStruct(state, s); s.RestoreCursor(); name_str = block.ToString(); try { Structs.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag struct definition", name_str); } } s.RestoreCursor(); break; #endregion #region Tag Blocks case "blocks": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "TagBlock") continue; s.SaveCursor(n); TagBlock block = new TagBlock(state, s); s.RestoreCursor(); name_str = block.ToString(); try { Blocks.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag block definition", name_str); } } s.RestoreCursor(); break; #endregion #region Tag Groups case "groups": s.SaveCursor(node); foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "TagGroup") continue; s.SaveCursor(n); TagGroup group = new TagGroup(state, s); s.RestoreCursor(); name_str = group.ToString(); try { Groups.Add(name_str, group); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag group definition", name_str); } } s.RestoreCursor(); break; #endregion } }
public async Task CreateTag(string entry, SocketCommandContext Context) { try { if (tagRestrictDict.ContainsKey(Context.Guild.Id)) { GuildPermission permiss; tagRestrictDict.TryGetValue(Context.Guild.Id, out permiss); if (!((SocketGuildUser)Context.User).GuildPermissions.Has(permiss)) { await Context.Channel.SendMessageAsync( ":no_entry_sign: You don't have the Permission to add a Tag!"); return; } } int index = entry.IndexOf('|'); //string[] tag = entry.Split('|'); if (index < 1) { await Context.Channel.SendMessageAsync( $":no_entry_sign: Failed to add tag! Make sure its: `tag | what to do when tag is called`"); return; } string tag1 = entry.Remove(index); string content = entry.Substring(index); //if (tag.Length > 1 && !String.IsNullOrEmpty(tag[0]) && !String.IsNullOrEmpty(tag[1])) if (!String.IsNullOrEmpty(tag1) && !String.IsNullOrEmpty(content.Substring(content.IndexOf('|') + 1).Trim())) { var tag = tag1.ToLower(); if (tag.Trim() == "taglist") { await Context.Channel.SendMessageAsync( $":no_entry_sign: `taglist` is a command and cannot be added as tag! Use any other"); return; } TagStruct tagStruct = new TagStruct { tag = tag.Trim(), value = content.Substring(content.IndexOf('|') + 1).Trim(), creatorID = Context.User.Id }; /* * if (tag.Length > 2) * { * for (int i = 2; i < tag.Length; i++) * { * tagStruct.value += tag[i]; * } * }*/ List <TagStruct> tagList = new List <TagStruct>(); if (tagDict.ContainsKey(Context.Guild.Id)) { tagDict.TryGetValue(Context.Guild.Id, out tagList); foreach (var t in tagList) { if (t.tag.Equals(tagStruct.tag)) { await Context.Channel.SendMessageAsync(":no_entry_sign: Tag already exists!"); return; } } tagList.Add(tagStruct); tagDict.TryUpdate(Context.Guild.Id, tagList); } else { tagList.Add(tagStruct); tagDict.TryAdd(Context.Guild.Id, tagList); } var eb = new EmbedBuilder() { Color = new Color(4, 97, 247), Footer = new EmbedFooterBuilder() { Text = $"Requested by {Context.User.Username}#{Context.User.Discriminator}", IconUrl = (Context.User.GetAvatarUrl()) } }; eb.AddField((x) => { x.Name = "Successfully Added Tag!"; x.IsInline = true; x.Value = $"**Tag**\n" + $"{tagStruct.tag}\n" + $"**Value**\n" + $"{tagStruct.value}"; }); SaveDatabase(); await Context.Channel.SendMessageAsync("", false, eb); } else { await Context.Channel.SendMessageAsync( $":no_entry_sign: Failed to add tag! Make sure its: `tag | what to do when tag is called`"); } } catch (Exception e) { Console.WriteLine(e); await SentryService.SendError(e, Context); } }
void ProcessTagStructs(BlamLib.CheApe.ProjectState state, IO.XmlStream s) { foreach (XmlNode n in s.Cursor.ChildNodes) { if (n.Name != "Struct") continue; s.SaveCursor(n); var block = new TagStruct(state, s); s.RestoreCursor(); string name_str = block.ToString(); try { Structs.Add(name_str, block); } catch (ArgumentException) { Debug.LogFile.WriteLine(CheApe.Import.kDuplicateErrorStr, "tag struct definition", name_str); } } }