Commit ded23b21 authored by fallenstardust's avatar fallenstardust

drag cardtext

parent 615a10d5
......@@ -12,6 +12,9 @@ namespace ygo {
ClientField::ClientField() {
panel = 0;
is_dragging_cardtext = false;
dragging_cardtext_start_pos = 0;
dragging_cardtext_start_y = 0;
hovered_card = 0;
clicked_card = 0;
highlighting_card = 0;
......
......@@ -118,6 +118,9 @@ public:
void RefreshCardCountDisplay();
irr::gui::IGUIElement* panel;
bool is_dragging_cardtext;
int dragging_cardtext_start_pos;
int dragging_cardtext_start_y;
std::vector<int> ancard;
int hovered_controler;
int hovered_location;
......
......@@ -309,9 +309,9 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
}
case BUTTON_OPTION_0:
case BUTTON_OPTION_1:
case BUTTON_OPTION_2:
case BUTTON_OPTION_3:
case BUTTON_OPTION_1:
case BUTTON_OPTION_2:
case BUTTON_OPTION_3:
case BUTTON_OPTION_4: {
mainGame->soundManager->PlaySoundEffect(SoundManager::SFX::BUTTON);
int step = mainGame->scrOption->isVisible() ? mainGame->scrOption->getPos() : 0;
......@@ -1980,6 +1980,46 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
}
break;
}
case irr::EET_MOUSE_INPUT_EVENT: {
switch(event.MouseInput.Event) {
case irr::EMIE_LMOUSE_PRESSED_DOWN: {
IGUIElement* root = mainGame->env->getRootGUIElement();
position2di mousepos = position2di(event.MouseInput.X, event.MouseInput.Y);
if(root->getElementFromPoint(mousepos) == mainGame->stText) {
if(!mainGame->scrCardText->isVisible()) {
break;
}
is_dragging_cardtext = true;
dragging_cardtext_start_pos = mainGame->scrCardText->getPos();
dragging_cardtext_start_y = event.MouseInput.Y;
return true;
}
break;
}
case irr::EMIE_LMOUSE_LEFT_UP: {
is_dragging_cardtext = false;
break;
}
case irr::EMIE_MOUSE_MOVED: {
if(is_dragging_cardtext) {
if(!mainGame->scrCardText->isVisible()) {
is_dragging_cardtext = false;
break;
}
int step = mainGame->guiFont->getDimension(L"A").Height + mainGame->guiFont->getKerningHeight();
int pos = dragging_cardtext_start_pos + (dragging_cardtext_start_y - event.MouseInput.Y) / step;
int max = mainGame->scrCardText->getMax();
if(pos < 0) pos = 0;
if(pos > max) pos = max;
mainGame->scrCardText->setPos(pos);
mainGame->SetStaticText(mainGame->stText, mainGame->stText->getRelativePosition().getWidth() - 25, mainGame->guiFont, mainGame->showingtext, pos);
}
break;
}
default: break;
}
break;
}
default: break;
}
return false;
......
......@@ -21,12 +21,16 @@
<pre>
更新:
1.更新ygo内核;
2.默认大师规则2020;
3.新卡1101+VJ;
4.左侧效果文本支持手指上下翻页;
新增:
1.搜索结果增加卡片收藏夹列表;
2.卡片详情可增加/移出搜藏;
3.右侧搜索界面可打开我的收藏★;
4.显示搜索结果统计数;
5.启动软件会执行原目录文件搬运(如果有);
6.搜索结果显示属性,种族,灵摆刻度;
变更:
1.不再在Sdcard根目录复制ygocore
而是在本应用分配合法目录下;
......@@ -41,7 +45,8 @@
会在搜索结果中置顶显示;
7.搜索结果大原则以
怪兽-魔法-陷阱顺序排列;
8.常用设置提前
8.搜索结果布局微调;
9.常用设置提前
(启用拓展卡包,决斗助手等)
</pre>
<h3 style="color:#ff0000">注意</h3>
......
......@@ -8,7 +8,7 @@ android {
applicationId "cn.garymb.ygomobile"
minSdkVersion 21
targetSdkVersion 28
versionCode 370000409
versionCode 370000420
versionName "3.7.0"
flavorDimensions "versionCode"
vectorDrawables.useSupportLibrary = true
......
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