Files
Server/src/engine/jobs/UpgradeBuildingJob.java
T

54 lines
1.1 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
package engine.jobs;
import engine.job.AbstractScheduleJob;
import engine.objects.Building;
import org.pmw.tinylog.Logger;
/*
* This class handles upgrading of buildings, swapping the
* appropriate mesh according to the building's blueprint.
* @Author
*/
public class UpgradeBuildingJob extends AbstractScheduleJob {
2023-07-15 09:23:48 -04:00
private final Building rankingBuilding;
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
public UpgradeBuildingJob(Building building) {
super();
this.rankingBuilding = building;
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected void doJob() {
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
// Must have a building to rank!
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
if (rankingBuilding == null) {
Logger.error("Attempting to rank null building");
return;
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
// Make sure the building is currently set to upgrade
// (Duplicate job sanity check)
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
if (rankingBuilding.isRanking() == false)
return;
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
// SetCurrentRank also changes the mesh and maxhp
// accordingly for buildings with blueprints
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
rankingBuilding.setRank(rankingBuilding.getRank() + 1);
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
// Reload the object
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected void _cancelJob() {
}
2022-04-30 09:41:17 -04:00
}