vimage.Config.WriteContextMenuItems C# (CSharp) Method

WriteContextMenuItems() private method

private WriteContextMenuItems ( StreamWriter writer, List items, int depth = 1 ) : void
writer StreamWriter
items List
depth int
return void
        private void WriteContextMenuItems(StreamWriter writer, List<object> items, int depth = 1)
        {
            if (items == null)
                return;

            for (int i = 0; i < items.Count; i++)
            {
                writer.Write(VariableAmountOfStrings(depth, "\t"));

                if (items[i] is string)
                {
                    // Submenu
                    writer.Write((items[i] as string) + Environment.NewLine + VariableAmountOfStrings(depth, "\t") + "{" + Environment.NewLine);
                    i++;
                    WriteContextMenuItems(writer, items[i] as List<object>, depth + 1);
                    writer.Write(VariableAmountOfStrings(depth, "\t") + "}" + Environment.NewLine);
                }
                else
                {
                    // Item
                    string itemName = (items[i] as dynamic).name as string;
                    string itemFunc = MenuFuncs.WithSpaces((items[i] as dynamic).func as string);
                    if (itemFunc.Equals("-"))
                        writer.Write("-" + Environment.NewLine);
                    else if (itemName.Equals(""))
                        writer.Write(": " + itemFunc + Environment.NewLine);
                    else
                        writer.Write(itemName + " : " + itemFunc + Environment.NewLine);
                }
            }
        }