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.Instance.MainPlayer; } Tab_SystemParam _SystemParam = null; private void Update() { if (_MainPlyer == null) _MainPlyer = Singleton.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((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); } } } } }