Browse Source

PowerActionEntry parsing work.

feature-config-parsing2
MagicBot 3 months ago
parent
commit
3909ddb3ba
  1. 39
      src/engine/wpak/PowerActionParser.java

39
src/engine/wpak/PowerActionParser.java

@ -9,11 +9,50 @@
package engine.wpak; package engine.wpak;
import engine.gameManager.ConfigManager; import engine.gameManager.ConfigManager;
import engine.wpak.data.PowerActionEntry;
import engine.wpak.data.PowerEntry;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class PowerActionParser { public class PowerActionParser {
private static final Pattern STRSPLIT_REGEX = Pattern.compile("([^\"]\\S*|\"[^\"]*\")\\s*"); private static final Pattern STRSPLIT_REGEX = Pattern.compile("([^\"]\\S*|\"[^\"]*\")\\s*");
private static final Pattern POWER_ACTION_REGEX = Pattern.compile("(?<=POWERACTIONBEGIN)(.+?)(?=POWERACTIONEND)", Pattern.DOTALL); private static final Pattern POWER_ACTION_REGEX = Pattern.compile("(?<=POWERACTIONBEGIN)(.+?)(?=POWERACTIONEND)", Pattern.DOTALL);
private static final String powerActionPath = ConfigManager.DEFAULT_DATA_DIR + "wpak/PowerActions.cfg"; private static final String powerActionPath = ConfigManager.DEFAULT_DATA_DIR + "wpak/PowerActions.cfg";
public static void parseWpakFile() {
// Read .wpak file from disk
byte[] fileData;
try {
fileData = Files.readAllBytes(Paths.get(powerActionPath));
} catch (
IOException e) {
throw new RuntimeException(e);
}
String fileContents = new String(fileData);
// Iterate over power entries from .wpak data
Matcher matcher = POWER_ACTION_REGEX.matcher(fileContents);
while (matcher.find()) {
PowerEntry powerEntry = parsePowerActionEntry(matcher.group().trim());
}
}
private static PowerActionEntry parsePowerEntry(String powerData) {
PowerActionEntry powerActionEntry = new PowerActionEntry();
return powerActionEntry;
}
} }

Loading…
Cancel
Save