Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile-Cn-Ko-En
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fallenstardust
YGOMobile-Cn-Ko-En
Commits
79620b2d
Commit
79620b2d
authored
Apr 20, 2020
by
fallenstardust
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test 设置选项drag
parent
ded23b21
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
1 deletion
+62
-1
Classes/gframe/client_field.cpp
Classes/gframe/client_field.cpp
+9
-0
Classes/gframe/client_field.h
Classes/gframe/client_field.h
+7
-1
Classes/gframe/event_handler.cpp
Classes/gframe/event_handler.cpp
+46
-0
No files found.
Classes/gframe/client_field.cpp
View file @
79620b2d
...
...
@@ -12,9 +12,18 @@ namespace ygo {
ClientField
::
ClientField
()
{
panel
=
0
;
//drag cardtext
is_dragging_cardtext
=
false
;
dragging_cardtext_start_pos
=
0
;
dragging_cardtext_start_y
=
0
;
//drag tabHelper
is_dragging_tabHelper
=
false
;
dragging_tabHelper_start_pos
=
0
;
dragging_tabHelper_start_y
=
0
;
//drag tabSystem
is_dragging_tabSystem
=
false
;
dragging_tabSystem_start_pos
=
0
;
dragging_tabSystem_start_y
=
0
;
hovered_card
=
0
;
clicked_card
=
0
;
highlighting_card
=
0
;
...
...
Classes/gframe/client_field.h
View file @
79620b2d
...
...
@@ -121,7 +121,13 @@ public:
bool
is_dragging_cardtext
;
int
dragging_cardtext_start_pos
;
int
dragging_cardtext_start_y
;
std
::
vector
<
int
>
ancard
;
bool
is_dragging_tabHelper
;
int
dragging_tabHelper_start_pos
;
int
dragging_tabHelper_start_y
;
bool
is_dragging_tabSystem
;
int
dragging_tabSystem_start_pos
;
int
dragging_tabSystem_start_y
;
std
::
vector
<
int
>
ancard
;
int
hovered_controler
;
int
hovered_location
;
size_t
hovered_sequence
;
...
...
Classes/gframe/event_handler.cpp
View file @
79620b2d
...
...
@@ -1994,10 +1994,30 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
dragging_cardtext_start_y
=
event
.
MouseInput
.
Y
;
return
true
;
}
if
(
root
->
getElementFromPoint
(
mousepos
)
==
mainGame
->
tabHelper
){
/*if(!mainGame->scrTabHelper->isVisible()) {
break;
}*/
is_dragging_tabHelper
=
true
;
dragging_tabHelper_start_pos
=
mainGame
->
scrTabHelper
->
getPos
();
dragging_tabHelper_start_y
=
event
.
MouseInput
.
Y
;
return
true
;
}
if
(
root
->
getElementFromPoint
(
mousepos
)
==
mainGame
->
tabSystem
){
/*if(!mainGame->scrTabSystem->isVisible()) {
break;
}*/
is_dragging_tabSystem
=
true
;
dragging_tabSystem_start_pos
=
mainGame
->
scrTabSystem
->
getPos
();
dragging_tabSystem_start_y
=
event
.
MouseInput
.
Y
;
return
true
;
}
break
;
}
case
irr
:
:
EMIE_LMOUSE_LEFT_UP
:
{
is_dragging_cardtext
=
false
;
is_dragging_tabHelper
=
false
;
is_dragging_tabSystem
=
false
;
break
;
}
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
...
...
@@ -2014,6 +2034,32 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
mainGame
->
scrCardText
->
setPos
(
pos
);
mainGame
->
SetStaticText
(
mainGame
->
stText
,
mainGame
->
stText
->
getRelativePosition
().
getWidth
()
-
25
,
mainGame
->
guiFont
,
mainGame
->
showingtext
,
pos
);
}
if
(
is_dragging_tabHelper
)
{
if
(
!
mainGame
->
scrTabHelper
->
isVisible
())
{
is_dragging_tabHelper
=
false
;
break
;
}
rect
<
s32
>
tabHelperpos
=
mainGame
->
tabHelper
->
getRelativePosition
();
int
pos
=
dragging_tabHelper_start_pos
+
(
dragging_tabHelper_start_y
-
event
.
MouseInput
.
Y
);
int
max
=
mainGame
->
scrTabHelper
->
getMax
();
if
(
pos
<
0
)
pos
=
0
;
if
(
pos
>
max
)
pos
=
max
;
mainGame
->
scrTabHelper
->
setPos
(
pos
);
mainGame
->
tabHelper
->
setRelativePosition
(
recti
(
0
,
mainGame
->
scrTabHelper
->
getPos
()
*
-
1
,
tabHelperpos
.
LowerRightCorner
.
X
,
tabHelperpos
.
LowerRightCorner
.
Y
-
event
.
MouseInput
.
Y
));
}
if
(
is_dragging_tabSystem
)
{
if
(
!
mainGame
->
scrTabSystem
->
isVisible
())
{
is_dragging_tabSystem
=
false
;
break
;
}
rect
<
s32
>
tabSystempos
=
mainGame
->
tabSystem
->
getRelativePosition
();
int
pos
=
dragging_tabSystem_start_pos
+
(
dragging_tabSystem_start_y
-
event
.
MouseInput
.
Y
);
int
max
=
mainGame
->
scrTabSystem
->
getMax
();
if
(
pos
<
0
)
pos
=
0
;
if
(
pos
>
max
)
pos
=
max
;
mainGame
->
scrTabSystem
->
setPos
(
pos
);
mainGame
->
tabHelper
->
setRelativePosition
(
recti
(
0
,
mainGame
->
scrTabHelper
->
getPos
()
*
-
1
,
tabSystempos
.
LowerRightCorner
.
X
,
tabSystempos
.
LowerRightCorner
.
Y
-
event
.
MouseInput
.
Y
));
}
break
;
}
default:
break
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment