package com.nbs.client.assassins.models; import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.map.annotate.JsonSerialize; import com.google.android.gms.maps.model.LatLng; @JsonIgnoreProperties(ignoreUnknown = true) @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) public class Player { public static final String READY = "ready"; //local database id - not serialized @JsonIgnore public Long id; @JsonIgnore public boolean isMe; @JsonProperty("status") public String status; @JsonProperty("username") public String username; @JsonProperty("target_life") public Integer targetHealth; @JsonProperty("match_id") public String matchId; @JsonProperty("role") public String role; @JsonProperty("team") public String team; @JsonProperty("target_bearing") public Float targetBearing; @JsonProperty("target_range") public String targetRange; @JsonProperty("health") public Integer health; @JsonProperty("enemy_range") public String enemyRange; @JsonProperty("target_lat") public Double targetLat; @JsonProperty("target_lng") public Double targetLng; @JsonProperty("lat") public Double lat; @JsonProperty("lng") public Double lng; @JsonProperty("last_attack") public Long lastAttackTime; public LatLng getTargetLatLng() { return targetLat != null && targetLng != null ? new LatLng(targetLat, targetLng) : null; } public void setLastSuccessfulAttackTime(long currentTimeMillis) { this.lastAttackTime = currentTimeMillis; } public void setTargetLife(Integer targetLife) { this.targetHealth = targetLife; } public Integer getTargetLife() { return this.targetHealth; } @Override public String toString() { return "Player [id=" + id + ", isMe=" + isMe + ", status=" + status + ", username=" + username + ", targetHealth=" + targetHealth + ", matchId=" + matchId + ", role=" + role + ", team=" + team + ", targetBearing=" + targetBearing + ", targetRange=" + targetRange + ", health=" + health + ", enemyRange=" + enemyRange + ", targetLat=" + targetLat + ", targetLng=" + targetLng + ", lat=" + lat + ", lng=" + lng + ", lastAttackTime=" + lastAttackTime + "]"; } }