Updated mouse cursor icon when hovering over enemy unit and neutral

terrain.

Changed group selection behavior, now it will cause a de-selection of
all selected units if there is no unit being selected by the selecting
rectangle.
This commit is contained in:
Pan 2021-04-17 15:44:32 +12:00
parent 388d31a756
commit c68f946655
3 changed files with 981 additions and 949 deletions

View File

@ -49,7 +49,7 @@ public class highscoreManager implements Runnable{
try {
connect = DriverManager.getConnection("jdbc:mysql://studdb-mysql.fos.auckland.ac.nz:3306/teaching_phu004_351_C_S1_2020", "phu004", "phu004");
connect = DriverManager.getConnection("jdbc:mysql://remotemysql.com:3306/eIKK87lMRT", "eIKK87lMRT", "kgiFO3nGzT");
} catch (Exception e) {
// TODO Auto-generated catch block

File diff suppressed because it is too large Load Diff

View File

@ -125,26 +125,28 @@ public class gameCursor {
drawIcon(arrowIcons[5], cursorX, cursorY);
}else if(mouseOverSelectableUnit && !cursorIsInMiniMap && !cursorIsInSideBar){
if(!hasHarvesterSelected && !hasTroopsSelected && !hasTowerSelected) {
//if(!mouseOverUnitIsSelected)
// drawSelectionIcon(mouseX, mouseY);
//else
if((hasTroopsSelected || hasTowerSelected) && mouseOverUnitTeam == 1) {
drawActionIcon(mouseX, mouseY, 1);
}else if(!hasHarvesterSelected && !hasTroopsSelected && !hasTowerSelected) {
if(!mouseOverUnitIsSelected)
drawSelectionIcon(mouseX, mouseY);
else
drawIcon(cursorIcon, mouseX, mouseY);
}else if(mouseOverUnitTeam == 0 && !(attackKeyPressed && (hasTroopsSelected || hasTowerSelected)) && !(hasHarvesterSelected && mouseOverUnitType == 102)) {
//if(!mouseOverUnitIsSelected)
// drawSelectionIcon(mouseX, mouseY);
//else
if(!mouseOverUnitIsSelected)
drawSelectionIcon(mouseX, mouseY);
else
drawIcon(cursorIcon, mouseX, mouseY);
}else if(mouseOverUnitType == 103 && !hasHarvesterSelected && !((hasTroopsSelected || hasTowerSelected) && attackKeyPressed)) {
//if(!mouseOverUnitIsSelected)
// drawSelectionIcon(mouseX, mouseY);
//else
if(!mouseOverUnitIsSelected)
drawSelectionIcon(mouseX, mouseY);
else
drawIcon(cursorIcon, mouseX, mouseY);
}else if((hasTroopsSelected || hasTowerSelected) && attackKeyPressed) {
drawActionIcon(mouseX, mouseY, 1);
}else if(hasHarvesterSelected && (mouseOverUnitType == 102 || mouseOverUnitType == 103)) {
//drawActionIcon(mouseX, mouseY, 2);
drawIcon(cursorIcon, mouseX, mouseY);
drawActionIcon(mouseX, mouseY, 2);
//drawIcon(cursorIcon, mouseX, mouseY);
}else {
drawIcon(cursorIcon, mouseX, mouseY);
}
@ -153,17 +155,18 @@ public class gameCursor {
if(!hasHarvesterSelected && !hasTroopsSelected && !hasTowerSelected && !hasConVehicleSelected) {
drawIcon(cursorIcon, mouseX, mouseY);
}else if(((hasHarvesterSelected || hasConVehicleSelected) && !(hasTroopsSelected)) || ((hasTroopsSelected || hasTowerSelected) && !attackKeyPressed) ) {
//drawActionIcon(mouseX, mouseY, 0);
drawIcon(cursorIcon, mouseX, mouseY);
drawActionIcon(mouseX, mouseY, 0);
//drawIcon(cursorIcon, mouseX, mouseY);
}else if((hasTroopsSelected || hasTowerSelected) && attackKeyPressed) {
drawActionIcon(mouseX, mouseY, 1);
}
}else if(cursorIsInMiniMap && attackKeyPressed && hasTroopsSelected){
drawMinimapAttackIcon(mouseX, mouseY);
}else if(cursorIsInMiniMap && (hasTroopsSelected || hasConVehicleSelected || hasHarvesterSelected)){
drawMinimapMoveIcon(mouseX, mouseY);
}else {
//draw default icon
drawIcon(cursorIcon, mouseX, mouseY);
}
}else {
@ -219,8 +222,36 @@ public class gameCursor {
}
}
}
}
public void drawMinimapMoveIcon(int xPos, int yPos) {
int arrowColor = 34 << 16 | 200 << 8 | 76;
int index = 0;
int color = 0;
int blue = 0;
int red = 0;
int start = xPos - 10 + (yPos-10)*768;
for(int i = 0; i < 20; i++) {
for(int j = 0; j < 20; j++) {
index = start + j + i*768;
if(index > 0 && index < 393216) {
color = smallArrowIcons4[j+i*20];
blue = color&0xff;
red = (color&0xff0000) >> 16;
if(red < 100 && blue > 100)
continue;
if(!pixelInsideSideArea(index))
continue;
if(red > 150)
color = arrowColor;
screen[index] = color;
}
}
}
}
public void drawActionIcon(int xPos, int yPos, int type) {