using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HaloObjects;

namespace HaloPlugins.Xbox
{
    public class wigl
    {
       public List<MetaNode> Fields = new List<MetaNode>();

       public wigl()
       {
           Fields.AddRange(new MetaNode[] {
           new Unused(68),
           new Value("Unknown", typeof(float)),
           new Value("Auto typing text: time", typeof(short)),
           new Value("Auto typing text: words per line", typeof(short)),
           new Value("Auto typing text: size", typeof(float)),
           new Value("Auto typing text: Alpha?", typeof(float)),
           new Value("Red", typeof(float)),
           new Value("Green", typeof(float)),
           new Value("Blue", typeof(float)),
           new Value("Unknown", typeof(float)),
           new Value("Blur blending speedUnknown", typeof(float)),
           new Value("Blur blending speedUnknown", typeof(float)),
           new Value("Blur color opacity", typeof(float)),
           new Value("Blur Red", typeof(float)),
           new Value("Blur Green", typeof(float)),
           new Value("Blur Blue", typeof(float)),
           new Value("Unused", typeof(float)),
           new Value("Unused", typeof(float)),
           new Value("Unused", typeof(float)),
           new Reflexive("Dialogs", 40, new MetaNode[] { 
               new StringID("Dialog Group"),
               new Value("Unused", typeof(short)),
               new Value("Window type? (wgit palette)", typeof(short)),
               new TagReference("Unic_Text"),
               new StringID("Default Header"),
               new StringID("Default Content"),
               new StringID("Option 1"),
               new StringID("Option 2"),
               new Reflexive("Variations", 24, new MetaNode[] { 
                   new Value("", typeof(short)),
                   new Value("", typeof(short)),
                   new Value("", typeof(short)),
                   new Value("", typeof(short)),
                   new StringID("Header"),
                   new StringID("Content"),
                   new StringID("Option 1"),
                   new StringID("Option 2"),
               }),
           }),
           new TagReference("Selection_Change_Sound_1"),
           new TagReference("Forward_Sound_1"),
           new TagReference("Unknown"),
           new TagReference("Advance_Sound"),
           new TagReference("Back_Sound"),
           new TagReference("Shortcut_Sound"),
           new TagReference("Selection_Change_Sound_2"),
           new TagReference("Keyboard_Click_Sound"),
           new TagReference("Message_Recieved_Sound"),
           new TagReference("Forward_Sound_2"),
           new TagReference("Countdown_Sound"),
           new TagReference("Unused"),
           new TagReference("Pickup_Health_Sound"),
           new TagReference("Unused"),
           new TagReference("Unused"),
           new TagReference("Unused"),
           new TagReference("Global_Bitmaps"),
           new TagReference("Global_Unic"),
           new Reflexive("Virtual Keyboard Buttons settings", 44, new MetaNode[] { 
               new Value("Unused", typeof(short)),
               new Value("Unused", typeof(short)),
               new Value("Selected button Brightness", typeof(short)),
               new Value("Unused", typeof(short)),
               new Reflexive("Button switching effects", 20, new MetaNode[] { 
                   new Value("Unused", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
               }),
               new Value("Selected button Brightness", typeof(short)),
               new Value("Unused", typeof(short)),
               new Reflexive("Button switching effects", 20, new MetaNode[] { 
                   new Value("Unused", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unknown", typeof(float)),
               }),
               new Value("Unknown", typeof(short)),
               new Value("Unused", typeof(short)),
               new Value("Unknown", typeof(short)),
               new Value("Unused", typeof(short)),
               new Reflexive("Unused", 20, new MetaNode[] { 
                   new Value("Unused", typeof(float)),
                   new Value("Unused", typeof(float)),
                   new Value("Unused", typeof(float)),
                   new Value("Unused", typeof(float)),
                   new Value("Unused", typeof(float)),
               }),
           }),
           new Unused(8),
           new Reflexive("Button effects?", 16, new MetaNode[] { 
               new Value("Unused", typeof(short)),
               new Value("Unused", typeof(short)),
               new Value("Brightness", typeof(short)),
               new Value("Unused", typeof(short)),
               new Reflexive("Button switching effects?", 20, new MetaNode[] { 
                   new Value("Unknown", typeof(short)),
                   new Value("Unused", typeof(short)),
                   new Value("Unknown", typeof(float)),
                   new Value("Unused", typeof(float)),
                   new Value("Unused", typeof(float)),
                   new Value("Unknown", typeof(float)),
               }),
           }),
           new Reflexive("Buttons Palette", 8, new MetaNode[] { 
               new TagReference("Skin"),
           }),
           new TagReference("Keyboard_strings"),
           new TagReference("Built-in_Gametype_Names"),
           new TagReference("Unused"),
           new Reflexive("Unknown", 4, new MetaNode[] { 
               new Value("Unknown", typeof(short)),
               new Value("Unknown", typeof(short)),
           }),
           new Value("Main window Header text #Font type#", typeof(short)),
           new Value("Pop up window Header text #Font type#", typeof(short)),
           new Value("Pop up window Confirmation dialog Header text #Font type#", typeof(short)),
           new Value("Unknown Header Fontype", typeof(short)),
           new Value("Unknown Header Fontype", typeof(float)),
           new Value("Red Header Tittle", typeof(float)),
           new Value("Green Header Tittle", typeof(float)),
           new Value("Blue Header Tittle", typeof(float)),
           new Value("Main Window Header text Coord Y", typeof(short)),
           new Value("Main window Header text Coord X", typeof(short)),
           new Value("Pop up window Confirmation dialog Header text Coord X", typeof(short)),
           new Value("Pop up window Confirmation dialog Header text Coord X", typeof(short)),
           new Value("Main window Buttons Coord Y", typeof(short)),
           new Value("Main window Buttons Coord x", typeof(short)),
           new Value("Main window Buttons Coord Y", typeof(short)),
           new Value("Main window Buttons Coord X", typeof(short)),
           new Value("Game setup Header text Coord Y", typeof(short)),
           new Value("Game setup Header text Coord X", typeof(short)),
           new Value("Pop up Confirmation dialog Header text Coord Y", typeof(short)),
           new Value("Pop up Confirmation dialog Header text Coord X", typeof(short)),
           new Value("Game setup Buttons Coord Y", typeof(short)),
           new Value("Game setup Buttons Coord X", typeof(short)),
           new Value("Keyboard window Buttons Coord Y", typeof(short)),
           new Value("Keyboard window Buttons Coord X", typeof(short)),
           new Value("Unknown Header text coords Y", typeof(short)),
           new Value("Unknown Header text coords X", typeof(short)),
           new Value("Unknown Header text coords Y", typeof(short)),
           new Value("Unknown Header text coords X", typeof(short)),
           new Value("Unknown Button coords Y", typeof(short)),
           new Value("Unknown Button coords X", typeof(short)),
           new Value("Campaign/gametype settings Pop Up dialog Button Y", typeof(short)),
           new Value("Campaign/gametype settings Pop Up dialog Button X", typeof(short)),
           new Value("Pop Up confirmation dialog Header Text Y", typeof(short)),
           new Value("Pop Up confirmation dialog Header Text X", typeof(short)),
           new Value("Unknown Header text coords Y", typeof(short)),
           new Value("Unknown Header text coords X", typeof(short)),
           new Value("Unknown Button coords Y", typeof(short)),
           new Value("Unknown Button coords X", typeof(short)),
           new Value("Pop up Confirmation dialog Button Coord Y", typeof(short)),
           new Value("Pop up Confirmation dialog Button Coord X", typeof(short)),
           new TagReference("Music"),
           new Value("Music duration time?", typeof(uint)),
           });
       }
    }
}
