/*
* Copyright 2014-2015 GameUp
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.gameup.android.entity;
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Data;
/**
* Represents a turn in a turn-based multiplayer match on the GameUp service.
*/
@Data
@AllArgsConstructor(suppressConstructorProperties = true)
public class Turn {
/** Turn type indicator. */
private final Type type;
/** The number of this turn, used for ordering. */
private final int turnNumber;
/** Nickname of the gamer who submitted this turn. */
private final String gamer;
/** Raw turn data. */
private final String data;
/** When this match started. */
private final long createdAt;
/**
* Turn Type, serves as an indicator of what the turn data represents.
*/
public enum Type {
/** Indicates the turn contains data. */
@SerializedName("data")
DATA,
/** The turn indicates a gamer has left the match. */
@SerializedName("leave")
LEAVE,
/** The turn indicates the match has ended. */
@SerializedName("end")
END
}
}