Browse Source

♻️ Leverage 'Point.Contains' for bound checks related to character buttons

pull/2252/head
Juliano Leal Goncalves 5 years ago committed by Anders Jenbo
parent
commit
a37311ddc4
  1. 12
      Source/control.cpp
  2. 10
      Source/controls/plrctrls.cpp

12
Source/control.cpp

@ -1438,12 +1438,7 @@ void CheckChrBtns()
continue;
}
auto buttonId = static_cast<size_t>(attribute);
int x = ChrBtnsRect[buttonId].position.x + ChrBtnsRect[buttonId].size.width;
int y = ChrBtnsRect[buttonId].position.y + ChrBtnsRect[buttonId].size.height;
if (MousePosition.x >= ChrBtnsRect[buttonId].position.x
&& MousePosition.x <= x
&& MousePosition.y >= ChrBtnsRect[buttonId].position.y
&& MousePosition.y <= y) {
if (ChrBtnsRect[buttonId].Contains(MousePosition)) {
chrbtn[buttonId] = true;
chrbtnactive = true;
}
@ -1466,10 +1461,7 @@ void ReleaseChrBtns(bool addAllStatPoints)
continue;
chrbtn[buttonId] = false;
if (MousePosition.x >= ChrBtnsRect[buttonId].position.x
&& MousePosition.x <= ChrBtnsRect[buttonId].position.x + ChrBtnsRect[buttonId].size.width
&& MousePosition.y >= ChrBtnsRect[buttonId].position.y
&& MousePosition.y <= ChrBtnsRect[buttonId].position.y + ChrBtnsRect[buttonId].size.height) {
if (ChrBtnsRect[buttonId].Contains(MousePosition)) {
auto &myPlayer = plr[myplr];
int statPointsToAdd = 1;
if (addAllStatPoints)

10
Source/controls/plrctrls.cpp

@ -465,10 +465,7 @@ void AttrIncBtnSnap(AxisDirection dir)
// first, find our cursor location
int slot = 0;
for (int i = 0; i < 4; i++) {
if (MousePosition.x >= ChrBtnsRect[i].position.x
&& MousePosition.x <= ChrBtnsRect[i].position.x + ChrBtnsRect[i].size.width
&& MousePosition.y >= ChrBtnsRect[i].position.y
&& MousePosition.y <= ChrBtnsRect[i].size.height + ChrBtnsRect[i].position.y) {
if (ChrBtnsRect[i].Contains(MousePosition)) {
slot = i;
break;
}
@ -1382,10 +1379,7 @@ void PerformPrimaryAction()
if (chrflag && !chrbtnactive && plr[myplr]._pStatPts > 0) {
CheckChrBtns();
for (int i = 0; i < 4; i++) {
if (MousePosition.x >= ChrBtnsRect[i].position.x
&& MousePosition.x <= ChrBtnsRect[i].position.x + ChrBtnsRect[i].size.width
&& MousePosition.y >= ChrBtnsRect[i].position.y
&& MousePosition.y <= ChrBtnsRect[i].size.height + ChrBtnsRect[i].position.y) {
if (ChrBtnsRect[i].Contains(MousePosition)) {
chrbtn[i] = true;
chrbtnactive = true;
ReleaseChrBtns(false);

Loading…
Cancel
Save