Parse animation data

This commit is contained in:
2024-02-27 14:36:27 -05:00
parent 2d3b74e688
commit ffd248cfd4
+23
View File
@@ -14,6 +14,7 @@ import org.json.simple.JSONArray;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
import java.util.ArrayList;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.HashMap; import java.util.HashMap;
@@ -58,6 +59,8 @@ public class ItemTemplate {
public float item_weapon_projectile_speed; public float item_weapon_projectile_speed;
public int item_weapon_combat_idle_anim; public int item_weapon_combat_idle_anim;
public HashMap<Enum.SourceType, int[]> item_weapon_damage = new HashMap<>(); public HashMap<Enum.SourceType, int[]> item_weapon_damage = new HashMap<>();
public ArrayList<int[]> weapon_attack_anim_right = new ArrayList();
public ArrayList<int[]> weapon_attack_anim_left = new ArrayList();
public Enum.AttributeType item_primary_attr = Enum.AttributeType.None; public Enum.AttributeType item_primary_attr = Enum.AttributeType.None;
public Enum.AttributeType item_secondary_attr = Enum.AttributeType.None; public Enum.AttributeType item_secondary_attr = Enum.AttributeType.None;
public EnumSet<Enum.ItemFlags> item_flags = EnumSet.noneOf(Enum.ItemFlags.class); public EnumSet<Enum.ItemFlags> item_flags = EnumSet.noneOf(Enum.ItemFlags.class);
@@ -206,6 +209,26 @@ public class ItemTemplate {
item_weapon_damage.put(sourceType, minMax); item_weapon_damage.put(sourceType, minMax);
} }
JSONArray attack_anim_right = (JSONArray) jsonObject.get("weapon_attack_anim_right");
if (attack_anim_right.isEmpty() == false)
for (Object o : weapon_damage) {
JSONArray animationEntry = (JSONArray) o;
int animation = (int) animationEntry.get(0);
int duration = (int) animationEntry.get(1);
weapon_attack_anim_right.add(new int[]{animation, duration});
}
JSONArray attack_anim_left = (JSONArray) jsonObject.get("attack_anim_left");
if (attack_anim_left.isEmpty() == false)
for (Object o : weapon_damage) {
JSONArray animationEntry = (JSONArray) o;
int animation = (int) animationEntry.get(0);
int duration = (int) animationEntry.get(1);
weapon_attack_anim_left.add(new int[]{animation, duration});
}
item_primary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_primary_attr")); item_primary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_primary_attr"));
item_secondary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_secondary_attr")); item_secondary_attr = Enum.AttributeType.valueOf((String) jsonObject.get("item_secondary_attr"));
} }