Exemplo n.º 1
0
    public void ShowButton(QuestProgressState _questProgress, QuestClearType _clearType, int _price)
    {
        if (miracleImg == null || goldImg == null || textPrice == null || textTitle == null || _questProgress != QuestProgressState.QUEST_PROGRESS_IN)
        {
            gameObject.SetActiveRecursively(false);
            miracleImg.Hide(true);
            goldImg.Hide(true);
            return;
        }

        if (_clearType == QuestClearType.NONE)
        {
            gameObject.SetActiveRecursively(false);
            miracleImg.Hide(true);
            goldImg.Hide(true);
        }
        else if (_clearType == QuestClearType.CASH)
        {
            gameObject.SetActiveRecursively(true);
            miracleImg.Hide(false);
            goldImg.Hide(true);
            textPrice.Text = _price.ToString();
        }
        else if (_clearType == QuestClearType.GOLD)
        {
            gameObject.SetActiveRecursively(true);
            miracleImg.Hide(true);
            goldImg.Hide(false);
            textPrice.Text = _price.ToString();
        }
    }
Exemplo n.º 2
0
 public List<QuestTalkInfo> GetTalkInfo(QuestProgressState _talkState)
 {
     if (dicQuestTalkInfo.ContainsKey(_talkState))
         return dicQuestTalkInfo[_talkState];
     else
         return null;
 }
Exemplo n.º 3
0
 public string GetTalkString(QuestProgressState _talkState)
 {
     if (dicQuestTalk.ContainsKey(_talkState))
         return dicQuestTalk[_talkState];
     else
         return string.Empty;
 }
Exemplo n.º 4
0
 public List<QuestTalkInfo> GetTalkInfo(QuestProgressState _state)
 {
     if (dicQuestTalks.ContainsKey(_state))
         return dicQuestTalks[_state];
     else
         return new List<QuestTalkInfo>();
 }
Exemplo n.º 5
0
 public void AddTalk(QuestProgressState _talkState, string _talk)
 {
     if (!dicQuestTalk.ContainsKey(_talkState))
     {
         dicQuestTalk.Add(_talkState, _talk);
         dicQuestTalkInfo.Add(_talkState, MakeTalkInfo(_talk));
     }
 }
Exemplo n.º 6
0
 public void WaitForCompleteProgress()
 {
     if (QuestProgressState != QuestProgressState.OnProgress)
     {
         return;
     }
     QuestProgressState = QuestProgressState.WaitForComplete;
 }
Exemplo n.º 7
0
 public void CompleteProgress()
 {
     if (QuestProgressState != QuestProgressState.OnProgress)
     {
         return;
     }
     QuestProgressState = QuestProgressState.Complete;
     ProgressCompleteAction.CallSafe(ProgressIndex);
 }
Exemplo n.º 8
0
 public void FailureProgress()
 {
     if (QuestProgressState != QuestProgressState.OnProgress)
     {
         return;
     }
     QuestProgressState = QuestProgressState.Failure;
     ProgressFailureAction.CallSafe(ProgressIndex);
 }
Exemplo n.º 9
0
#pragma warning disable CS0649

#pragma warning restore CS0649

        #endregion


        #region Methods

        /// <summary>
        /// 단계 도달이 됨.
        /// </summary>
        public void ReachProgress(float value = 0f)
        {
            if (QuestProgressState != QuestProgressState.NoReachable)
            {
                return;
            }

            QuestProgressState = QuestProgressState.OnProgress;
            ProgressValue      = value;
        }
Exemplo n.º 10
0
        public void RestartProgress()
        {
            if (QuestProgressState == QuestProgressState.NoReachable)
            {
                return;
            }

            QuestProgressState = QuestProgressState.OnProgress;
            ProgressValue      = 0;
        }
Exemplo n.º 11
0
        public bool SetProgress(float value)
        {
            if (value.IsZero())
            {
                return(false);
            }

            ProgressValue = value;

            // 단계 완료시 초과분을 넘김.
            if (!(ProgressValue >= ReqProgressValue) || QuestProgressState != QuestProgressState.OnProgress)
            {
                return(false);
            }
            QuestProgressState = QuestProgressState.WaitForComplete;
            return(true);
        }
Exemplo n.º 12
0
    public void ProcessMessage(object _messageObject)
    {
        // wanted는 제외
        if (questData.Info.QuestType == QuestType.QUEST_WANTED)
            return;

		if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN || NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_CLEAR)
		{
			QuestMessageObject messageObject = (QuestMessageObject)_messageObject;
			questData.Achievement.ProcessMessage(messageObject.MessageType, messageObject.Data);

			if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN)
			{
				// time limit 가 있어야 되는 경우 따로 체크
				if (timeLimit != null)
					questData.Achievement.ProcessMessage(QuestMessages.QM_TIME_LIMIT, new Object());

				// time Survivla이 있을경우 따로 체크
				if (timeSurvival != null)
					questData.Achievement.ProcessMessage(QuestMessages.QM_TIME_SURVIVAL, new Object());
			}

			// 퀘스트 완료 체크
			if (questData.Achievement.IsComplete())
			{
				if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN && sendClear == false)
				{
					Debug.LogWarning("req quest clear = " + questData.Info.Name);
					sendClear = true;
					ArkQuestmanager.instance.RequestClearQuest(questData.Info.ID);
				}
			}
			else // not complete
			{
				if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_CLEAR)
				{
					sendClear = false;
					NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_IN;
					ArkQuestmanager.instance.CheckQuestMarkAllNpcAndCollecion();
					ArkQuestmanager.instance.RequestClearQuest(questData.Info.ID);

					if (AsHudDlgMgr.Instance != null)
						if (AsHudDlgMgr.Instance.IsOpenQuestMiniView == true)
							AsHudDlgMgr.Instance.questMiniView.UpdateQuetMiniViewMgr();
				}
			}
		}
    }
Exemplo n.º 13
0
    public void SetQuestImmediatelyClear()
    {
        List<AchBase> listAchievement = questData.Achievement.GetDatas();

        foreach (AchBase ach in listAchievement)
        {
            ach.SetImmediatelyClear();
            NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_IMMEDIATELY_CLEAR;
        }
    }
Exemplo n.º 14
0
    void CheckTime()
    {
        if (questData == null)
            return;

        if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN)
        {
            if (timeSurvival != null || timeLimit != null)
            {
                float fNowTime = 0.0f;

                float delthaTime = Time.realtimeSinceStartup - startTime;

                startTime = Time.realtimeSinceStartup;

                if (timeLimit != null && timeLimit.IsEnd == false)
                {
                    fNowTime = timeLimit.DiscountTime(delthaTime);

                    if (timeSpriteText != null)
                        timeSpriteText.Text = TimeToText(fNowTime);

                    if (timeLimit.IsEnd)
                        NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_FAIL;
                }
                else if (timeSurvival != null && timeSurvival.IsEnd == false)
                {
                    fNowTime = timeSurvival.DiscountTime(delthaTime);

                    if (timeSpriteText != null)
                        timeSpriteText.Text = TimeToText(fNowTime);

                    if (timeSurvival.IsEnd)
                        QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_TIME_SURVIVAL, new object());
                }
            }
        }
    }
Exemplo n.º 15
0
    public string GetStateString(QuestProgressState _state)
    {
        StringBuilder sb = new StringBuilder(" ");

        if (_state == QuestProgressState.QUEST_PROGRESS_IN)
            sb.Append(AsTableManager.Instance.GetTbl_String(813));
        else if (_state == QuestProgressState.QUEST_PROGRESS_CLEAR || _state == QuestProgressState.QUEST_PROGRESS_IMMEDIATELY_CLEAR)
            sb.Append(AsTableManager.Instance.GetTbl_String(814));
        else if (_state == QuestProgressState.QUEST_PROGRESS_FAIL)
            sb.Append(AsTableManager.Instance.GetTbl_String(815));
        else
            return string.Empty;

        return sb.ToString();
    }
Exemplo n.º 16
0
 public void SetQuestRecordState(int _id, QuestProgressState _state, int _repeat)
 {
     if (m_ResourceTable.ContainsKey(_id))
     {
         m_ResourceTable[_id].QuestDataInfo.NowQuestProgressState = _state;
         
         if (_repeat != -1)
             m_ResourceTable[_id].QuestDataInfo.Info.RepeatCurrent = (byte)_repeat;
     }
     else
         Debug.Log("Not contain key (SetQuestRecordState)");
 }
Exemplo n.º 17
0
	public void ShowQuestClearCashBtn( QuestProgressState _qeustProgress, QuestClearType _clearType, int _price)
	{
		QuestClearBtnContoller controller = buttonCashDone.gameObject.GetComponent<QuestClearBtnContoller>();
	
		if( controller == null)
			buttonCashDone.gameObject.SetActiveRecursively( false);
		else
			controller.ShowButton( _qeustProgress, _clearType, _price);
	}
Exemplo n.º 18
0
	public void SetTbl_QuesrRecordState( int _id, QuestProgressState _state, int _repeat = -1)
	{
		m_Tbl_Quest.SetQuestRecordState( _id, _state, _repeat);
	}
Exemplo n.º 19
0
 public void ResetProgress()
 {
     QuestProgressState = QuestProgressState.NoReachable;
     ProgressValue      = 0;
 }