118 lines
4.7 KiB
C#
118 lines
4.7 KiB
C#
|
using Games.LogicObj;
|
|||
|
using GCGame.Table;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public class MissionClickPanel : MonoBehaviour {
|
|||
|
|
|||
|
private const int _SHowMissionArrowID = 49;
|
|||
|
private const int _MissionLimitLevelId = 50;
|
|||
|
private float showMIssionCountTime = 0.0f;
|
|||
|
|
|||
|
public GameObject _MissionPanel;
|
|||
|
private float _totalCountTime;
|
|||
|
private float _showMissionArrowCountTime;
|
|||
|
private Obj_MainPlayer _MainPlyer;
|
|||
|
private int _LimitLevel = -1;
|
|||
|
private void Start()
|
|||
|
{
|
|||
|
if (_MissionPanel != null && _MissionPanel.activeInHierarchy)
|
|||
|
_MissionPanel.SetActive(false);
|
|||
|
|
|||
|
showMIssionCountTime = float.Parse(TableManager.GetSystemParamByID(_SHowMissionArrowID, 0).StringValue);
|
|||
|
_MainPlyer = Singleton<ObjManager>.Instance.MainPlayer;
|
|||
|
}
|
|||
|
|
|||
|
Tab_SystemParam _SystemParam = null;
|
|||
|
private void Update()
|
|||
|
{
|
|||
|
if (_MainPlyer == null)
|
|||
|
_MainPlyer = Singleton<ObjManager>.Instance.MainPlayer;
|
|||
|
|
|||
|
if (_MainPlyer == null)
|
|||
|
{
|
|||
|
_showMissionArrowCountTime = 0.0f;
|
|||
|
if (_MissionPanel != null && _MissionPanel.activeInHierarchy)
|
|||
|
{
|
|||
|
_MissionPanel.SetActive(false);
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (_LimitLevel == -1)
|
|||
|
{
|
|||
|
if(_SystemParam == null)
|
|||
|
_SystemParam = TableManager.GetSystemParamByID(_MissionLimitLevelId, 0);
|
|||
|
if (_SystemParam != null)
|
|||
|
_LimitLevel = int.Parse(_SystemParam.StringValue);
|
|||
|
else
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level >= _LimitLevel
|
|||
|
|| !MissionDialogAndLeftTabsLogic.Instance()
|
|||
|
|| GameManager.gameManager.MissionManager.MissionList.m_aMission.Count <= 0
|
|||
|
|| (SceneMovieManager.Instance != null && SceneMovieManager.Instance._PlayingMovie)
|
|||
|
|| GameManager.gameManager.PlayerDataPool.IsFollowTeam)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
if (Input.touchCount > 0 && (Input.GetTouch(0).phase == TouchPhase.Began
|
|||
|
|| Input.GetTouch(0).phase == TouchPhase.Moved || Input.GetTouch(0).phase == TouchPhase.Stationary)
|
|||
|
|| Input.anyKey || _MainPlyer.MovementState != MoveState.Static || _MainPlyer.isAutoCombat
|
|||
|
|| GuideLogic.Instance() && GuideLogic.Instance().IsActingGuide()
|
|||
|
|| GameManager.gameManager.ActiveScene.IsCopyScene()
|
|||
|
|| (MissionInfoController.Instance() && MissionInfoController.Instance().isActiveAndEnabled)
|
|||
|
|| (OptionDialogLogic.Instance() && OptionDialogLogic.Instance().isActiveAndEnabled)
|
|||
|
|| (CollectItemSliderLogic.Instance() && CollectItemSliderLogic.Instance().isActiveAndEnabled)
|
|||
|
|| (PopAdvanceTipCtr.Instance && PopAdvanceTipCtr.Instance.isActiveAndEnabled))
|
|||
|
{
|
|||
|
_showMissionArrowCountTime = 0.0f;
|
|||
|
if (_MissionPanel != null && _MissionPanel.activeInHierarchy)
|
|||
|
{
|
|||
|
_MissionPanel.SetActive(false);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_showMissionArrowCountTime += Time.deltaTime;
|
|||
|
if (_showMissionArrowCountTime >= showMIssionCountTime)
|
|||
|
{
|
|||
|
if (_MissionPanel != null && !_MissionPanel.activeInHierarchy)
|
|||
|
{
|
|||
|
// _MissionPanel.SetActive(true);
|
|||
|
if(MissionDialogAndLeftTabsLogic.Instance())
|
|||
|
{
|
|||
|
MissionDialogAndLeftTabsLogic.Instance()._MissionContainer.ForeachActiveItem<MissionItemLogic>((item) =>{
|
|||
|
var missionBase = TableManager.GetMissionBaseByID(item.MissionID, 0);
|
|||
|
if(missionBase!=null && missionBase.MissionType == (int)Games.Mission.MISSIONTYPE.MISSION_MAIN)
|
|||
|
{
|
|||
|
var missionLimit = TableManager.GetMissionLimitByID(item.MissionID, 0);
|
|||
|
if(missionLimit != null)
|
|||
|
{
|
|||
|
if (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level < missionLimit.LowLevel)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
item.OnItemClick();
|
|||
|
_showMissionArrowCountTime = 0.0f;
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (_MissionPanel != null && _MissionPanel.activeInHierarchy)
|
|||
|
{
|
|||
|
_MissionPanel.SetActive(false);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|