public void DisplayMessageBox(string message)
	{
		messageBoxLabel.text = message;
		notificationTween.tweenTarget = messageBox;
		state = NotificationUIState.message;
		notificationTween.Play(true);
	}
	public void HideMessageBox()
	{
		notificationTween.tweenTarget = messageBox;
		notificationTween.Play(false);
		state = NotificationUIState.none;
	}
	public void CancelPartyChallenge()
	{
		if(state == NotificationUIState.teamChallengeWait || state == NotificationUIState.teamChallenge || state == NotificationUIState.challengerWait)
		{
			state = NotificationUIState.cancelTeamChallenge;
			partyChallenge.SetActive(true);
			partyChallengeMessage.text = "Battle arena challenge has been cancelled";
			partyChallengeAcceptButtonLabel.text = "Confirm";
			partyChallengeAcceptButton.SetActive(true);
			partyChallengeRejectButton.SetActive(false);
			//rejectbutton.setactive(false);
		}
	}
	public void DisplayChallengerPartyWaiting()
	{
		notificationTween.tweenTarget = partyChallenge;
		partyChallengeMessage.text = "Waiting for your team to respond.";
		notificationTween.Play(true);
		state = NotificationUIState.challengerWait;
		partyChallengeAcceptButton.SetActive(false);
		partyChallengeRejectButton.SetActive(true);
	}
	public void StartTeamChallenge()
	{
		partyChallengeMessage.text = "Entering the battle arena!";
		state = NotificationUIState.teamChallengeLoading;
	}
	public void HidePartyChallenge()
	{
		notificationTween.tweenTarget = partyChallenge;
		notificationTween.Play(false);
		state = NotificationUIState.none;
		//HACK reactivate the arena GUI after team matchmaking is cancelled
		GUIManager.Instance.NPCGUI.arenaGUI.isBusy = false;
	}
	public void DisplayPartyChallenge(int enemyID, PhotonPlayer c)
	{
		challenger = c;
		notificationTween.tweenTarget = partyChallenge;
		notificationTween.Play(true);
		state = NotificationUIState.teamChallenge;
		RPGEnemy enemy = Storage.LoadById<RPGEnemy>(enemyID, new RPGEnemy());
		partyChallengeMessage.text = challenger.name + " wants your help to defeat: " + enemy.Name;
		partyChallengeAcceptButton.SetActive(true);
		partyChallengeRejectButton.SetActive(true);
		partyChallengeAcceptButtonLabel.text = "Accept";

	}
	public void HideNotificationBox()
	{
		notificationBox.SetActive(false);
		state = NotificationUIState.none;
	}
	public void DisplayNotificationBox(string name, PhotonPlayer player, int partyLeaderID)
	{
		notificationTween.tweenTarget = notificationBox;
		state = NotificationUIState.teamInvite;
		UpdateMessage(name + "would like to form a party with you!");
		notificationTween.Play(true);
		prospectivePartyLeader = PhotonPlayer.Find(partyLeaderID);
	}
	public void DisplayAddFriendNotification(string name, PhotonPlayer player)
	{
		challenger = player;
		challengerName = name;
		state = NotificationUIState.addfriend;
		UpdateMessage(name + "would like to add you as a friend");
		notificationTween.tweenTarget = notificationBox;
		notificationTween.Play(true);

	}