Files
JJBB/Assets/Project/Script/GUI/Guide/MissionClickPanel.cs
2024-08-23 15:49:34 +08:00

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);
}
}
}
}
}