void Awake()
	{
		var tmp = new EnterArenaData();
		var ttmp = new ArenaStateData ();
		var tttmp = new PartyMemberData ();
		var ttttmp = new List<ArenaStateData> ();
		var tttttmp = new List<bool> ();
	}
	public void SetupArena(int i, byte[] data)
	{
		Debug.Log("setup arena");
		EnterArenaData arenaData = new EnterArenaData();
		BinaryFormatter b = new BinaryFormatter();
		MemoryStream m = new MemoryStream(data);
		arenaData = (EnterArenaData)b.Deserialize(m);

		//change bool state of arenas across the board
		Arenas.arenaStates[i] = true;

		List<PhotonPlayer> pPlayers = new List<PhotonPlayer>();
		for (int x = 0; x < arenaData.partyList.Count; x++) {
			pPlayers.Add(PhotonPlayer.Find(arenaData.partyList[x].playerID));
		}

		Arenas.arenaInstances[i].PreloadArena(pPlayers, arenaData.EnemyID, arenaData.PartyLeaderID, arenaData.NewViewID );

		//instantiate the first enemy wave as scene objects TODO change scene object into custom loaded object
		if(Arenas.arenaInstances[i].admittedPlayers.Contains(PhotonNetwork.player))
		{
			PlayerManager.Instance.GoToZone(Arenas.arenaInstances[i]);
			//Arenas[i].arenaInstances[s].SpawnEnemyWave(0);
			//instantiate the enemy
		}
	}
	public void RequestArenaEntry(string arenaName, int enemyID, bool solo)
	{
		int newid = PhotonNetwork.AllocateViewID();
		EnterArenaData data = new EnterArenaData();
		data.EnemyID = enemyID;
		data.NewViewID = newid;
		Debug.Log(data.NewViewID);
		
		if(solo)
		{
			PartyMemberData pmd = new PartyMemberData();
			pmd.viewID = PlayerManager.Instance.avatarPhotonView.viewID;
			pmd.playerID = PhotonNetwork.player.ID;
			data.partyList.Add(pmd);
			data.PartyLeaderID = PhotonNetwork.player.ID;
		}
		else
		{
			if(PlayerManager.Instance.partyMembers.Count == 0)
			{
				PartyMemberData pmdd = new PartyMemberData();
				pmdd.viewID = PlayerManager.Instance.avatarPhotonView.viewID;
				pmdd.playerID = PhotonNetwork.player.ID;
				data.partyList.Add(pmdd);
				data.PartyLeaderID = PhotonNetwork.player.ID;
			}
			else if(PlayerManager.Instance.partyMembers.Count > 0)
			{
				data.partyList = PlayerManager.Instance.partyMembers;
				data.PartyLeaderID = PhotonNetwork.player.ID;
			}
		}
		
		BinaryFormatter b = new BinaryFormatter();
		MemoryStream m = new MemoryStream();
		b.Serialize(m, data);
		
		myPhotonView.RPC("GetAvailableArena", PhotonTargets.MasterClient, arenaName, m.GetBuffer());
	}