package com.weem.epicinventor;
import com.weem.epicinventor.actor.monster.*;
import com.weem.epicinventor.particle.*;
import com.weem.epicinventor.projectile.*;
import com.weem.epicinventor.resource.*;
import com.weem.epicinventor.utility.*;
import java.awt.*;
public abstract class Manager {
transient protected GameController gameController;
transient protected Registry registry;
private final static float LONG_UPDATE_INTERVAL = 0.50f;
private long longUpdateCheckTime;
public Manager() {
gameController = null;
registry = null;
}
public Manager(GameController gc, Registry rg) {
gameController = gc;
registry = rg;
}
public void setTransient(Registry rg) {
registry = rg;
gameController = rg.getGameController();
}
public int findFloor(int xWorld) {
return gameController.findFloor(xWorld);
}
public int findNextFloor(int xWorld, int yWorld, int height) {
return gameController.findNextFloor(xWorld, yWorld, height);
}
public Rectangle getPanelRect() {
return gameController.getPanelRect();
}
public boolean isKeyDown(int k) {
return gameController.isKeyDown(k);
}
public void gameExit() {
gameController.gameExit();
}
public void resetGame(boolean showHelp) {
gameController.resetGame(showHelp);
}
public void resetGame() {
gameController.resetGame();
}
public boolean getIsPaused() {
return gameController.getIsPaused();
}
public boolean getIsMasterPaused() {
return gameController.getIsMasterPaused();
}
public void resumeMasterGame() {
gameController.resumeMasterGame();
}
public void pauseMasterGame() {
gameController.pauseMasterGame();
}
public void togglePaused() {
gameController.togglePaused();
}
public int getPWidth() {
return gameController.getPWidth();
}
public int getPHeight() {
return gameController.getPHeight();
}
public int getMapWidth() {
return gameController.getMapWidth();
}
public int getMapHeight() {
return gameController.getMapHeight();
}
public int getMapOffsetX() {
return gameController.getMapOffsetX();
}
public int getMapOffsetY() {
return gameController.getMapOffsetY();
}
public int getBlockHeight() {
return gameController.getBlockHeight();
}
public int getBlockWidth() {
return gameController.getBlockWidth();
}
public Point getNearestTownHallXY(Point p) {
return gameController.getNearestTownHallXY(p);
}
public int getActivatedCount(String type) {
return gameController.getActivatedCount(type);
}
public boolean currentlyPlacing() {
return gameController.currentlyPlacing();
}
public boolean checkMobProjectileHit(Projectile p) {
return gameController.checkMobProjectileHit(p);
}
public boolean checkMobParticleHit(Particle p) {
return gameController.checkMobParticleHit(p);
}
public boolean checkPlayerProjectileHit(Projectile p) {
return gameController.checkPlayerProjectileHit(p);
}
public boolean checkPlaceableProjectileHit(Projectile p) {
return gameController.checkPlaceableProjectileHit(p);
}
public ResourceType getResourceTypeByResourceId(String id) {
return gameController.getResourceTypeByResourceId(id);
}
public void showLevelUpGraphic() {
gameController.showLevelUpGraphic();
}
public Resource getResourceById(String id) {
return gameController.getResourceById(id);
}
public int mapToPanelX(int x) {
return x - gameController.getMapOffsetX();
}
public int mapToPanelY(int y) {
return y - gameController.getMapOffsetY();
}
public int panelToMapX(int x) {
return x + gameController.getMapOffsetX();
}
public int panelToMapY(int y) {
y = gameController.getMapOffsetY() + gameController.getPHeight() - y;
return y;
}
public String getCurrentVersion() {
return gameController.getCurrentVersion();
}
public boolean getIsOnline() {
return gameController.getIsOnline();
}
public int[] getCurrentPower() {
return gameController.getCurrentPower();
}
public void shakeCamera(long time, int amount) {
gameController.shakeCamera(time, amount);
}
public void stunPlayersOnGround(long duration) {
gameController.stunPlayersOnGround(duration);
}
public boolean playerStandingOnTownBlocks() {
return gameController.playerStandingOnTownBlocks();
}
public String playerGetInventoryItemCategory(int slot) {
return gameController.playerGetInventoryItemCategory(slot);
}
public String playerGetInventoryItemName(int slot) {
return gameController.playerGetInventoryItemName(slot);
}
public int playerGetInventoryQty(int slot) {
return gameController.playerGetInventoryQty(slot);
}
public int playerGetInventoryLevel(int slot) {
return gameController.playerGetInventoryLevel(slot);
}
public int playerAddItem(String name, int qty) {
return gameController.playerAddItem(0, name, qty);
}
public int playerAddItem(String name, int qty, int level) {
return gameController.playerAddItem(0, name, qty, level);
}
public int checkMapX(int x, int objWidth) {
return gameController.checkMapX(x, objWidth);
}
public int checkMapY(int y, int objHeight) {
return gameController.checkMapY(y, objHeight);
}
public void centerCameraOnPoint(Point p) {
gameController.centerCameraOnPoint(p);
}
public int checkForBlock(Point p) {
return gameController.checkForBlock(p);
}
public boolean doesRectContainBlocks(int mapX, int mapY, int width, int height) {
return gameController.doesRectContainBlocks(mapX, mapY, width, height);
}
public void monsterAttackPlaceable(Monster source, Rectangle attackRect, int meleeDamage) {
gameController.monsterAttackPlaceable(source, attackRect, meleeDamage);
}
public void displayProgress(Graphics g, int x, int y, int progress, String displayText) {
ProgressBar.displayProgress(g, gameController, registry.getImageLoader(), x, y, progress, displayText);
}
public void displayHP(Graphics g, int x, int y, int progress) {
HPBar.displayHP(g, gameController, registry.getImageLoader(), x, y, progress);
}
public int getXPNeededForLevel(int l) {
int[] xpTable = new int[22];
xpTable[0] = 0;
xpTable[1] = 0;
xpTable[2] = 80;
xpTable[3] = 245;
xpTable[4] = 720;
xpTable[5] = 1805;
xpTable[6] = 3920;
xpTable[7] = 7605;
xpTable[8] = 13520;
xpTable[9] = 22445;
xpTable[10] = 35280;
xpTable[11] = 53045;
xpTable[12] = 76880;
xpTable[13] = 108045;
xpTable[14] = 147920;
xpTable[15] = 198005;
xpTable[16] = 259920;
xpTable[17] = 335405;
xpTable[18] = 426320;
xpTable[19] = 534645;
xpTable[20] = 662480;
xpTable[21] = 812045;
if (l > 1 && l <= xpTable.length) {
return xpTable[l];
} else {
return 0;
}
}
public void saveAndQuit() {
gameController.saveAndQuit();
}
public void updateMusicVolume() {
gameController.updateMusicVolume();
}
public void updateMusicVolume(float v) {
gameController.updateMusicVolume(v);
}
public boolean isInPlayerView(Point p) {
return gameController.isInPlayerView(p);
}
public boolean isInFrontOfPlaceable(Rectangle r) {
return gameController.isInFrontOfPlaceable(r);
}
public void update() {
longUpdateCheckTime += registry.getImageLoader().getPeriod();
if (((float)longUpdateCheckTime / 1000.0f) >= LONG_UPDATE_INTERVAL) {
longUpdateCheckTime = 0;
updateLong();
}
}
public void updateLong() {
}
}