using System; using System.Collections; using System.Collections.Generic; using Games.GlobeDefine; using Games.Item; using Games.Mission; using GCGame; using GCGame.Table; using Module.Log; using UnityEngine; using UnityEngine.UI; public class MissionItemLogic : UIItemBase { public Text m_MissionTitle; //任务追踪标题 public Text m_MissionInfo1; //任务追踪信息 public Text m_MissionInfo2; //任务追踪信息 public Text m_MissionInfo3; //任务追踪信息 public Text m_MissionInfo4; //任务追踪信息 public Text m_MissionFail; //任务失败 public Button _BtnTeamMission; public GameObject Award; public Image AwardIconQuility; public Image AwardIcon; public Text AwardNum; public Image _MissionTypeIcon; public List _MissionTypeIconList; public GameObject _BtnFly; public int serverMissionOverTime; //任务结束时间初始化为0 public int missionReaminTime; //任务剩余时间 public bool isLimitTimeMission; public int m_CurMissionIndex; //当前正在进行的任务(多个条件)条件的下标 public bool isMissionFailed; public GameObject _EffectPanel; public Transform tipShowPoint; public int _rewDataId = -1; private float countTime; private bool isNdeesCountTime; private bool isNeedIncLevel; private int m_MissionID = -1; public int MissionID { get { return m_MissionID; } set { m_MissionID = value; } } private void Update() { if (isNdeesCountTime) { countTime += Time.deltaTime; if (countTime >= 1.0f) { countTime = 1 - countTime; var missionLeaveTime = GameManager.gameManager.MissionManager.GetServerMissionOverTime(m_MissionID); if (missionLeaveTime <= 0) isNdeesCountTime = false; m_MissionFail.text = StrDictionary.GetClientDictionaryString("#{42502}", Utils.GetTimeStr(missionLeaveTime)); } } } public override void Show(Hashtable hash) { base.Show(); m_MissionID = (int) hash["InitObj"]; InitMission(m_MissionID); ShowAwardIcon(m_MissionID); } public void ShowAwardIcon(int MissionID) { _rewDataId = -1; //每次都要初始化一次 var rewDataNum = 0; var missionBase = TableManager.GetMissionBaseByID(MissionID); if (missionBase == null) { Award.SetActive(false); return; } //师门第十环 if (missionBase.MissionType == (int) MISSIONTYPE.MISSION_INSEC) { //是否是第十环(安全起见,读MissionLimit的轮次限制,万一脑袋一抽又要换次数) var missionLimit = TableManager.GetMissionLimitByID(missionBase.NextMission); var _rewList = TableManager.GetBonusForSectByID(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Level); var _curRound = GameManager.gameManager.MissionManager.GetMissionTruns(MissionID) * missionLimit.OneTurnCount; for (var index = 0; index < _rewList.Count; index++) if (_rewList[index].RoundId == _curRound) { _rewDataId = _rewList[index].ToolID1; rewDataNum = _rewList[index].ToolNum1; break; } } else { var bonus = TableManager.GetMissionBonusByID(missionBase.BonusID); if (bonus == null) { Award.SetActive(false); return; } _rewDataId = bonus.GetProfessionItemIDbyIndex(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession); rewDataNum = bonus.GetProfessionNumbyIndex(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession); } var commonItem = TableManager.GetCommonItemByID(_rewDataId); if (commonItem == null) { Award.SetActive(false); return; } AwardNum.gameObject.SetActive(false); if (commonItem.ClassID != (int) ItemClass.EQUIP && rewDataNum > 0) { AwardNum.gameObject.SetActive(true); AwardNum.text = rewDataNum.ToString(); } Award.SetActive(true); if (AwardIconQuility.gameObject && AwardIconQuility.gameObject.activeInHierarchy) LoadAssetBundle.Instance.SetImageSprite(AwardIconQuility, Utils.GetItemQualityFrame(commonItem)); if (AwardIcon.gameObject && AwardIcon.gameObject.activeInHierarchy) { LoadAssetBundle.Instance.SetImageSprite(AwardIcon, commonItem.Icon); if (commonItem.QualityEffect > 0) CommonItemContainerItem.ShowQualityEffect(true, commonItem.QualityEffect, AwardIcon.transform); else CommonItemContainerItem.ShowQualityEffect(false, commonItem.QualityEffect, AwardIcon.transform); } var btn = Award.GetComponent