Commit 5b988a87 authored by fallenstardust's avatar fallenstardust

重设filter布局

parent 86832fd8
...@@ -1210,15 +1210,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -1210,15 +1210,19 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
is_starting_dragging = false; is_starting_dragging = false;
} }
mouse_pos.set(event.MouseInput.X, event.MouseInput.Y); mouse_pos.set(event.MouseInput.X, event.MouseInput.Y);
int dragpos = drag_start_pos + (dragy - mouse_pos.Y); if(hovered_pos == 4) {
if(dragpos > 0) { int dragpos = drag_start_pos + (dragy - mouse_pos.Y);
if(mainGame->scrFilter->getPos() < mainGame->scrFilter->getMax()) char log_dragpos[256];
mainGame->scrFilter->setPos((mainGame->scrFilter->getPos() + 1)); sprintf(log_dragpos, "dragpos=%d", dragpos);
} else { os::Printer::log(log_dragpos);
if(mainGame->scrFilter->getPos() > 0) if(dragpos > 10 || dragpos < -10) {
mainGame->scrFilter->setPos((mainGame->scrFilter->getPos() - 1)); if(mainGame->scrFilter->getPos() < mainGame->scrFilter->getMax())
} mainGame->scrFilter->setPos((mainGame->scrFilter->getPos() + 1));
} else {
if(mainGame->scrFilter->getPos() > 0)
mainGame->scrFilter->setPos((mainGame->scrFilter->getPos() - 1));
}
}
GetHoveredCard(); GetHoveredCard();
break; break;
} }
...@@ -1313,26 +1317,16 @@ void DeckBuilder::GetHoveredCard() { ...@@ -1313,26 +1317,16 @@ void DeckBuilder::GetHoveredCard() {
is_lastcard = 1; is_lastcard = 1;
} }
} }
} else if(x >= 810 * mainGame->xScale && x <= 995 * mainGame->xScale && y >= 165 * mainGame->yScale && y <= 626 * mainGame->yScale) {//搜索结果 } else if(x >= 805 * mainGame->xScale && x <= 995 * mainGame->xScale && y >= 165 * mainGame->yScale && y <= 626 * mainGame->yScale) {
hovered_pos = 4; hovered_pos = 4;
hovered_seq = (y - 165 * mainGame->yScale) / (66 * mainGame->yScale); hovered_seq = (y - 165 * mainGame->yScale) / (66 * mainGame->yScale);
int pos = mainGame->scrFilter->getPos(); int pos = mainGame->scrFilter->getPos();
if(x >= 860 * mainGame->xScale && x <= 900 * mainGame->xScale){ if(pos >= (int)results.size()) {
if(pos >= (int)results.size()) { hovered_seq = -1;
hovered_seq = -1; hovered_code = 0;
hovered_code = 0; } else {
} else { hovered_code = results[pos]->first;
hovered_code = results[pos]->first; }
}
}
if(x > 900 * mainGame->xScale && x <= 995 * mainGame->xScale){
if(pos >= (int)results.size()) {
hovered_seq = -1;
hovered_code = 0;
} else {
mainGame->ShowCardInfo(results[pos]->first);
}
}
} }
if(is_draging) { if(is_draging) {
dragx = x; dragx = x;
......
...@@ -1306,15 +1306,15 @@ void Game::DrawDeckBd() { ...@@ -1306,15 +1306,15 @@ void Game::DrawDeckBd() {
code_pointer ptr = deckBuilder.results[i + scrFilter->getPos()]; code_pointer ptr = deckBuilder.results[i + scrFilter->getPos()];
if(deckBuilder.hovered_pos == 4 && deckBuilder.hovered_seq == (int)i) if(deckBuilder.hovered_pos == 4 && deckBuilder.hovered_seq == (int)i)
driver->draw2DRectangle(0x80000000, recti(806 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1019 * mainGame->xScale, (230 + i * 66) * mainGame->yScale)); driver->draw2DRectangle(0x80000000, recti(806 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1019 * mainGame->xScale, (230 + i * 66) * mainGame->yScale));
DrawThumb(ptr, position2di(855 * mainGame->xScale, (165 + i * 66) * mainGame->yScale), deckBuilder.filterList); DrawThumb(ptr, position2di(805 * mainGame->xScale, (165 + i * 66) * mainGame->yScale), deckBuilder.filterList);
if(ptr->second.type & TYPE_MONSTER) { if(ptr->second.type & TYPE_MONSTER) {
myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first)); myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first));
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (185 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (185 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
if(!(ptr->second.type & TYPE_LINK)) { if(!(ptr->second.type & TYPE_LINK)) {
const wchar_t* form = L"\u2605"; const wchar_t* form = L"\u2605";
if(ptr->second.type & TYPE_XYZ) form = L"\u2606"; if(ptr->second.type & TYPE_XYZ) form = L"\u2606";
myswprintf(textBuffer, L"%ls/%ls %ls%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), form, ptr->second.level); myswprintf(textBuffer, L"%ls/%ls %ls%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), form, ptr->second.level);
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
if(ptr->second.attack < 0 && ptr->second.defense < 0) if(ptr->second.attack < 0 && ptr->second.defense < 0)
myswprintf(textBuffer, L"?/?"); myswprintf(textBuffer, L"?/?");
else if(ptr->second.attack < 0) else if(ptr->second.attack < 0)
...@@ -1324,7 +1324,7 @@ void Game::DrawDeckBd() { ...@@ -1324,7 +1324,7 @@ void Game::DrawDeckBd() {
else myswprintf(textBuffer, L"%d/%d", ptr->second.attack, ptr->second.defense); else myswprintf(textBuffer, L"%d/%d", ptr->second.attack, ptr->second.defense);
} else { } else {
myswprintf(textBuffer, L"%ls/%ls LINK-%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), ptr->second.level); myswprintf(textBuffer, L"%ls/%ls LINK-%d", dataManager.FormatAttribute(ptr->second.attribute), dataManager.FormatRace(ptr->second.race), ptr->second.level);
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 955 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 955 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
if(ptr->second.attack < 0) if(ptr->second.attack < 0)
myswprintf(textBuffer, L"?/-"); myswprintf(textBuffer, L"?/-");
else myswprintf(textBuffer, L"%d/-", ptr->second.attack); else myswprintf(textBuffer, L"%d/-", ptr->second.attack);
...@@ -1340,12 +1340,12 @@ void Game::DrawDeckBd() { ...@@ -1340,12 +1340,12 @@ void Game::DrawDeckBd() {
mywcscat(textBuffer, L" [TCG]"); mywcscat(textBuffer, L" [TCG]");
else if((ptr->second.ot & 0x7) == 4) else if((ptr->second.ot & 0x7) == 4)
mywcscat(textBuffer, L" [Custom]"); mywcscat(textBuffer, L" [Custom]");
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (208 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (229 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (208 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (229 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
} else { } else {
myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first)); myswprintf(textBuffer, L"%ls", dataManager.GetName(ptr->first));
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (185 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (164 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (185 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
const wchar_t* ptype = dataManager.FormatType(ptr->second.type); const wchar_t* ptype = dataManager.FormatType(ptr->second.type);
DrawShadowText(textFont, ptype, recti(904 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, ptype, recti(850 * mainGame->xScale, (186 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (207 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
textBuffer[0] = 0; textBuffer[0] = 0;
if((ptr->second.ot & 0x3) == 1) if((ptr->second.ot & 0x3) == 1)
mywcscat(textBuffer, L"[OCG]"); mywcscat(textBuffer, L"[OCG]");
...@@ -1353,7 +1353,7 @@ void Game::DrawDeckBd() { ...@@ -1353,7 +1353,7 @@ void Game::DrawDeckBd() {
mywcscat(textBuffer, L"[TCG]"); mywcscat(textBuffer, L"[TCG]");
else if((ptr->second.ot & 0x7) == 4) else if((ptr->second.ot & 0x7) == 4)
mywcscat(textBuffer, L"[Custom]"); mywcscat(textBuffer, L"[Custom]");
DrawShadowText(textFont, textBuffer, recti(904 * mainGame->xScale, (208 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (229 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, true, false); DrawShadowText(textFont, textBuffer, recti(850 * mainGame->xScale, (208 + i * 66) * mainGame->yScale, 1000 * mainGame->xScale, (229 + i * 66) * mainGame->yScale), recti(0, 1 * mainGame->yScale, 2 * mainGame->xScale, 0), 0xffffffff, 0xff000000, false, false);
} }
} }
#endif #endif
......
...@@ -824,7 +824,7 @@ bool Game::Initialize() { ...@@ -824,7 +824,7 @@ bool Game::Initialize() {
for(int i = 0; i < 32; ++i) for(int i = 0; i < 32; ++i)
chkCategory[i] = env->addCheckBox(false, recti((10 + (i % 4) * 90) * xScale, (10 + (i / 4) * 20) * yScale, (100 + (i % 4) * 90) * xScale, (40 + (i / 4) * 20) * yScale), wCategories, -1, dataManager.GetSysString(1100 + i)); chkCategory[i] = env->addCheckBox(false, recti((10 + (i % 4) * 90) * xScale, (10 + (i / 4) * 20) * yScale, (100 + (i % 4) * 90) * xScale, (40 + (i / 4) * 20) * yScale), wCategories, -1, dataManager.GetSysString(1100 + i));
#ifdef _IRR_ANDROID_PLATFORM_ #ifdef _IRR_ANDROID_PLATFORM_
scrFilter = env->addScrollBar(false, recti(810 * xScale, 161 * yScale, 850 * xScale, 629 * yScale), 0, SCROLL_FILTER); scrFilter = env->addScrollBar(false, recti(995 * xScale, 159 * yScale, 1020 * xScale, 629 * yScale), 0, SCROLL_FILTER);
#endif #endif
scrFilter->setLargeStep(10); scrFilter->setLargeStep(10);
scrFilter->setSmallStep(1); scrFilter->setSmallStep(1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment