package com.nbs.client.assassins.models;
import java.util.Arrays;
import org.codehaus.jackson.annotate.*;
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 Match {
@JsonProperty("_id")
public String id;
@JsonProperty("token")
public String token;
@JsonProperty("creator")
public String creator;
@JsonProperty("name")
public String name;
@JsonProperty("winner")
public String winner;
@JsonProperty("countdown_sec")
public Integer countdownSec;
@JsonProperty("start_time")
public Long startTime;
@JsonProperty("end_time")
public Long endTime;
@JsonProperty("players")
public Player[] players;
@JsonProperty("password")
public String password;
@JsonProperty("nw_corner")
public LatLngData nwCorner;
@JsonProperty("se_corner")
public LatLngData seCorner;
@JsonProperty("attack_range")
public Double attackRange;
@JsonProperty("hunt_range")
public Double huntRange;
@JsonProperty("escape_time")
public Integer escapeTime;
public Match() {}
public Match(String token, String name, String pw, String creator, Long tStart,
LatLng nw, LatLng se, double aRange, double hRange, int tEscape) {
this(name, pw, creator, tStart, nw, se, aRange, hRange, tEscape);
this.token = token;
}
public Match(String name, String pw, String creator, Long tStart,
LatLng nw, LatLng se, double aRange, double hRange, int tEscape) {
this.name = name;
this.creator = creator;
this.password = pw;
this.startTime = tStart;
this.attackRange = aRange; this.huntRange = hRange; this.escapeTime = tEscape;
this.nwCorner = new LatLngData(nw); this.seCorner = new LatLngData(se);
}
public LatLng getSECornerLatLng() {
return seCorner != null ? seCorner.toLatLng() : null;
}
public LatLng getNWCornerLatLng() {
return nwCorner != null ? nwCorner.toLatLng() : null;
}
public Double getAttackRange() {
return this.attackRange;
}
public Double getHuntRange() {
return this.huntRange;
}
@Override
public String toString() {
return "Match [id=" + id + ", token=" + token + ", creator=" + creator
+ ", name=" + name + ", winner=" + winner + ", countdownSec="
+ countdownSec + ", startTime=" + startTime + ", players="
+ Arrays.toString(players) + ", password=" + password
+ ", nwCorner=" + nwCorner + ", seCorner=" + seCorner
+ ", attackRange=" + attackRange + ", huntRange=" + huntRange
+ ", escapeTime=" + escapeTime + ", endTime=" + endTime + "]";
}
}