Browse Source

Parse animation data

combat-2
MagicBot 9 months ago
parent
commit
ffd248cfd4
  1. 23
      src/engine/objects/ItemTemplate.java

23
src/engine/objects/ItemTemplate.java

@ -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"));
} }

Loading…
Cancel
Save