package gameengine; import PBFT.TChineseCheckersOperation; import PBFT.TOperation; import gameengine.operations.AddPlayer; import gameengine.operations.KickPlayer; import gameengine.operations.MovePiece; import gameengine.operations.NoOp; import statemachine.Operation; /** * Created by andrew on 11/30/14. */ public class ChineseCheckersOperationFactory { public static Operation<ChineseCheckersState> hydrate(TOperation op) { TChineseCheckersOperation type = TChineseCheckersOperation.findByValue(op.getOperationType()); switch (type) { case MOVE_PIECE: String argString = op.getArguments(); String[] args = argString.split(","); return new MovePiece(Integer.parseInt(args[4]), new HexPoint(Integer.parseInt(args[0]), Integer.parseInt(args[1])), new HexPoint(Integer.parseInt(args[2]), Integer.parseInt(args[3]))); case KICK_PLAYER: return new KickPlayer(); case ADD_PLAYER: return new AddPlayer(); case NO_OP: return new NoOp(); } return null; } }