{
  cooldown: 0.0,
  areas: [
    {
      name: "ANYWHERE",
      rect: { x: 0, y: 0, w: 100, h: 100 },
      model: "*FILLAREA*",
      activeAreaColor: "REF: clr_menuBKG",
      isEnterable: 1
    },
    {
      name: "TITLE",
      rect: { x: 5, y:3 , w: 90, h: 10 },
      areaColor: "",
      activeAreaColor: "",
      model: "CONTROLS",
      material: "REF: mat_menuTitle",
      isEnterable: 0
    },
    {
      name: "UP",
      rect: { x: 10, y:15 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<UP",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_UP",
      rect: { x: 40, y:15 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_UP]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_UP",
      rect: { x: 60, y:15 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_UP]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_UP",
      rect: { x: 81, y:15 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_UP]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "DN",
      rect: { x: 10, y:24 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<DOWN",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_DN",
      rect: { x: 40, y:24 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_DN]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_DN",
      rect: { x: 60, y:24 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_DN]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_DN",
      rect: { x: 81, y:24 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_DN]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "LF",
      rect: { x: 10, y:33 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<LEFT",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_LF",
      rect: { x: 40, y:33 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_LF]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_LF",
      rect: { x: 60, y:33 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_LF]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_LF",
      rect: { x: 81, y:33 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_LF]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "RT",
      rect: { x: 10, y:42 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<RIGHT",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_RT",
      rect: { x: 40, y:42 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_RT]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_RT",
      rect: { x: 60, y:42 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_RT]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_RT",
      rect: { x: 81, y:42 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_RT]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "ACT0",
      rect: { x: 10, y:51 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<PUNCH",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_ACT0",
      rect: { x: 40, y:51 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_ACT0]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_ACT0",
      rect: { x: 60, y:51 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_ACT0]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_ACT0",
      rect: { x: 81, y:51 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_ACT0]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "ACT1",
      rect: { x: 10, y:60 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<SHIELD",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_ACT1",
      rect: { x: 40, y:60 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_ACT1]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_ACT1",
      rect: { x: 60, y:60 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_ACT1]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_ACT1",
      rect: { x: 81, y:60 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_ACT1]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "ACT2",
      rect: { x: 10, y:69 , w: 25, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "$<POWER-UP",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "K_ACT2",
      rect: { x: 40, y:69 , w: 16, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[KEY_ACT2]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "M_ACT2",
      rect: { x: 60, y:69 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[MOUSE_ACT2]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "J_ACT2",
      rect: { x: 81, y:69 , w: 17, h: 8 },
      areaColor: "",
      activeAreaColor: "",
      model: "[JPAD_ACT2]",
      material: "REF: mat_menuOpt3",
      isEnterable: 0
    },
    {
      name: "DEFAULTS",
      rect: { x: 30, y:78 , w: 40, h: 8 },
      areaColor: "REF: clr_menuCLR",
      activeAreaColor: "REF: clr_menuATV",
      model: "DEFAULTS",
      material: "REF: mat_menuOpt4",
      isEnterable: 1
    },
    {
      name: "BACK",
      rect: { x: 30, y: 88, w: 40, h: 10 },
      activeAreaColor: "REF: clr_menuATV",
      areaColor: "REF: clr_menuCLR",
      model: "BACK",
      material: "REF: mat_menuOpt5",
      isEnterable: 1
    },
  ],
  switches: [
    {
      areas: [ "*ALL*" ],
      triggersRef: "menu_escape",
      delays: { },
      actions: { press:    [ { id: "LOGIC_RETURN", info: "BACK" } ] }
    },
    // Press anything when not on menu then move to menu top
    {
      areas: [ "ANYWHERE" ],
      triggersRef: "menu_pressAny",
      delays: { },
      actions: { press:       [ { id: "GOTO_AREA", info: "UP" } ] }
    },

    //
    // Press up move menu position
    //
    {
      areas: [ "UP", "DN", "LF", "RT", "ACT0", "ACT1", "ACT2", "DEFAULTS", "BACK" ],
      triggersRef: "menu_pressUP",
      delays: { },
      actions: { press:       [ { id: "GOTO_AREA", info: "[PREV_AREA]" } ] }
    },

    //
    // Press down move menu position
    //
    {
      areas: [ "UP", "DN", "LF", "RT", "ACT0", "ACT1", "ACT2", "DEFAULTS", "BACK" ],
      triggersRef: "menu_pressDN",
      delays: { },
      actions: { press:       [ { id: "GOTO_AREA", info: "[NEXT_AREA]" } ] }
    },

    // Set key
    {
      areas: [ "UP","DN","LF","RT", "ACT0","ACT1","ACT2" ],
      triggers: [
       { triggerType: KEY,   key:         "p" },
       { triggerType: KEY,   key:         "KEY_SPACE" },
       { triggerType: KEY,   key:         "KEY_RETURN" },
       { triggerType: MOUSE, mouseButton: LMB },
       { triggerType: JPAD,  jpadFlag:    B1 }
       ],
      delays: { },
      actions: { press:       [ { id: "LOGIC_RETURN", info: "SET_[AREA_NAME]" } ] }
    },

    // Press select then logic returns the area name
    {
      areas: [ "BACK", "DEFAULTS" ],
      triggersRef: "menu_pressSelect",
      delays: { },
      actions: { press:       [ { id: "LOGIC_RETURN", info: "[AREA_NAME]" } ] }
    },
  ]
}
