PowerActionEntry parsing work.
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user