public void AddPartyProcess()
	{
		if (nowState == PartyAndQuestToggleState.OpenQuestMini)
		{
			if (isChanging == false)
			{
				SetBtnState(PartyAndQuestToggleState.OpenParty);

				AsHudDlgMgr.Instance.CloseQuestMiniView();

				OpenParty();

				isChanging = true;

				nowChangingTime = changingTime;
			}
		}
		else if (nowState == PartyAndQuestToggleState.CloseQuestMini)
		{
			if (IsHaveParty() == true)
			{
				nowState = PartyAndQuestToggleState.OpenParty;
				SetBtnState(PartyAndQuestToggleState.OpenParty);
			}
		}
	}
	void ProcessBtnClick()
	{
		if (isChanging == true)
			return;

		if (nowState == PartyAndQuestToggleState.OpenQuestMini) // close quest mini
		{
			if (IsHaveParty() == true)
			{
				nowState = PartyAndQuestToggleState.OpenParty;
				
				SetBtnState(PartyAndQuestToggleState.OpenParty);
				
				OpenParty();

				if (AsHudDlgMgr.Instance != null)
					AsHudDlgMgr.Instance.CloseQuestMiniView();
			}
			else
			{
				nowState = PartyAndQuestToggleState.CloseQuestMini;
				
				SetBtnState(PartyAndQuestToggleState.CloseQuestMini);
				
				if (AsHudDlgMgr.Instance != null)
					AsHudDlgMgr.Instance.CloseQuestMiniView();
			}
		}
		else if (nowState == PartyAndQuestToggleState.CloseQuestMini)
		{
			if (ArkQuestmanager.instance.GetSortedQuestListForQuestMini().Count == 0)
			{
				// add chat message
				AsEventNotifyMgr.Instance.CenterNotify.AddGMMessage(AsTableManager.Instance.GetTbl_String(421));
				return;
			}

			nowState = PartyAndQuestToggleState.OpenQuestMini;
			
			SetBtnState(PartyAndQuestToggleState.OpenQuestMini);

			if (AsHudDlgMgr.Instance != null)
				AsHudDlgMgr.Instance.OpenQuestMiniView();
		}
		else if (nowState == PartyAndQuestToggleState.OpenParty)  // close party
		{
			if (IsHaveQuest() == true)
			{
				CloseParty();

				if (AsHudDlgMgr.Instance != null)
					AsHudDlgMgr.Instance.OpenQuestMiniView();

				nowState = PartyAndQuestToggleState.OpenQuestMini;
				
				SetBtnState(PartyAndQuestToggleState.OpenQuestMini);
			}
			else
			{
				nowState = PartyAndQuestToggleState.CloseParty;
				
				SetBtnState(PartyAndQuestToggleState.CloseParty);

				CloseParty();
			}
		}
		else if (nowState == PartyAndQuestToggleState.CloseParty)
		{
			nowState = PartyAndQuestToggleState.OpenParty;
			
			SetBtnState(PartyAndQuestToggleState.OpenParty);
			
			OpenParty();
		}
	}
	void OpenQuestMiniView()
	{
		bool bHaveQuest = IsHaveQuest();
		bool bHaveParty = IsHaveParty();

		if (nowState == PartyAndQuestToggleState.None) // for first init
		{
			if (bHaveQuest == true)
			{
				nowState = PartyAndQuestToggleState.OpenQuestMini;
				SetBtnState(PartyAndQuestToggleState.OpenQuestMini);
				if (AsHudDlgMgr.Instance != null)
					AsHudDlgMgr.Instance.OpenQuestMiniView();
			}
			else
			{
				nowState = PartyAndQuestToggleState.CloseQuestMini;
				SetBtnState(PartyAndQuestToggleState.CloseQuestMini);
			}
		}
		else // for enter world
		{
			switch (nowState)
			{
				case PartyAndQuestToggleState.OpenParty:
					OpenParty();
					break;
				case PartyAndQuestToggleState.OpenQuestMini:
					{
						if (AsHudDlgMgr.Instance != null)
							AsHudDlgMgr.Instance.OpenQuestMiniView();
						CloseParty();
					}
					break;

				case PartyAndQuestToggleState.CloseParty:
					CloseParty();
					break;
				case PartyAndQuestToggleState.CloseQuestMini:
					if (AsHudDlgMgr.Instance != null)
						AsHudDlgMgr.Instance.CloseQuestMiniView();
					break;
			}

			SetBtnState(nowState);
		}
	}
	public void SetBtnState(PartyAndQuestToggleState _state)
	{
		DisableAllImg();

		if (_state == PartyAndQuestToggleState.OpenParty || _state == PartyAndQuestToggleState.OpenQuestMini)
			spriteBtnBacks[0].gameObject.SetActiveRecursively(true);
		else
			spriteBtnBacks[1].gameObject.SetActiveRecursively(true);

		if (_state == PartyAndQuestToggleState.OpenParty || _state == PartyAndQuestToggleState.CloseParty)
			spriteBtnIcons[1].gameObject.SetActiveRecursively(true);
		else
			spriteBtnIcons[0].gameObject.SetActiveRecursively(true);
	}
	public void SetState(PartyAndQuestToggleState _state)
	{
		nowState = _state;
	}
	/// <summary>
	/// for add only 1 count quest
	/// </summary>
	public void AddNewQuestProcess()
	{
		if (isChanging == true)
			return;

		if (nowState == PartyAndQuestToggleState.OpenParty)
		{
			SetBtnState(PartyAndQuestToggleState.OpenQuestMini);

			AsHudDlgMgr.Instance.OpenQuestMiniView();

			CloseParty();

			isChanging = true;

			nowChangingTime = changingTime;
		}
		else
		{
			nowState = PartyAndQuestToggleState.OpenQuestMini;
			SetBtnState(PartyAndQuestToggleState.OpenQuestMini);
			OpenQuestMiniView();
		}
	}
	public void ViewQuestMini()
	{
		nowState = PartyAndQuestToggleState.OpenQuestMini;
		SetBtnState(PartyAndQuestToggleState.OpenQuestMini);

		if (AsHudDlgMgr.Instance != null)
			AsHudDlgMgr.Instance.OpenQuestMiniView();
	}
	public void DelPartyProcess()
	{
		if (IsHaveQuest() == true)
		{
			if (AsHudDlgMgr.Instance.IsOpenQuestMiniView == false)
			{
				nowState = PartyAndQuestToggleState.OpenQuestMini;
				SetBtnState(PartyAndQuestToggleState.OpenQuestMini);

				if (AsHudDlgMgr.Instance != null)
					AsHudDlgMgr.Instance.OpenQuestMiniView();
			}
		}
		else
		{
			nowState = PartyAndQuestToggleState.CloseQuestMini;
			SetBtnState(PartyAndQuestToggleState.CloseQuestMini);
		}
	}