reorganize modules

master
Eduardo Bart 13 years ago
parent 2304ff3529
commit 5ab0e6f2ac

@ -0,0 +1,22 @@
Background = { }
-- private variables
local background
-- public functions
function Background.create()
background = UI.loadAndDisplay('/background/background.otui')
end
function Background.destroy()
background:destroy()
background = nil
end
function Background.hide()
background:hide()
end
function Background.show()
background:show()
end

@ -0,0 +1,18 @@
Module
name: background
description: Handles the background of the login screen
author: OTClient team
website: https://github.com/edubart/otclient
autoLoad: true
dependencies:
- core
- topmenu
onLoad: |
require 'background'
Background.create()
return true
onUnload:
Background.destroy()

@ -1,13 +1,7 @@
MenuButton < Button
margin.bottom: 11
margin.left: 20
margin.right: 20
Panel Panel
id: mainMenuBackground id: background
image: image:
source: /mainmenu/ui/background.png source: /background/background.png
smooth: true smooth: true
fixed ratio: true fixed ratio: true
anchors.top: topMenu.bottom anchors.top: topMenu.bottom

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

@ -3,7 +3,6 @@ Module
description: Console for executing lua functions description: Console for executing lua functions
author: OTClient team author: OTClient team
website: https://github.com/edubart/otclient website: https://github.com/edubart/otclient
version: 0.2
autoLoad: true autoLoad: true
dependencies: dependencies:
- core - core

@ -7,19 +7,17 @@ Module
autoLoad: true autoLoad: true
dependencies: dependencies:
- core_fonts - core_fonts
- core_ui - core_styles
onLoad: | onLoad: |
require 'ext/table' require 'ext/table'
require 'ext/string' require 'ext/string'
require 'constants' require 'constants'
require 'util' require 'util'
require 'dispatcher'
require 'widget' require 'widget'
require 'ui'
require 'gfx'
require 'messagebox/messagebox' require 'messagebox/messagebox'
require 'dispatcher'
return true return true
onUnload: |
rootWidget = nil

@ -20,11 +20,3 @@ function UI.displayLocked(widget)
UI.root:addChild(widget) UI.root:addChild(widget)
UI.root:lockChild(widget) UI.root:lockChild(widget)
end end
importStyles('styles/buttons.otui')
importStyles('styles/labels.otui')
importStyles('styles/panels.otui')
importStyles('styles/separators.otui')
importStyles('styles/lineedits.otui')
importStyles('styles/windows.otui')
importStyles('styles/listboxes.otui')

@ -3,8 +3,6 @@ Module
description: Contains fonts used by core description: Contains fonts used by core
author: OTClient team author: OTClient team
website: https://github.com/edubart/otclient website: https://github.com/edubart/otclient
version: 0.2
autoLoad: true
onLoad: | onLoad: |
importFont('verdana-11px-antialised') importFont('verdana-11px-antialised')
importFont('verdana-11px-monochrome') importFont('verdana-11px-monochrome')

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

@ -1,7 +1,6 @@
Font Font
name: terminus-14px-bold name: terminus-14px-bold
height: 16 height: 16
spacing: 0 0
top margin: 2 top margin: 2
texture: terminus-14px-bold.png texture: terminus-14px-bold.png
glyph size: 16 16 glyph size: 16 16

@ -1,7 +1,7 @@
Font Font
name: verdana-11px-antialised name: verdana-11px-antialised
height: 14
texture: verdana-11px-antialised.png texture: verdana-11px-antialised.png
height: 14
glyph size: 16 16 glyph size: 16 16
glyph widths: glyph widths:

@ -1,7 +1,7 @@
Font Font
name: verdana-11px-monochrome name: verdana-11px-monochrome
height: 14
texture: verdana-11px-monochrome.png texture: verdana-11px-monochrome.png
height: 14
glyph size: 16 16 glyph size: 16 16
glyph widths: glyph widths:

@ -1,7 +1,7 @@
Font Font
name: verdana-11px-rounded name: verdana-11px-rounded
height: 14
texture: verdana-11px-rounded.png texture: verdana-11px-rounded.png
height: 14
glyph size: 16 16 glyph size: 16 16
glyph widths: glyph widths:

@ -0,0 +1,17 @@
Module
name: core_styles
description: Contains ui styles used by other modules
author: OTClient team
website: https://github.com/edubart/otclient
dependencies:
- core_fonts
onLoad: |
importStyles 'styles/buttons.otui'
importStyles 'styles/labels.otui'
importStyles 'styles/panels.otui'
importStyles 'styles/separators.otui'
importStyles 'styles/lineedits.otui'
importStyles 'styles/windows.otui'
importStyles 'styles/listboxes.otui'
return true

Before

Width:  |  Height:  |  Size: 763 B

After

Width:  |  Height:  |  Size: 763 B

Before

Width:  |  Height:  |  Size: 932 B

After

Width:  |  Height:  |  Size: 932 B

Before

Width:  |  Height:  |  Size: 696 B

After

Width:  |  Height:  |  Size: 696 B

Before

Width:  |  Height:  |  Size: 385 B

After

Width:  |  Height:  |  Size: 385 B

Before

Width:  |  Height:  |  Size: 660 B

After

Width:  |  Height:  |  Size: 660 B

Before

Width:  |  Height:  |  Size: 825 B

After

Width:  |  Height:  |  Size: 825 B

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

Before

Width:  |  Height:  |  Size: 859 B

After

Width:  |  Height:  |  Size: 859 B

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Before

Width:  |  Height:  |  Size: 191 B

After

Width:  |  Height:  |  Size: 191 B

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 325 B

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

Before

Width:  |  Height:  |  Size: 179 B

After

Width:  |  Height:  |  Size: 179 B

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

@ -5,18 +5,18 @@ Button < UIButton
size: 106 24 size: 106 24
text-translate: 0 0 text-translate: 0 0
border-image: border-image:
source: /core_ui/images/button.png source: /core_styles/images/button.png
border: 5 border: 5
state.hover: state.hover:
border-image: border-image:
source: /core_ui/images/button_hover.png source: /core_styles/images/button_hover.png
border: 5 border: 5
state.pressed: state.pressed:
text-translate: 1 1 text-translate: 1 1
border-image: border-image:
source: /core_ui/images/button_down.png source: /core_styles/images/button_down.png
border: 5 border: 5
state.disabled: state.disabled:
@ -28,13 +28,13 @@ TopButton < UIButton
size: 26 25 size: 26 25
text-translate: 0 0 text-translate: 0 0
border-image: border-image:
source: /core_ui/images/top_button.png source: /core_styles/images/top_button.png
size: 26 25 size: 26 25
border: 3 border: 3
state.hover: state.hover:
border-image: border-image:
source: /core_ui/images/top_button.png source: /core_styles/images/top_button.png
size: 26 25 size: 26 25
offset: 26 0 offset: 26 0
border: 3 border: 3
@ -42,7 +42,7 @@ TopButton < UIButton
state.pressed: state.pressed:
text-translate: 1 1 text-translate: 1 1
border-image: border-image:
source: /core_ui/images/top_button.png source: /core_styles/images/top_button.png
size: 26 25 size: 26 25
offset: 52 0 offset: 52 0
border: 3 border: 3

@ -4,7 +4,7 @@ LineEdit < UILineEdit
size: 86 20 size: 86 20
text margin: 3 text margin: 3
border-image: border-image:
source: /core_ui/images/panel_flat.png source: /core_styles/images/panel_flat.png
border: 1 border: 1
PasswordLineEdit < LineEdit PasswordLineEdit < LineEdit

@ -0,0 +1,5 @@
TextList < UIWidget
layout: verticalBox
border-image:
source: /core_styles/images/panel_flat.png
border: 4

@ -3,21 +3,21 @@ Panel < UIWidget
FlatPanel < Panel FlatPanel < Panel
border-image: border-image:
source: /core_ui/images/panel_flat.png source: /core_styles/images/panel_flat.png
border: 4 border: 4
TopPanel < Panel TopPanel < Panel
height: 34 height: 34
image: image:
source: /core_ui/images/top_panel.png source: /core_styles/images/top_panel.png
repeated: true repeated: true
RoundedPanel < Panel RoundedPanel < Panel
background-color: #ffffffdd background-color: #ffffffdd
border-image: border-image:
source: /core_ui/images/panel_rounded.png source: /core_styles/images/panel_rounded.png
border: 4 border: 4
RectPanel < UIWidget RectPanel < UIWidget
image: /core_ui/images/empty_rect.png image: /core_styles/images/empty_rect.png

@ -1,6 +1,6 @@
HorizontalSeparator < UIWidget HorizontalSeparator < UIWidget
border-image: border-image:
source: /core_ui/images/horizontal_separator.png source: /core_styles/images/horizontal_separator.png
border.top: 2 border.top: 2
height: 2 height: 2
phantom: true phantom: true

@ -6,7 +6,7 @@ Window < UIWindow
head height: 20 head height: 20
head text align: center head text align: center
border-image: border-image:
source: /core_ui/images/window.png source: /core_styles/images/window.png
border: 4 border: 4
border.top: 20 border.top: 20

@ -1,13 +0,0 @@
Module
name: core_ui
description: Contains ui styles used by other modules
author: OTClient team
website: https://github.com/edubart/otclient
version: 0.2
autoLoad: true
dependencies:
- core_fonts
onLoad: |
require 'ui'
return true

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 B

@ -1,5 +0,0 @@
TextList < UIWidget
layout: verticalBox
border-image:
source: /core_ui/images/panel_flat.png
border: 4

@ -56,7 +56,7 @@ function CharacterList.create(characters, premDays)
charactersWindow:destroy() charactersWindow:destroy()
end end
charactersWindow = UI.loadAndDisplay('/mainmenu/ui/charlist.otui') charactersWindow = UI.loadAndDisplay('/entergame/characterlist.otui')
characterList = charactersWindow:getChildById('characterList') characterList = charactersWindow:getChildById('characterList')
local accountStatusLabel = charactersWindow:getChildById('accountStatusLabel') local accountStatusLabel = charactersWindow:getChildById('accountStatusLabel')
charactersWindow.onKeyPress = onCharactersWindowKeyPress charactersWindow.onKeyPress = onCharactersWindowKeyPress
@ -89,7 +89,7 @@ function CharacterList.hide()
charactersWindow:hide() charactersWindow:hide()
end end
function CharacterList.close() function CharacterList.destroy()
CharacterList.hide() CharacterList.hide()
EnterGame.show() EnterGame.show()
end end

@ -1,5 +1,5 @@
CharacterListLabel < Label CharacterListLabel < Label
image: /core_ui/images/empty_rect.png image: /core_styles/images/empty_rect.png
font: verdana-11px-monochrome font: verdana-11px-monochrome
background-color: #00000000 background-color: #00000000
offset: 2 0 offset: 2 0
@ -14,10 +14,10 @@ CharacterListLabel < Label
MainWindow MainWindow
id: charactersWindow id: charactersWindow
title: Charlist title: Character List
size: 250 250 size: 250 250
onEnter: CharacterList.doLogin() onEnter: CharacterList.doLogin()
onEscape: CharacterList.close() onEscape: CharacterList.destroy()
TextList TextList
id: characterList id: characterList
@ -65,4 +65,4 @@ MainWindow
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
margin.bottom: 16 margin.bottom: 16
margin.right: 16 margin.right: 16
onClick: CharacterList.close() onClick: CharacterList.destroy()

@ -2,7 +2,7 @@ EnterGame = { }
-- private variables -- private variables
local loadBox local loadBox
local enterGameWindow local enterGame
local motdNumber local motdNumber
local motdMessage local motdMessage
@ -32,25 +32,26 @@ local function onCharacterList(protocol, characters, premDays)
end end
-- public functions -- public functions
function EnterGame.show() function EnterGame.create()
if not enterGameWindow then enterGame = UI.loadAndDisplay('/entergame/entergame.otui')
enterGameWindow = UI.loadAndDisplay('/mainmenu/ui/entergamewindow.otui')
end
enterGameWindow:show()
end end
function EnterGame.hide() function EnterGame.destroy()
enterGameWindow:hide() enterGame:destroy()
enterGame = nil
end end
function EnterGame.destroy() function EnterGame.show()
enterGameWindow:destroy() enterGame:show()
enterGameWindow = nil end
function EnterGame.hide()
enterGame:hide()
end end
function EnterGame.doLogin() function EnterGame.doLogin()
EnterGame.account = enterGameWindow:getChildById('accountNameLineEdit'):getText() EnterGame.account = enterGame:getChildById('accountNameLineEdit'):getText()
EnterGame.password = enterGameWindow:getChildById('accountPasswordLineEdit'):getText() EnterGame.password = enterGame:getChildById('accountPasswordLineEdit'):getText()
EnterGame.hide() EnterGame.hide()
local protocolLogin = ProtocolLogin.create() local protocolLogin = ProtocolLogin.create()

@ -0,0 +1,21 @@
Module
name: entergame
description: Manages enter game and character list windows
author: OTClient team
website: https://github.com/edubart/otclient
autoLoad: true
dependencies:
- core
- topmenu
- background
onLoad: |
require 'entergame'
require 'characterlist'
EnterGame.create()
return true
onUnload:
EnterGame.destroy()

@ -1,9 +1,9 @@
MainWindow MainWindow
id: enterGameWindow id: enterGame
title: Enter Game title: Enter Game
size: 236 160 size: 236 160
onEnter: EnterGame.doLogin() onEnter: EnterGame.doLogin()
onEscape: function(self) self:destroy() end onEscape: EnterGame.hide()
LargerLabel LargerLabel
text: Account name text: Account name
@ -54,4 +54,4 @@ MainWindow
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
margin.bottom: 16 margin.bottom: 16
margin.right: 16 margin.right: 16
onClick: function(self) self:getParent():destroy() end onClick: EnterGame.hide()

@ -20,7 +20,7 @@ local function createMainInterface()
Game.gameUi = loadUI('/game/ui/gameinterface.otui', UI.root) Game.gameUi = loadUI('/game/ui/gameinterface.otui', UI.root)
Game.gameMapUi = Game.gameUi:getChildById('gameMap') Game.gameMapUi = Game.gameUi:getChildById('gameMap')
Game.gameUi.onKeyPress = onGameKeyPress Game.gameUi.onKeyPress = onGameKeyPress
createTextInterface() createTextInterface()
createVipWindow() createVipWindow()
end end
@ -35,7 +35,7 @@ end
-- public functions -- public functions
function Game.onLogin() function Game.onLogin()
MainMenu.hide() Background.hide()
CharacterList.destroyLoadBox() CharacterList.destroyLoadBox()
createMainInterface() createMainInterface()
end end
@ -53,7 +53,7 @@ function Game.onConnectionError(message)
end end
function Game.onLogout() function Game.onLogout()
MainMenu.show() Background.show()
CharacterList.show() CharacterList.show()
destroyMainInterface() destroyMainInterface()
end end

@ -8,10 +8,10 @@ Module
dependencies: dependencies:
- core - core
- tibiafiles - tibiafiles
- topmenu
- entergame
- background
onLoad: | onLoad: |
require 'game' require 'game'
return true return true
onUnload: |
-- nothing yet

@ -1,14 +1,10 @@
UIWidget UIWidget
id: gameRootInterface id: gameRootInterface
anchors.fill: parent anchors.fill: parent
anchors.top: topMenu.bottom
margin.top: 1
UIMap UIMap
id: gameMap id: gameMap
anchors.fill:parent anchors.fill:parent
margin.right: 200 margin.right: 200
Button
anchors.left: gameMap.right
anchors.top: parent.top
text: Logout
onClick: Game.logout(false)

@ -1,15 +0,0 @@
Module
name: gfx
description: Contains utilities for generating graphics effects
author: OTClient team
website: https://github.com/edubart/otclient
version: 0.2
autoLoad: true
dependencies:
- core
onLoad: |
require 'gfx'
return true

@ -1,22 +0,0 @@
MainMenu = { }
-- private variables
local mainMenu
-- public functions
function MainMenu.create()
mainMenu = UI.loadAndDisplay("/mainmenu/ui/mainmenu.otui")
end
function MainMenu.destroy()
mainMenu:destroy()
mainMenu = nil
end
function MainMenu.hide()
mainMenu:hide()
end
function MainMenu.show()
mainMenu:show()
end

@ -1,27 +0,0 @@
Module
name: mainmenu
description: Create the game main menu
author: OTClient team
website: https://github.com/edubart/otclient
version: 0.2
autoLoad: true
dependencies:
- core
- topmenu
onLoad: |
require 'mainmenu'
require 'entergame'
require 'characterlist'
if not initialized then
MainMenu.create()
EnterGame.show()
initialized = true
end
return true
onUnload: |
MainMenu.destroy()
initialized = false

@ -1,47 +0,0 @@
RoundedRectPanel
id: loginPanel
background-color: #000000e5
size: 192 164
anchors.centerIn: parent
margin.top: 64
opacity: 0
LargerLabel
text: Account name
anchors.left: parent.left
anchors.top: parent.top
margin.left: 16
margin.top: 12
LineEdit
id: accountNameLineEdit
text: otclient0
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin.left: 14
margin.right: 14
LargerLabel
text: Password
anchors.left: parent.left
anchors.top: prev.bottom
margin.left: 16
margin.top: 8
PasswordLineEdit
id: accountPasswordLineEdit
text: 123456
anchors.left: parent.left
anchors.right: parent.right
anchors.top: prev.bottom
margin.left: 14
margin.right: 14
Button
id: loginButton
text: Login
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
margin.bottom: 20
onClick: EnterGame.doLogin()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

@ -1 +1 @@
--UI.loadAndDisplayLocked('/mainmenu/ui/charlist.otui') -- place any code for testing purposes here

@ -6,6 +6,7 @@ TopPanel
focusable: false focusable: false
TopButton TopButton
id: settingsButton
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
margin.top: 3 margin.top: 3
@ -13,7 +14,7 @@ TopPanel
UIWidget UIWidget
size: 16 16 size: 16 16
image: /core_ui/icons/settings.png image: /core_styles/icons/settings.png
anchors.centerIn: parent anchors.centerIn: parent
phantom: true phantom: true
@ -21,10 +22,11 @@ TopPanel
anchors.top: prev.top anchors.top: prev.top
anchors.left: prev.right anchors.left: prev.right
margin.left: 6 margin.left: 6
onClick: EnterGame.show()
UIWidget UIWidget
size: 16 16 size: 16 16
image: /core_ui/icons/login.png image: /core_styles/icons/login.png
anchors.centerIn: parent anchors.centerIn: parent
phantom: true phantom: true
@ -33,9 +35,15 @@ TopPanel
anchors.right: parent.right anchors.right: parent.right
margin.top: 3 margin.top: 3
margin.right: 6 margin.right: 6
onClick: |
if Game.isOnline() then
Game.logout(false)
else
exit()
end
UIWidget UIWidget
size: 16 16 size: 16 16
image: /core_ui/icons/logout.png image: /core_styles/icons/logout.png
anchors.centerIn: parent anchors.centerIn: parent
phantom: true phantom: true
Loading…
Cancel
Save