PowerActionEntry parsing work.
This commit is contained in:
@@ -11,6 +11,7 @@ package engine.wpak;
|
|||||||
import engine.gameManager.ConfigManager;
|
import engine.gameManager.ConfigManager;
|
||||||
import engine.wpak.data.EffectDescription;
|
import engine.wpak.data.EffectDescription;
|
||||||
import engine.wpak.data.PowerActionEntry;
|
import engine.wpak.data.PowerActionEntry;
|
||||||
|
import org.pmw.tinylog.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
@@ -88,6 +89,52 @@ public class PowerActionParser {
|
|||||||
|
|
||||||
// Process key value pairs after header
|
// Process key value pairs after header
|
||||||
|
|
||||||
|
|
||||||
|
while (entryIterator.hasNext()) {
|
||||||
|
String lineValue = entryIterator.next();
|
||||||
|
String[] lineValues = lineValue.split("=");
|
||||||
|
String key = lineValues[0].trim();
|
||||||
|
String[] arguments;
|
||||||
|
|
||||||
|
switch (key) {
|
||||||
|
case "BODYPARTS":
|
||||||
|
arguments = lineValues[1].trim().split("\\s+");
|
||||||
|
|
||||||
|
for (String bodyPart : arguments)
|
||||||
|
powerActionEntry.bodyparts.add(Integer.parseInt(bodyPart));
|
||||||
|
break;
|
||||||
|
case "ISRESISTABLE":
|
||||||
|
powerActionEntry.isResistable = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "ISAGGRESSIVE":
|
||||||
|
powerActionEntry.isAggressive = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "BLADETRAILS":
|
||||||
|
powerActionEntry.bladeTrails = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "SHOULDSHOWWEAPONS":
|
||||||
|
powerActionEntry.shouldShowWeapons = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "SHOULDSHOWARMOR":
|
||||||
|
powerActionEntry.shouldShowArmor = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "APPLYEFFECTBLANK":
|
||||||
|
powerActionEntry.applyEffectBlank = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "WEAROFFEFFECTBLANK":
|
||||||
|
powerActionEntry.wearOffEffectBlank = Boolean.parseBoolean(lineValues[1].trim());
|
||||||
|
break;
|
||||||
|
case "ATTACKANIMS":
|
||||||
|
arguments = lineValues[1].trim().split("\\s+");
|
||||||
|
|
||||||
|
for (String bodyPart : arguments)
|
||||||
|
powerActionEntry.attackAnimations.add(Integer.parseInt(bodyPart));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Logger.error("Unhandled variable type:" + key + " for powerAction: " + powerActionEntry.action_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
return powerActionEntry;
|
return powerActionEntry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
package engine.wpak.data;
|
package engine.wpak.data;
|
||||||
|
|
||||||
|
import engine.mbEnums;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class PowerActionEntry {
|
public class PowerActionEntry {
|
||||||
@@ -15,4 +17,23 @@ public class PowerActionEntry {
|
|||||||
public String action_id;
|
public String action_id;
|
||||||
public String action_type;
|
public String action_type;
|
||||||
public ArrayList<EffectDescription> effects;
|
public ArrayList<EffectDescription> effects;
|
||||||
|
|
||||||
|
// Additional variables after header go here.
|
||||||
|
|
||||||
|
public ArrayList<Integer> bodyparts = new ArrayList<>();
|
||||||
|
public boolean shouldShowWeapons = false;
|
||||||
|
public boolean shouldShowArmor = false;
|
||||||
|
public boolean bladeTrails = false;
|
||||||
|
public boolean isResistable = false;
|
||||||
|
public String effectID;
|
||||||
|
public ArrayList<Float> scaleFactor = new ArrayList<>();
|
||||||
|
public ArrayList<Integer> attackAnimations = new ArrayList<>();
|
||||||
|
public boolean isAggressive;
|
||||||
|
public mbEnums.DamageType damageType;
|
||||||
|
public boolean applyEffectBlank = false;
|
||||||
|
public boolean wearOffEffectBlank = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user