// OT-MMO: intercambio entre jugadores. Lo pinta game_intercambio.lua con lo que manda el servidor // (server/scripts/intercambio.lua, opcode 117). Textos y rótulos: clases comunes de data/styles/50-otmmo.otui. // Objeto en una oferta: marco con el ícono, nombre y cantidad. InOferta < Panel height: 32 GamePanel id: marco anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter size: 32 32 phantom: true UIItem id: item anchors.centerIn: parent size: 28 28 virtual: true phantom: true Label id: nombre anchors.left: marco.right anchors.right: cuenta.left anchors.verticalCenter: parent.verticalCenter margin-left: 8 ttf-font: $otmmo-font ttf-font-size: $otmmo-size-sm color: $otmmo-text phantom: true Label id: cuenta anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter width: 40 text-align: right ttf-font: $otmmo-font-num ttf-font-size: $otmmo-size-sm color: $otmmo-text-2 phantom: true // Botón pequeño de la fila (- + Todo): el Button base a 24 px de alto. InPaso < Button size: 24 24 padding: 0 // Fila de la mochila: ícono, nombre, ofrecido/tiene y los botones - + Todo. InFila < GameRow height: 36 padding: 0 GamePanel id: marco anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter margin-left: 4 size: 32 32 phantom: true UIItem id: item anchors.centerIn: parent size: 28 28 virtual: true phantom: true Label id: nombre anchors.left: marco.right anchors.right: cuenta.left anchors.verticalCenter: parent.verticalCenter margin-left: 8 ttf-font: $otmmo-font ttf-font-size: $otmmo-size-sm color: $otmmo-text phantom: true Label id: cuenta anchors.right: menos.left anchors.verticalCenter: parent.verticalCenter margin-right: 8 width: 60 text-align: right ttf-font: $otmmo-font-num ttf-font-size: $otmmo-size-sm color: $otmmo-text-2 phantom: true InPaso id: menos anchors.right: mas.left anchors.verticalCenter: parent.verticalCenter margin-right: 4 text: - InPaso id: mas anchors.right: todo.left anchors.verticalCenter: parent.verticalCenter margin-right: 4 text: + InPaso id: todo anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter margin-right: 8 width: 44 text: Todo // Columna de oferta (Ofreces / Recibes). Aceptada = borde de acento (desde Lua). InColumna < GamePanel padding: 12 GameSection id: titulo anchors.top: parent.top anchors.left: parent.left GameTextMuted id: estado anchors.top: parent.top anchors.right: parent.right color: $otmmo-ok Panel id: lista anchors.top: titulo.bottom anchors.left: parent.left anchors.right: parent.right anchors.bottom: parent.bottom margin-top: 8 layout: type: verticalBox spacing: 4 GameTextMuted id: vacio anchors.centerIn: lista // Retrato (atuendo del personaje) con nombre y estado. InLado < Panel height: 56 GamePanel id: marco anchors.top: parent.top anchors.left: parent.left size: 52 52 UICreature id: retrato anchors.centerIn: parent size: 48 48 phantom: true GameTitle id: nombre anchors.top: marco.top anchors.left: marco.right margin-top: 8 margin-left: 12 GameTextMuted id: estado anchors.top: nombre.bottom anchors.left: nombre.left margin-top: 4 MainWindow id: ventanaIntercambio size: 620 600 text: Intercambio @onEscape: modules.game_intercambio.cancelar() InLado id: yo anchors.top: parent.top anchors.left: parent.left width: 240 InLado id: ellos anchors.top: parent.top anchors.right: parent.right width: 240 InColumna id: ofreces anchors.top: yo.bottom anchors.left: parent.left anchors.right: parent.horizontalCenter margin-top: 12 margin-right: 4 height: 152 InColumna id: recibes anchors.top: yo.bottom anchors.left: parent.horizontalCenter anchors.right: parent.right margin-top: 12 margin-left: 4 height: 152 GameSection id: tMochila anchors.top: ofreces.bottom anchors.left: parent.left margin-top: 16 text: Tu mochila VerticalScrollBar id: mochilaBarra anchors.top: tMochila.bottom anchors.bottom: oroFila.top anchors.right: parent.right margin-top: 8 margin-bottom: 12 step: 36 pixels-scroll: true ScrollablePanel id: mochila anchors.top: tMochila.bottom anchors.left: parent.left anchors.right: mochilaBarra.left anchors.bottom: oroFila.top margin-top: 8 margin-bottom: 12 margin-right: 4 vertical-scrollbar: mochilaBarra layout: type: verticalBox spacing: 0 Panel id: oroFila anchors.left: parent.left anchors.right: parent.right anchors.bottom: pie.top margin-bottom: 12 height: 24 GameSection id: tOro anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter text: Oro a ofrecer TextEdit id: oro anchors.left: tOro.right anchors.verticalCenter: parent.verticalCenter margin-left: 12 size: 112 24 max-length: 9 GameTextMuted id: oroMax anchors.left: oro.right anchors.verticalCenter: parent.verticalCenter margin-left: 8 Panel id: pie anchors.left: parent.left anchors.right: parent.right anchors.bottom: parent.bottom height: 28 GameText id: estado anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter PrimaryButton id: aceptar anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter size: 120 28 text: Aceptar @onClick: modules.game_intercambio.aceptar() Button id: cancelar anchors.right: aceptar.left anchors.verticalCenter: parent.verticalCenter margin-right: 8 size: 100 28 text: Cancelar @onClick: modules.game_intercambio.cancelar()