summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2018-07-26 21:22:28 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2018-07-26 21:22:28 +0200
commitc3a69de5c2e822d91e8284ac65eda83fed6476ba (patch)
treefce44421bdb8230cfcb2b614ea00b26439f4e67d
parentbfdc0b9f497ef10f6687abcc55d93405c611af11 (diff)
+ BaseUnit.cpp, BaseUnit.h: added simple member functions for extracting BaseUnit protected data.
+ HumanPlayer.cpp: started implementing unit selection. Still TODO.
-rw-r--r--BaseUnit.cpp36
-rw-r--r--BaseUnit.h3
-rw-r--r--HumanPlayer.cpp24
-rw-r--r--PocketEmpires.geany12
4 files changed, 69 insertions, 6 deletions
diff --git a/BaseUnit.cpp b/BaseUnit.cpp
index 55ee7de..c06a6b4 100644
--- a/BaseUnit.cpp
+++ b/BaseUnit.cpp
@@ -66,3 +66,39 @@ void BaseUnit::create(const uint16_t x, const uint16_t y)
void BaseUnit::handler(void)
{
}
+
+/*****************************************************************//**
+ *
+ * \brief Returns Unit alive flag.
+ *
+ * \return Returns true if Unit object is alive, false otherwise.
+ *
+ *********************************************************************/
+bool BaseUnit::isAlive(void)
+{
+ return _alive;
+}
+
+/*****************************************************************//**
+ *
+ * \brief Returns Unit selected flag.
+ *
+ * \return Returns true if Unit object is selected, false otherwise.
+ *
+ *********************************************************************/
+bool BaseUnit::isSelected(void)
+{
+ return _selected;
+}
+
+/*****************************************************************//**
+ *
+ * \brief Returns Unit X coordinates.
+ *
+ * \return Returns Unit X coordinates.
+ *
+ *********************************************************************/
+uint16_t BaseUnit::getX(void)
+{
+ return _x;
+}
diff --git a/BaseUnit.h b/BaseUnit.h
index a5dfc35..7eafcb3 100644
--- a/BaseUnit.h
+++ b/BaseUnit.h
@@ -34,6 +34,9 @@ class BaseUnit
explicit BaseUnit(void);
void handler(void);
void create(const uint16_t x, const uint16_t y);
+ bool isAlive(void);
+ bool isSelected(void);
+ uint16_t getX(void);
protected:
uint16_t _hp; /**< Health points. */
diff --git a/HumanPlayer.cpp b/HumanPlayer.cpp
index d13bc6b..02bda69 100644
--- a/HumanPlayer.cpp
+++ b/HumanPlayer.cpp
@@ -123,4 +123,28 @@ void HumanPlayer::drawHandler(void)
*********************************************************************/
enum tPlayerState HumanPlayer::selectUnit(void)
{
+ for (size_t szUnit = 0; szUnit < MAX_UNITS; szUnit++)
+ {
+ /* Select Unit object from internal table. */
+ Unit& u = _unitsMap[szUnit];
+
+ if (u.isAlive())
+ {
+ if (not u.isSelected())
+ {
+ /* Extract Unit object X position. */
+ const uint16_t x = u.getX();
+
+#error ("TODO")
+ }
+ else
+ {
+ /* Unit is already selected. Continue. */
+ }
+ }
+ else
+ {
+ /* Unit is not alive. Continue. */
+ }
+ }
}
diff --git a/PocketEmpires.geany b/PocketEmpires.geany
index 89d5168..42bae1c 100644
--- a/PocketEmpires.geany
+++ b/PocketEmpires.geany
@@ -28,7 +28,7 @@ long_line_behaviour=1
long_line_column=120
[files]
-current_page=37
+current_page=36
FILE_NAME_0=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2Fmain.cpp;0;4
FILE_NAME_1=3821;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.cpp;0;4
FILE_NAME_2=549;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.cpp;0;4
@@ -38,7 +38,7 @@ FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.
FILE_NAME_6=1102;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.h;0;4
FILE_NAME_7=453;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMakefile;0;4
FILE_NAME_8=2168;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.cpp;0;4
-FILE_NAME_9=1739;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4
+FILE_NAME_9=1689;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4
FILE_NAME_10=1827;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.cpp;0;4
FILE_NAME_11=2960;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.cpp;0;4
FILE_NAME_12=571;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.h;0;4
@@ -53,8 +53,8 @@ FILE_NAME_20=3497;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLi
FILE_NAME_21=1135;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.h;0;4
FILE_NAME_22=3441;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2Fsettings.c;0;4
FILE_NAME_23=19868;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4
-FILE_NAME_24=1492;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4
-FILE_NAME_25=1230;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4
+FILE_NAME_24=3082;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4
+FILE_NAME_25=1289;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4
FILE_NAME_26=1511;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4
FILE_NAME_27=1197;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4
FILE_NAME_28=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBarracksSpr.i;0;4
@@ -65,8 +65,8 @@ FILE_NAME_32=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTowe
FILE_NAME_33=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4
FILE_NAME_34=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4
FILE_NAME_35=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4
-FILE_NAME_36=3153;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4
-FILE_NAME_37=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4
+FILE_NAME_36=3994;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4
+FILE_NAME_37=6419;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4
[VTE]
last_dir=/home/xavier/PocketEmpires/src