mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Added player count icon and enter room icon to room widget
This commit is contained in:
parent
4f34c07f22
commit
69236b73ca
BIN
Mods/vcmi/Data/lobby/iconEnter.png
Normal file
BIN
Mods/vcmi/Data/lobby/iconEnter.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 145 B |
BIN
Mods/vcmi/Data/lobby/iconPlayer.png
Normal file
BIN
Mods/vcmi/Data/lobby/iconPlayer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 204 B |
@ -19,6 +19,7 @@
|
||||
#include "../gui/WindowHandler.h"
|
||||
#include "../widgets/Buttons.h"
|
||||
#include "../widgets/GraphicalPrimitiveCanvas.h"
|
||||
#include "../widgets/Images.h"
|
||||
#include "../widgets/MiscWidgets.h"
|
||||
#include "../widgets/ObjectLists.h"
|
||||
#include "../widgets/TextControls.h"
|
||||
@ -114,27 +115,27 @@ GlobalLobbyAccountCard::GlobalLobbyAccountCard(GlobalLobbyWindow * window, const
|
||||
{
|
||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||
|
||||
const auto & onInviteClicked = [window, accountID=accountDescription.accountID]()
|
||||
{
|
||||
window->doInviteAccount(accountID);
|
||||
};
|
||||
//const auto & onInviteClicked = [window, accountID=accountDescription.accountID]()
|
||||
//{
|
||||
// window->doInviteAccount(accountID);
|
||||
//};
|
||||
|
||||
pos.w = 130;
|
||||
pos.h = 40;
|
||||
|
||||
backgroundOverlay = std::make_shared<TransparentFilledRectangle>(Rect(0, 0, pos.w, pos.h), ColorRGBA(0,0,0,128), ColorRGBA(64,64,64,64));
|
||||
labelName = std::make_shared<CLabel>( 5, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, accountDescription.displayName);
|
||||
labelStatus = std::make_shared<CLabel>( 5, 20, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, accountDescription.status);
|
||||
backgroundOverlay = std::make_shared<TransparentFilledRectangle>(Rect(0, 0, pos.w, pos.h), ColorRGBA(0, 0, 0, 128), ColorRGBA(64, 64, 64, 64));
|
||||
labelName = std::make_shared<CLabel>(5, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, accountDescription.displayName);
|
||||
labelStatus = std::make_shared<CLabel>(5, 20, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, accountDescription.status);
|
||||
|
||||
if (CSH->inLobbyRoom())
|
||||
buttonInvite = std::make_shared<CButton>(Point(95, 8), AnimationPath::builtin("settingsWindow/button32"), CButton::tooltip(), onInviteClicked);
|
||||
//if (CSH->inLobbyRoom())
|
||||
// buttonInvite = std::make_shared<CButton>(Point(95, 8), AnimationPath::builtin("settingsWindow/button32"), CButton::tooltip(), onInviteClicked);
|
||||
}
|
||||
|
||||
GlobalLobbyRoomCard::GlobalLobbyRoomCard(GlobalLobbyWindow * window, const GlobalLobbyRoom & roomDescription)
|
||||
{
|
||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||
|
||||
const auto & onJoinClicked = [window, roomID=roomDescription.gameRoomID]()
|
||||
const auto & onJoinClicked = [window, roomID = roomDescription.gameRoomID]()
|
||||
{
|
||||
window->doJoinRoom(roomID);
|
||||
};
|
||||
@ -146,11 +147,15 @@ GlobalLobbyRoomCard::GlobalLobbyRoomCard(GlobalLobbyWindow * window, const Globa
|
||||
pos.w = 230;
|
||||
pos.h = 40;
|
||||
|
||||
backgroundOverlay = std::make_shared<TransparentFilledRectangle>(Rect(0, 0, pos.w, pos.h), ColorRGBA(0,0,0,128), ColorRGBA(64,64,64,64));
|
||||
labelName = std::make_shared<CLabel>( 5, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, roomDescription.hostAccountDisplayName);
|
||||
labelStatus = std::make_shared<CLabel>( 5, 20, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, roomDescription.description);
|
||||
labelRoomSize = std::make_shared<CLabel>( 160, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, roomSizeText.toString());
|
||||
backgroundOverlay = std::make_shared<TransparentFilledRectangle>(Rect(0, 0, pos.w, pos.h), ColorRGBA(0, 0, 0, 128), ColorRGBA(64, 64, 64, 64));
|
||||
labelName = std::make_shared<CLabel>(5, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, roomDescription.hostAccountDisplayName);
|
||||
labelStatus = std::make_shared<CLabel>(5, 20, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, roomDescription.description);
|
||||
labelRoomSize = std::make_shared<CLabel>(160, 2, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::YELLOW, roomSizeText.toString());
|
||||
iconRoomSize = std::make_shared<CPicture>(ImagePath::builtin("lobby/iconPlayer"), Point(145, 5));
|
||||
|
||||
if (!CSH->inGame())
|
||||
buttonJoin = std::make_shared<CButton>(Point(195, 8), AnimationPath::builtin("settingsWindow/button32"), CButton::tooltip(), onJoinClicked);
|
||||
if(!CSH->inGame())
|
||||
{
|
||||
buttonJoin = std::make_shared<CButton>(Point(194, 4), AnimationPath::builtin("lobbyJoinRoom"), CButton::tooltip(), onJoinClicked);
|
||||
buttonJoin->setOverlay(std::make_shared<CPicture>(ImagePath::builtin("lobby/iconEnter")));
|
||||
}
|
||||
}
|
||||
|
@ -54,4 +54,5 @@ public:
|
||||
std::shared_ptr<CLabel> labelRoomSize;
|
||||
std::shared_ptr<CLabel> labelStatus;
|
||||
std::shared_ptr<CButton> buttonJoin;
|
||||
std::shared_ptr<CPicture> iconRoomSize;
|
||||
};
|
||||
|
118
config/widgets/buttons/lobbyJoinRoom.json
Normal file
118
config/widgets/buttons/lobbyJoinRoom.json
Normal file
@ -0,0 +1,118 @@
|
||||
{
|
||||
"normal" : {
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"items" : [
|
||||
{
|
||||
"type": "texture",
|
||||
"image": "DiBoxBck",
|
||||
"color" : "blue",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32}
|
||||
},
|
||||
{
|
||||
"type": "graphicalPrimitive",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32},
|
||||
"primitives" : [
|
||||
{ "type" : "filledBox", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : -3, "y" : -3}, "color" : [ 0, 0, 0, 128 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : 0}, "b" : { "x" : 0, "y" : -1}, "color" : [ 255, 255, 255, 32 ] },
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : 0}, "b" : { "x" : -1, "y" : 0}, "color" : [ 255, 255, 255, 128 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : 1, "y" : -2}, "color" : [ 255, 255, 255, 80 ] },
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : -2, "y" : 1}, "color" : [ 255, 255, 255, 160 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : -2}, "b" : { "x" : -2, "y" : -2}, "color" : [ 0, 0, 0, 192 ] },
|
||||
{ "type" : "line", "a" : { "x" : -2, "y" : 1}, "b" : { "x" : -2, "y" : -2}, "color" : [ 0, 0, 0, 192 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : -1}, "b" : { "x" : -1, "y" : -1}, "color" : [ 0, 0, 0, 255 ] },
|
||||
{ "type" : "line", "a" : { "x" : -1, "y" : 0}, "b" : { "x" : -1, "y" : -1}, "color" : [ 0, 0, 0, 255 ] },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"pressed" : {
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"items" : [
|
||||
{
|
||||
"type": "texture",
|
||||
"image": "DiBoxBck",
|
||||
"color" : "blue",
|
||||
"rect": {"x": 1, "y": 1, "w": 31, "h": 31}
|
||||
},
|
||||
{
|
||||
"type": "graphicalPrimitive",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32},
|
||||
"primitives" : [
|
||||
{ "type" : "filledBox", "a" : { "x" : 3, "y" : 3}, "b" : { "x" : -3, "y" : -3}, "color" : [ 0, 0, 0, 160 ] },
|
||||
|
||||
{ "type" : "rectangle", "a" : { "x" : 0, "y" : 0}, "b" : { "x" : -1, "y" : -1}, "color" : [ 0, 0, 0, 255 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : 1, "y" : -2}, "color" : [ 255, 255, 255, 48 ] },
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : -2, "y" : 1}, "color" : [ 255, 255, 255, 96 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : 2, "y" : -3}, "color" : [ 255, 255, 255, 32 ] },
|
||||
{ "type" : "line", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : -3, "y" : 2}, "color" : [ 255, 255, 255, 128 ] },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"blocked" : {
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"items" : [
|
||||
{
|
||||
"type": "texture",
|
||||
"image": "DiBoxBck",
|
||||
"color" : "blue",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32}
|
||||
},
|
||||
{
|
||||
"type": "graphicalPrimitive",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32},
|
||||
"primitives" : [
|
||||
{ "type" : "filledBox", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : -3, "y" : -3}, "color" : [ 0, 0, 0, 128 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : 0}, "b" : { "x" : 0, "y" : -1}, "color" : [ 255, 255, 255, 32 ] },
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : 0}, "b" : { "x" : -1, "y" : 0}, "color" : [ 255, 255, 255, 128 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : 1, "y" : -2}, "color" : [ 255, 255, 255, 80 ] },
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : -2, "y" : 1}, "color" : [ 255, 255, 255, 160 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : -2}, "b" : { "x" : -2, "y" : -2}, "color" : [ 0, 0, 0, 192 ] },
|
||||
{ "type" : "line", "a" : { "x" : -2, "y" : 1}, "b" : { "x" : -2, "y" : -2}, "color" : [ 0, 0, 0, 192 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 0, "y" : -1}, "b" : { "x" : -1, "y" : -1}, "color" : [ 0, 0, 0, 255 ] },
|
||||
{ "type" : "line", "a" : { "x" : -1, "y" : 0}, "b" : { "x" : -1, "y" : -1}, "color" : [ 0, 0, 0, 255 ] },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"highlighted" : {
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"items" : [
|
||||
{
|
||||
"type": "texture",
|
||||
"image": "DiBoxBck",
|
||||
"color" : "blue",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32}
|
||||
},
|
||||
{
|
||||
"type": "graphicalPrimitive",
|
||||
"rect": {"x": 0, "y": 0, "w": 32, "h": 32},
|
||||
"primitives" : [
|
||||
{ "type" : "filledBox", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : -3, "y" : -3}, "color" : [ 0, 0, 0, 128 ] },
|
||||
|
||||
{ "type" : "rectangle", "a" : { "x" : 2, "y" : 2}, "b" : { "x" : -3, "y" : -3}, "color" : [ 255, 255, 255, 255 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : -2}, "b" : { "x" : -2, "y" : -2}, "color" : [ 255, 255, 255, 255 ] },
|
||||
{ "type" : "line", "a" : { "x" : -2, "y" : 1}, "b" : { "x" : -2, "y" : -2}, "color" : [ 255, 255, 255, 255 ] },
|
||||
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : 1, "y" : -2}, "color" : [ 255, 255, 255, 160 ] },
|
||||
{ "type" : "line", "a" : { "x" : 1, "y" : 1}, "b" : { "x" : -2, "y" : 1}, "color" : [ 255, 255, 255, 160 ] },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
Loading…
Reference in New Issue
Block a user