View Single Post
05/30/15, 02:49 PM   #15
JohnnyKing94
 
JohnnyKing94's Avatar
Join Date: Mar 2015
Posts: 45
Originally Posted by Ayantir View Post
Use buttons ?
Existing keybinds can also be rewrited if needed.

What kind of thing would you like to do? post a screen, give exemples, I'm sure we can give you some advices.
This is a part of my code with some comments to explain the purpose and the meaning of my scene

Code:
MY.LMM = LibStub("LibMainMenu")
ZO_CreateStringId("SI_MY_STRING", "SCENE")

MY_MAIN_MENU_CATEGORY_DATA =
    {
  descriptor = 1,
        binding = "MY_SHOW_PANEL",
        categoryName = SI_MY_NOME_ADDON,
        normal = "EsoUI/Art/MainMenu/menuBar_champion_up.dds",
  pressed = "EsoUI/Art/MainMenu/menuBar_champion_down.dds",
  highlight = "EsoUI/Art/MainMenu/menuBar_champion_over.dds",
  callback = function() 
   MY.LMM:ToggleCategory(MY.MENU_CATEGORY_MY)
  end
    }
 
 MY_SCENE = ZO_Scene:New("MYScene", SCENE_MANAGER) 
    
 MY_SCENE:AddFragmentGroup(FRAGMENT_GROUP.MOUSE_DRIVEN_UI_WINDOW)
 MY_SCENE:AddFragmentGroup(FRAGMENT_GROUP.PLAYER_PROGRESS_BAR_KEYBOARD_CURRENT)
 MY_SCENE:AddFragment(TITLE_FRAGMENT)
 MY_SCENE:AddFragment(RIGHT_BG_FRAGMENT)
 MY_SCENE:AddFragment(TOP_BAR_FRAGMENT)
 
    MY_SCENE_TITLE_FRAGMENT = ZO_SetTitleFragment:New(SI_MY_STRING)
    MY_SCENE:AddFragment(MY_SCENE_TITLE_FRAGMENT)
 

    MY_SCENE_WINDOW = ZO_FadeSceneFragment:New(SCENE_XML)
    MY_SCENE:AddFragment(MY_SCENE_WINDOW)
    
 MY_MENU_BAR = ZO_FadeSceneFragment:New(ZO_MainMenuCategoryBar)
 MY_SCENE:AddFragment(MY_MENU_BAR)
 
  local iconData = {
    {
     categoryName = SI_MY_STRING, -- Titolo vicino ai bottoni
     descriptor = "MySceneDesc",
     normal = "EsoUI/art/mainmenu/menubar_social_up.dds",
     pressed = "EsoUI/art/mainmenu/menubar_social_down.dds",
     highlight = "EsoUI/art/mainmenu/menubar_social_over.dds",
    },
   
   }
   
   
   
 SCENE_MANAGER:AddSceneGroup("MySceneGroup", ZO_SceneGroup:New("MySceneDesc"))
 
 MY.MY_MENU_CATEGORY = MY.LMM:AddCategory(MY_MAIN_MENU_CATEGORY_DATA)

 MY.LMM:AddSceneGroup(MY.MY_MENU_CATEGORY, "MYSceneGroup", iconData)

 local LMMXML = WINDOW_MANAGER:CreateControl("LMMXML2", ZO_MainMenuCategoryBar, CT_BUTTON)
 LMMXML:SetAnchor(CENTER, ZO_MainMenuCategoryBar, nil, 0, 28)
 MY.categoryBar = CreateControlFromVirtual("$(parent)CategoryBar", LMMXML2, "ZO_MenuBarTemplate")
 MY.categoryBar:SetAnchor(RIGHT, ZO_MainMenuCategoryBarButton1, LEFT, -20, 0)
 
 
 local categoryBarData =
 {
  buttonPadding = 16,
  normalSize = 51,
  downSize = 64,
  animationDuration = DEFAULT_SCENE_TRANSITION_TIME,
  buttonTemplate = "ZO_MainMenuCategoryBarButton",
 }
 ZO_MenuBar_SetData(MY.categoryBar, categoryBarData)
 ZO_MenuBar_AddButton(MY.categoryBar, MY_MAIN_MENU_CATEGORY_DATA)
 
 SCENE_XML:SetKeyboardEnabled(true)
 -- I need this for catching the key
 
 SCENE_XML:SetHandler("OnKeyDown", function(self, key, ctrl, alt, shift, command) 
  
   -- Example
   if(key==KEY_A) then 
    -- do my work
   else
    -- do my work
    return false -- call the propagation of the key
    
   end
  end)
  Reply With Quote