package voogasalad_GucciGames.gameEngine.CommunicationParams;

import java.util.List;

import voogasalad_GucciGames.gameEngine.GameMap;
import voogasalad_GucciGames.gameEngine.gamePlayer.AllPlayers;
import voogasalad_GucciGames.gameEngine.gameRules.ActionToRuleMap;
import voogasalad_GucciGames.gameEngine.mapObject.MapObject;

public class CommunicationParams {
	
	// Classes which extend this will be used to share information between the front and back end
	private AllPlayers myPlayers;
	private GameMap myGameMap;
	private MapObject myCalledMe;
	private ActionToRuleMap myActionToRuleMap;
	
	public CommunicationParams(AllPlayers players, GameMap gameMap,
			MapObject calledMe, ActionToRuleMap actionToRuleMap){ 
		this.myPlayers = players;
		this.myGameMap = gameMap;
		this.myCalledMe = calledMe;
		this.myActionToRuleMap = actionToRuleMap;
		
	}
	
	public CommunicationParams(CommunicationParams params){
		this(params.getPlayers(), params.getGameMap(), params.getCalledMe(), params.getActionToRuleMap());
	}

	public AllPlayers getPlayers() {
		return myPlayers;
	}

	public GameMap getGameMap() {
		return myGameMap;
	}

	public MapObject getCalledMe() {
		return myCalledMe;
	}

	public ActionToRuleMap getActionToRuleMap() {
		return myActionToRuleMap;
	}	
}

@@ -192,16 +192,96 @@
 layers;%0A
+import voogasalad_GucciGames.gameEngine.gamePlayer.MovablePlayerCharacteristic;%0A
 import v
@@ -335,24 +335,24 @@
 nToRuleMap;%0A
-
 import vooga
@@ -667,16 +667,64 @@
 uleMap;%0A
+%09private MovablePlayerCharacteristic myMovable;%0A
 %09%0A%09publi
@@ -836,16 +836,56 @@
 oRuleMap
+, MovablePlayerCharacteristic movePerson
 )%7B %0A%09%09th
@@ -1010,16 +1010,47 @@
 uleMap;%0A
+%09%09this.myMovable = movePerson;%0A
 %09%09%0A%09%7D%0A%09%0A
@@ -1204,16 +1204,34 @@
 uleMap()
+, params.myMovable
 );%0A%09%7D%0A%0A%09
@@ -1480,10 +1480,92 @@
 ap;%0A
-
 %09%7D%09%0A
+%09%0A%09public MovablePlayerCharacteristic getMovablePerson() %7B%0A%09%09return myMovable;%0A%09%7D%0A
 %7D%0A

allow for player unit count