Advertisement
EmpireJordan

LUA function

Mar 29th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.15 KB | None | 0 0
  1. function initUI()
  2.  
  3.     local size = vec2(800, 700)
  4.     local res = getResolution()
  5.  
  6.     -- create window
  7.     local menu = ScriptUI()
  8.     mywindow = menu:createWindow(Rect(res * 0.5 - size * 0.5, res * 0.5 + size * 0.5))
  9.     menu:registerWindow(mywindow, "Fleet Control")
  10.  
  11.     mywindow.caption = "Fleet Control"
  12.     mywindow.showCloseButton = 1
  13.     mywindow.moveable = 1
  14.    
  15.     local tabbedWindow = mywindow:createTabbedWindow(Rect(vec2(10, 10), size - 10))
  16.  
  17.     local tab = tabbedWindow:createTab("Orders", "data/textures/icons/ship.png", "Fleet Orders")
  18.     buildOrdersUI(tab)
  19.  
  20.     local tab = tabbedWindow:createTab("Groups", "data/textures/icons/spanner.png", "Fleet Groups")
  21.     buildGroupsUI(tab)
  22.  
  23.     scriptLog(nil, "control UI initialized successfully")
  24.    
  25. end
  26.  
  27.  
  28. function buildOrdersUI(parent)
  29.  
  30.     local size = parent.size
  31.  
  32.     parent = parent:createScrollFrame(Rect(size))
  33.  
  34.     local groupStateX = -120
  35.  
  36.     local nameLabelX = 10
  37.     local stateLabelX = -250
  38.     local locLabelX = -100
  39.  
  40.     local y_grp = 100
  41.     for _, shipgroup in pairs(shipgroups) do
  42.  
  43.         local split_grp = UIVerticalSplitter(Rect(10, y_grp, size.x - 50, 35 + y_grp), 10, 0, 0.5)
  44.         split_grp.rightSize = 310
  45.  
  46.         local xl = split_grp.left.lower.x
  47.         local xu = split_grp.left.upper.x
  48.  
  49.         local lblgroupname = parent:createLabel(vec2(xl, y_grp + 10), shipgroup.name, 16)
  50.         --lblgroupname.bold = true
  51.  
  52.         local lblgroupstate = parent:createLabel(vec2(xu + groupStateX, y_grp + 14), shipgroup.state, 16)
  53.         --lblgroupstate.italic = true
  54.        
  55.         local xlbtn = split_grp.right.lower.x
  56.         local ylbtn = split_grp.right.lower.y
  57.         for _, btninfo in pairs(orderButtonInfo) do
  58.             local orderbtn = parent:createButton(Rect(xlbtn, ylbtn, xlbtn + 35, ylbtn + 35), btninfo.caption, "onGroupOrderPressed")
  59.             orderbtn.tooltip = btninfo.text
  60.             xlbtn = xlbtn + 40
  61.         end
  62.  
  63.         y_grp = y_grp + 40
  64.  
  65.         local y_shp = y_grp
  66.         for i, ship in pairs(shipgroup.ships) do
  67.  
  68.             local yText = y_shp + 6
  69.            
  70.             local split1 = UIVerticalSplitter(Rect(10, y_shp, size.x - 50, 30 + y_shp), 10, 0, 0.5)
  71.             split1.rightSize = 100
  72.  
  73.             local frame = parent:createFrame(split1.left)
  74.            
  75.             local xl = split1.left.lower.x
  76.             local xu = split1.left.upper.x
  77.            
  78.             local titleLabel = parent:createLabel(vec2(xl + nameLabelX, yText), ship.name, 15)
  79.             local coordLabel = parent:createLabel(vec2(xu + stateLabelX, yText), ship.state, 15)
  80.             local distLabel = parent:createLabel(vec2(xu + locLabelX, yText), ship.loc, 15)
  81.            
  82.             titleLabel.font = "Arial"
  83.             coordLabel.font = "Arial"
  84.             distLabel.font = "Arial"
  85.            
  86.             local cbox = parent:createComboBox(split1.right, "onShipOrderSelected")
  87.             for _, btninfo in pairs(orderButtonInfo) do
  88.                 cbox:addEntry(btninfo.text)
  89.             end
  90.                
  91.             y_shp = y_shp + 35
  92.             y_grp = y_grp + 35
  93.  
  94.         end
  95.  
  96.     end
  97. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement