10 public static class DamageToFleetMember {
11 public float hullDamage;
14 public static class DealtByFleetMember {
15 private FleetMemberAPI member;
16 private Map<FleetMemberAPI, DamageToFleetMember> damage =
new HashMap<FleetMemberAPI, DamageToFleetMember>();
17 public DealtByFleetMember(FleetMemberAPI member) {
21 public DamageToFleetMember getDamageTo(FleetMemberAPI target) {
22 DamageToFleetMember damageTo = damage.get(target);
23 if (damageTo ==
null) {
24 damageTo =
new DamageToFleetMember();
25 damage.put(target, damageTo);
30 public void addHullDamage(FleetMemberAPI target,
float damage) {
31 getDamageTo(target).hullDamage += damage;
34 public FleetMemberAPI getMember() {
38 public Map<FleetMemberAPI, DamageToFleetMember> getDamage() {
43 private Map<FleetMemberAPI, DealtByFleetMember> dealt =
new HashMap<FleetMemberAPI, DealtByFleetMember>();
45 public Map<FleetMemberAPI, DealtByFleetMember>
getDealt() {
49 public DealtByFleetMember
getDealtBy(FleetMemberAPI member) {
50 DealtByFleetMember dealtBy = dealt.get(member);
51 if (dealtBy ==
null) {
52 dealtBy =
new DealtByFleetMember(member);
53 dealt.put(member, dealtBy);
59 for (FleetMemberAPI member : other.dealt.keySet()) {
61 DealtByFleetMember adding = other.
getDealtBy(member);
63 for (FleetMemberAPI target : adding.damage.keySet()) {
64 curr.addHullDamage(target, adding.getDamageTo(target).hullDamage);