|
|
@ -9,6 +9,7 @@ |
|
|
|
package engine.wpak; |
|
|
|
package engine.wpak; |
|
|
|
|
|
|
|
|
|
|
|
import engine.gameManager.ConfigManager; |
|
|
|
import engine.gameManager.ConfigManager; |
|
|
|
|
|
|
|
import engine.wpak.data.EffectDescription; |
|
|
|
import engine.wpak.data.PowerActionEntry; |
|
|
|
import engine.wpak.data.PowerActionEntry; |
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
import java.io.IOException; |
|
|
@ -54,6 +55,8 @@ public class PowerActionParser { |
|
|
|
private static PowerActionEntry parsePowerActionEntry(String powerActionData) { |
|
|
|
private static PowerActionEntry parsePowerActionEntry(String powerActionData) { |
|
|
|
|
|
|
|
|
|
|
|
PowerActionEntry powerActionEntry = new PowerActionEntry(); |
|
|
|
PowerActionEntry powerActionEntry = new PowerActionEntry(); |
|
|
|
|
|
|
|
EffectDescription effectDescription; |
|
|
|
|
|
|
|
|
|
|
|
// Remove all lines that contain a # and leading/trailing blank lines
|
|
|
|
// Remove all lines that contain a # and leading/trailing blank lines
|
|
|
|
|
|
|
|
|
|
|
|
powerActionData = powerActionData.replaceAll("(?m)^(\\s*#.*|\\s*)\r?\n?", "").trim(); |
|
|
|
powerActionData = powerActionData.replaceAll("(?m)^(\\s*#.*|\\s*)\r?\n?", "").trim(); |
|
|
@ -62,9 +65,9 @@ public class PowerActionParser { |
|
|
|
|
|
|
|
|
|
|
|
// Parse effect entry header
|
|
|
|
// Parse effect entry header
|
|
|
|
|
|
|
|
|
|
|
|
Iterator iterator = Arrays.stream(lineData).iterator(); |
|
|
|
Iterator<String> entryIterator = Arrays.stream(lineData).iterator(); |
|
|
|
|
|
|
|
|
|
|
|
String headerLine = iterator.next().toString(); |
|
|
|
String headerLine = entryIterator.next(); |
|
|
|
ArrayList<String> headerData = new ArrayList<>(); |
|
|
|
ArrayList<String> headerData = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
Matcher matcher = STRSPLIT_REGEX.matcher(headerLine.trim()); |
|
|
|
Matcher matcher = STRSPLIT_REGEX.matcher(headerLine.trim()); |
|
|
@ -72,6 +75,17 @@ public class PowerActionParser { |
|
|
|
while (matcher.find()) |
|
|
|
while (matcher.find()) |
|
|
|
headerData.add(matcher.group().trim()); |
|
|
|
headerData.add(matcher.group().trim()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Iterator<String> headerIterator = headerData.iterator(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
powerActionEntry.action_id = headerIterator.next(); |
|
|
|
|
|
|
|
powerActionEntry.action_type = headerIterator.next(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while (headerIterator.hasNext()) { |
|
|
|
|
|
|
|
effectDescription = new EffectDescription(); |
|
|
|
|
|
|
|
effectDescription.effect_id = headerIterator.next(); |
|
|
|
|
|
|
|
effectDescription.level = Integer.parseInt(headerIterator.next()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return powerActionEntry; |
|
|
|
return powerActionEntry; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|