Files
prestonbane/src/engine/jobs/DatabaseUpdateJob.java
T

65 lines
2.3 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
2023-07-15 09:23:48 -04:00
package engine.jobs;
2022-04-30 09:41:17 -04:00
import engine.Enum.GameObjectType;
import engine.gameManager.DbManager;
import engine.job.AbstractScheduleJob;
import engine.objects.AbstractGameObject;
import engine.objects.Building;
import engine.objects.PlayerCharacter;
public class DatabaseUpdateJob extends AbstractScheduleJob {
2023-07-15 09:23:48 -04:00
private final AbstractGameObject ago;
private final String type;
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
public DatabaseUpdateJob(AbstractGameObject ago, String type) {
super();
this.ago = ago;
this.type = type;
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected void doJob() {
if (this.ago == null)
return;
ago.removeDatabaseJob(this.type, false);
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
if (ago.getObjectType().equals(GameObjectType.PlayerCharacter)) {
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
PlayerCharacter pc = (PlayerCharacter) ago;
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
switch (this.type) {
case "Skills":
pc.updateSkillsAndPowersToDatabase();
break;
case "Stats":
DbManager.PlayerCharacterQueries.UPDATE_CHARACTER_STATS(pc);
break;
case "EXP":
DbManager.PlayerCharacterQueries.UPDATE_CHARACTER_EXPERIENCE(pc);
break;
}
} else if (ago instanceof Building) {
Building b = (Building) ago;
if (this.type.equals("health"))
DbManager.BuildingQueries.UPDATE_BUILDING_HEALTH(b.getObjectUUID(), (int) (b.getHealth()));
}
}
@Override
protected void _cancelJob() {
}
2022-04-30 09:41:17 -04:00
}