mirror of
https://github.com/edubart/otclient.git
synced 2025-10-16 04:24:54 +02:00
More on Market (far from done), Minor Fixes, Edited Outfits Module, Some Cosmetics.
* Started building the market UI. * More work on the market functionality. * Fixes to the market protocol. (Known issue: if I use safeSend method from Market (like so: MarketProtocol.send~) is thinks it is a bot). * Fixes to the market offer class. * Outfit window will no longer display the mount box if you are using protocol < 870. * Added getFeature to playermount module. * Added isMarketable and getMarketData to the lua binding. * Added lua casts for MarketData. * Fixed typo in the module manager. * Added new 'light flat panel' for more variation (can change later) will require some graphics for market. * Added new functions to table lib. * Fixed some styling issues from previous commits.
This commit is contained in:
20
modules/game_market/ui/general/marketbuttons.otui
Normal file
20
modules/game_market/ui/general/marketbuttons.otui
Normal file
@@ -0,0 +1,20 @@
|
||||
MarketButtonBox < UICheckBox
|
||||
font: verdana-11px-antialised
|
||||
color: #ffffffff
|
||||
size: 106 22
|
||||
text-offset: 0 0
|
||||
text-align: center
|
||||
image-source: /images/tabbutton.png
|
||||
image-clip: 0 0 20 20
|
||||
image-border: 2
|
||||
|
||||
$hover !disabled:
|
||||
image-clip: 0 20 20 20
|
||||
|
||||
$checked:
|
||||
image-clip: 0 40 20 20
|
||||
color: white
|
||||
|
||||
$disabled:
|
||||
color: #666666ff
|
||||
image-color: #ffffff88
|
33
modules/game_market/ui/general/markettabs.otui
Normal file
33
modules/game_market/ui/general/markettabs.otui
Normal file
@@ -0,0 +1,33 @@
|
||||
MarketTabBar < UITabBar
|
||||
size: 80 20
|
||||
MarketTabBarPanel < Panel
|
||||
MarketTabBarButton < UIButton
|
||||
size: 20 25
|
||||
image-source: /images/tabbutton.png
|
||||
image-clip: 0 0 20 20
|
||||
image-border: 2
|
||||
icon-color: white
|
||||
color: #aaaaaa
|
||||
anchors.top: parent.top
|
||||
padding: 5
|
||||
|
||||
$first:
|
||||
anchors.left: parent.left
|
||||
|
||||
$!first:
|
||||
anchors.left: prev.right
|
||||
|
||||
$hover !checked:
|
||||
image-clip: 0 20 20 20
|
||||
color: white
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
icon-color: #888888
|
||||
|
||||
$checked:
|
||||
image-clip: 0 20 20 20
|
||||
color: #ffffff
|
||||
|
||||
$on !checked:
|
||||
color: #f55e5e
|
49
modules/game_market/ui/marketoffers.otui
Normal file
49
modules/game_market/ui/marketoffers.otui
Normal file
@@ -0,0 +1,49 @@
|
||||
Panel
|
||||
|
||||
MarketTabBar
|
||||
id: leftTabBar
|
||||
width: 107
|
||||
height:25
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
|
||||
Panel
|
||||
id: leftTabContent
|
||||
width: 180
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: prev.left
|
||||
anchors.bottom: parent.bottom
|
||||
border-width: 1
|
||||
border-color: #000000
|
||||
|
||||
MarketTabBar
|
||||
id: rightTabBar
|
||||
width: 157
|
||||
height:25
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
||||
Panel
|
||||
id: rightTabContent
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: leftTabContent.right
|
||||
anchors.right: prev.right
|
||||
anchors.bottom: parent.bottom
|
||||
margin-left:3
|
||||
border-width: 1
|
||||
border-color: #000000
|
||||
|
||||
Item
|
||||
id: selectedItem
|
||||
phantom: true
|
||||
anchors.top: rightTabBar.bottom
|
||||
anchors.left: rightTabContent.left
|
||||
margin-top: 3
|
||||
margin-left: 3
|
||||
|
||||
Label
|
||||
id: nameLabel
|
||||
!text: tr('No item selected.')
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
margin-left: 5
|
125
modules/game_market/ui/marketoffers/browse.otui
Normal file
125
modules/game_market/ui/marketoffers/browse.otui
Normal file
@@ -0,0 +1,125 @@
|
||||
MarketItemBox < UICheckBox
|
||||
border-width: 1
|
||||
border-color: #000000
|
||||
color: #aaaaaa
|
||||
text-align: center
|
||||
text-offset: 0 20
|
||||
@onCheckChange: Market.onItemBoxChecked(self)
|
||||
|
||||
Item
|
||||
id: item
|
||||
phantom: true
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
margin-top: 5
|
||||
|
||||
$checked:
|
||||
border-color: #ffffff
|
||||
|
||||
$hover !checked:
|
||||
border-color: #aaaaaa
|
||||
|
||||
$disabled:
|
||||
image-color: #ffffff88
|
||||
color: #aaaaaa88
|
||||
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
ComboBox
|
||||
id: filterComboBox
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin-top: 3
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
|
||||
ComboBox
|
||||
id: weaponComboBox
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin-top: 3
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
|
||||
MarketButtonBox
|
||||
id: filterMatchLevel
|
||||
checked: false
|
||||
!text: tr('Level')
|
||||
!tooltip: tr('Filter list to match your level')
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
margin-top: 3
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
width: 40
|
||||
height: 20
|
||||
//@onClick: Market.filterMatchLevel()
|
||||
|
||||
MarketButtonBox
|
||||
id: filterMatchVocation
|
||||
checked: false
|
||||
!text: tr('Vocation')
|
||||
!tooltip: tr('Filter list to match your vocation')
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
width: 60
|
||||
height: 20
|
||||
//@onClick: Market.filterMatchVocation()
|
||||
|
||||
ComboBox
|
||||
id: typeComboBox
|
||||
anchors.top: prev.top
|
||||
anchors.left: prev.right
|
||||
anchors.right: parent.right
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
|
||||
MarketButtonBox
|
||||
id: showDepotOnly
|
||||
checked: false
|
||||
!text: tr('Show Depot Only')
|
||||
!tooltip: tr('Show your depot items only')
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin-top: 3
|
||||
margin-right: 3
|
||||
margin-left: 3
|
||||
//@onClick: Market.setDisplayDepot()
|
||||
|
||||
Panel
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
margin-top: 10
|
||||
margin-left: 3
|
||||
margin-bottom: 10
|
||||
margin-right: 3
|
||||
|
||||
VerticalScrollBar
|
||||
id: itemsPanelListScrollBar
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
step: 16
|
||||
pixels-scroll: true
|
||||
|
||||
ScrollablePanel
|
||||
id: itemsPanel
|
||||
anchors.left: parent.left
|
||||
anchors.right: prev.left
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
vertical-scrollbar: itemsPanelListScrollBar
|
||||
layout:
|
||||
type: grid
|
||||
cell-size: 34 34
|
||||
flow: true
|
||||
auto-spacing: true
|
10
modules/game_market/ui/marketoffers/itemdetails.otui
Normal file
10
modules/game_market/ui/marketoffers/itemdetails.otui
Normal file
@@ -0,0 +1,10 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Item Details')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-top: 45
|
||||
margin-left: 3
|
10
modules/game_market/ui/marketoffers/itemoffers.otui
Normal file
10
modules/game_market/ui/marketoffers/itemoffers.otui
Normal file
@@ -0,0 +1,10 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Item Offers')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-top: 45
|
||||
margin-left: 3
|
10
modules/game_market/ui/marketoffers/itemstats.otui
Normal file
10
modules/game_market/ui/marketoffers/itemstats.otui
Normal file
@@ -0,0 +1,10 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Item Stats')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-top: 45
|
||||
margin-left: 3
|
9
modules/game_market/ui/marketoffers/search.otui
Normal file
9
modules/game_market/ui/marketoffers/search.otui
Normal file
@@ -0,0 +1,9 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Search')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-left: 10
|
16
modules/game_market/ui/myoffers.otui
Normal file
16
modules/game_market/ui/myoffers.otui
Normal file
@@ -0,0 +1,16 @@
|
||||
Panel
|
||||
|
||||
MarketTabBar
|
||||
id: offersTabBar
|
||||
width: 187
|
||||
height:25
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
||||
Panel
|
||||
id: offersTabContent
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: prev.left
|
||||
anchors.right: prev.right
|
||||
anchors.bottom: parent.bottom
|
9
modules/game_market/ui/myoffers/currentoffers.otui
Normal file
9
modules/game_market/ui/myoffers/currentoffers.otui
Normal file
@@ -0,0 +1,9 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Current Offers')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-left: 10
|
9
modules/game_market/ui/myoffers/itemoffers.otui
Normal file
9
modules/game_market/ui/myoffers/itemoffers.otui
Normal file
@@ -0,0 +1,9 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Item Offers')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-left: 10
|
9
modules/game_market/ui/myoffers/offerhistory.otui
Normal file
9
modules/game_market/ui/myoffers/offerhistory.otui
Normal file
@@ -0,0 +1,9 @@
|
||||
Panel
|
||||
background-color: #22283399
|
||||
margin: 1
|
||||
|
||||
Label
|
||||
!text: tr('Offer History')
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-left: 10
|
Reference in New Issue
Block a user