Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
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
YGOPRO-520DIY
ygopro
Commits
5f4df1ee
Commit
5f4df1ee
authored
May 21, 2014
by
Damien Lawford
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Hand Collision
parent
e9a7686b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
10 deletions
+14
-10
gframe/event_handler.cpp
gframe/event_handler.cpp
+14
-10
No files found.
gframe/event_handler.cpp
View file @
5f4df1ee
...
@@ -1502,21 +1502,23 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1502,21 +1502,23 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
return
false
;
return
false
;
}
}
void
ClientField
::
GetHoverField
(
int
x
,
int
y
)
{
void
ClientField
::
GetHoverField
(
int
x
,
int
y
)
{
irr
::
core
::
recti
sfRect
(
393
,
504
,
875
,
600
);
irr
::
core
::
recti
sfRect
(
430
,
504
,
875
,
600
);
irr
::
core
::
recti
ofRect
(
5
01
,
135
,
79
0
,
191
);
irr
::
core
::
recti
ofRect
(
5
31
,
135
,
80
0
,
191
);
irr
::
core
::
position2di
pos
(
x
,
y
);
irr
::
core
::
position2di
pos
(
x
,
y
);
if
(
sfRect
.
isPointInside
(
pos
))
{
if
(
sfRect
.
isPointInside
(
pos
))
{
int
hc
=
hand
[
0
].
size
();
int
hc
=
hand
[
0
].
size
();
if
(
hc
==
0
)
if
(
hc
==
0
)
hovered_location
=
0
;
hovered_location
=
0
;
else
if
(
hc
<
7
)
{
else
if
(
hc
<
7
)
{
int
left
=
393
+
82
*
(
6
-
hc
)
/
2
;
int
cardSize
=
66
;
int
cardSpace
=
10
;
int
left
=
sfRect
.
UpperLeftCorner
.
X
+
(
cardSize
+
cardSpace
)
*
(
6
-
hc
)
/
2
;
if
(
x
<
left
)
if
(
x
<
left
)
hovered_location
=
0
;
hovered_location
=
0
;
else
{
else
{
int
seq
=
(
x
-
left
)
/
82
;
int
seq
=
(
x
-
left
)
/
(
cardSize
+
cardSpace
)
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
x
-
left
-
82
*
seq
<
71
)
{
if
(
x
-
left
-
(
cardSize
+
cardSpace
)
*
seq
<
cardSize
)
{
hovered_controler
=
0
;
hovered_controler
=
0
;
hovered_location
=
LOCATION_HAND
;
hovered_location
=
LOCATION_HAND
;
hovered_sequence
=
seq
;
hovered_sequence
=
seq
;
...
@@ -1528,20 +1530,22 @@ void ClientField::GetHoverField(int x, int y) {
...
@@ -1528,20 +1530,22 @@ void ClientField::GetHoverField(int x, int y) {
if
(
x
>=
804
)
if
(
x
>=
804
)
hovered_sequence
=
hc
-
1
;
hovered_sequence
=
hc
-
1
;
else
else
hovered_sequence
=
(
x
-
393
)
*
(
hc
-
1
)
/
411
;
hovered_sequence
=
(
x
-
sfRect
.
UpperLeftCorner
.
X
)
*
(
hc
-
1
)
/
393
;
}
}
}
else
if
(
ofRect
.
isPointInside
(
pos
))
{
}
else
if
(
ofRect
.
isPointInside
(
pos
))
{
int
hc
=
hand
[
1
].
size
();
int
hc
=
hand
[
1
].
size
();
if
(
hc
==
0
)
if
(
hc
==
0
)
hovered_location
=
0
;
hovered_location
=
0
;
else
if
(
hc
<
7
)
{
else
if
(
hc
<
7
)
{
int
left
=
501
+
49
*
(
6
-
hc
)
/
2
;
int
cardSize
=
39
;
int
cardSpace
=
7
;
int
left
=
ofRect
.
UpperLeftCorner
.
X
+
(
cardSize
+
cardSpace
)
*
(
6
-
hc
)
/
2
;
if
(
x
<
left
)
if
(
x
<
left
)
hovered_location
=
0
;
hovered_location
=
0
;
else
{
else
{
int
seq
=
(
x
-
left
)
/
49
;
int
seq
=
(
x
-
left
)
/
(
cardSize
+
cardSpace
)
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
x
-
left
-
49
*
seq
<
42
)
{
if
(
x
-
left
-
(
cardSize
+
cardSpace
)
*
seq
<
cardSize
)
{
hovered_controler
=
1
;
hovered_controler
=
1
;
hovered_location
=
LOCATION_HAND
;
hovered_location
=
LOCATION_HAND
;
hovered_sequence
=
hc
-
1
-
seq
;
hovered_sequence
=
hc
-
1
-
seq
;
...
@@ -1553,7 +1557,7 @@ void ClientField::GetHoverField(int x, int y) {
...
@@ -1553,7 +1557,7 @@ void ClientField::GetHoverField(int x, int y) {
if
(
x
>=
748
)
if
(
x
>=
748
)
hovered_sequence
=
0
;
hovered_sequence
=
0
;
else
else
hovered_sequence
=
hc
-
1
-
(
x
-
501
)
*
(
hc
-
1
)
/
247
;
hovered_sequence
=
hc
-
1
-
(
x
-
ofRect
.
UpperLeftCorner
.
X
)
*
(
hc
-
1
)
/
247
;
}
}
}
else
{
}
else
{
double
screenx
=
x
/
1024.0
*
1.35
-
0.90
;
double
screenx
=
x
/
1024.0
*
1.35
-
0.90
;
...
...
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