-- TE4 - T-Engine 4 -- Copyright (C) 2009 - 2016 Nicolas Casalini -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program. If not, see <http://www.gnu.org/licenses/>. -- -- Nicolas Casalini "DarkGod" -- darkgod@te4.org require "engine.class" local Dialog = require "engine.ui.Dialog" local Button = require "engine.ui.Button" local Textzone = require "engine.ui.Textzone" --- User Info for player to player chatbox -- @classmod engine.dialogs.UserInfo module(..., package.seeall, class.inherit(Dialog)) function _M:init(data) Dialog.init(self, "User: "..data.name, 1,1) data.current_char = data.current_char or {} local str = tstring{{"color","GOLD"}, {"font","bold"}, data.name, {"color","LAST"}, {"font","normal"}, true, true} str:add({"color","ANTIQUE_WHITE"}, "Currently playing: ", {"color", "LAST"}) if data.char_link then str:add({"font","italic"},{"color","LIGHT_BLUE"},data.current_char.title or "unknown",{"font","normal"},{"color","LAST"},true) else str:add(data.current_char.title or "unknown",true) end str:add({"color","ANTIQUE_WHITE"}, "Game: ", {"color", "LAST"}, data.current_char.module or "unknown", true) str:add({"color","ANTIQUE_WHITE"}, "Validation: ", {"color", "LAST"}, data.current_char.valid and "Game has been validated by the server" or "Game is not validated by the server", true) self.c_desc = Textzone.new{width=400, height=1, auto_height=true, text=str} local b_profile = require("engine.ui.Button").new{text="Go to online profile", fct=function() util.browserOpenUrl(data.profile, {is_external=true}) end} local b_char = require("engine.ui.Button").new{text="Go to online charsheet", fct=function() util.browserOpenUrl(data.char_link, {is_external=true}) end} local ui = { {left=0, top=0, ui=self.c_desc}, {left=0, bottom=0, ui=b_profile}, } if data.char_link then ui[#ui+1] = {right=0, bottom=0, ui=b_char} end self:loadUI(ui) self:setupUI(not rw, not rh) self.key:addBinds{ ACCEPT = accept_key and "EXIT", EXIT = function() game:unregisterDialog(self) if on_exit then on_exit() end end, } end