using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using GCGame.Table; using Games.Mission; using Module.Log; public class CrossServerCopyInfoCtr : MonoBehaviour { public static CrossServerCopyInfoCtr Instance; private void Awake() { Instance = this; } private void OnDestroy() { Instance = null; } public GameObject _ShowBtn; public GameObject _HideBtn; public UIContainerBase _RewContainer; public Text _MissionInfoDesc; public Text _MissionCountParam; public Text _DailyReputation; public Text _NpcName; public GameObject _MissionPanel; public GameObject _DailyMissionPanel; public GameObject _CompleteMissionIcon; public GameObject _RewPanel; public GameObject _InfoPanel; public int _MissionId = -1; private void OnEnable() { OnShow(); if (ActivityDataManager.Instance.IsActivityState((int)ActivityDataManager.Activity_Type.ACTIVITY_TYPE_CROSSSERVERBOSS, ActivityDataManager.ActivityState.Playing)) { gameObject.SetActive(false); } } private SynCrossSerInfo _Packet; public void OnPacket(SynCrossSerInfo packet) { _Packet = packet; _MissionId = packet.killMissionid; _DailyReputation.text = packet.todayscore + "/" + packet.totalscore; if (_MissionId == -1) { _MissionPanel.SetActive(false); InitRewAndNpcName(); return; } else { _MissionPanel.SetActive(true); MissionOperation(); } } public void OnShop() { YuanBaoShopLogic.OpenShopForJiFenItem(10, -1); //UIManager.ShowUI(UIInfo.YuanBaoShop, delegate(bool bSucess, object param) { // if(bSucess) // { // YuanBaoShopLogic.OpenShopForJiFenItem(10, -1); // } //}); } public void OnRule() { MessageHelpLogic.ShowHelpMessage(53); } public void OnExit() { //if (Singleton.Instance.MainPlayer != null) //{ // Singleton.Instance.MainPlayer.AskLeaveCopy(); //} var sceneInfo = TableManager.GetSceneClassByID(13, 0); if (sceneInfo != null) { SceneData.RequestChangeScene((int)AutoSearchPoint.ChangeMap_Type.WORLDMAP, 0,13, -1, (int)sceneInfo.SafeX, (int)sceneInfo.SafeZ); } } public void OnShow() { _ShowBtn.SetActive(true); _HideBtn.SetActive(false); _InfoPanel.SetActive(true); GCGame.Utils.HideMainTopRightUI(); } public void OnHide() { _ShowBtn.SetActive(false); _HideBtn.SetActive(true); _InfoPanel.SetActive(false); } //不能每次同步声望的时候都刷新一次 private bool hasInitRew = false; private const int _AcceptMissionNpcDataId = -1; public void InitRewAndNpcName() { if (hasInitRew) return; //这边写死了一个接取护送任务的NPCID Tab_RoleBaseAttr roleBaseAttr = null; switch (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Force) { case 6: roleBaseAttr = TableManager.GetRoleBaseAttrByID(912, 0); break; case 7: roleBaseAttr = TableManager.GetRoleBaseAttrByID(913, 0); break; case 27: roleBaseAttr = TableManager.GetRoleBaseAttrByID(914, 0); break; } if (roleBaseAttr != null) { _NpcName.text = roleBaseAttr.Name; } List rewList = new List(); for(int index = 0; index < _Packet.rewardItem.Count; index++) { rewList.Add(_Packet.rewardItem[index].awardSubType); } if (rewList.Count > 0) { _RewPanel.SetActive(true); _RewContainer.InitContentItem(rewList); }else { _RewPanel.SetActive(false); } hasInitRew = true; RefreshMisisonCountParam(); } public void RefreshMisisonCountParam() { Tab_ActivityBase tab = ActivityDataManager.Instance.GetActivityTabByID(29); int complete = ActivityDataManager.Instance.GetActivityCompleteTimes((int)ActivityDataManager.Activity_Type.CROSS_SER_ESCORT); if(tab!=null) { _MissionCountParam.text = string.Format("({0}/{1})", complete < 0 ? 0 : complete, tab.ActityLimitTimes); } //var activityBase = TableManager.GetActivityBaseByID(29, 0); //这边写死很蛋疼,跨服押镖有三个枚举,服务器说用30,但是表里面配的是31! //if (GlobalData.ActivityCompletedCount.ContainsKey((int)ActivityDataManager.Activity_Type.CROSS_SER_ESCORT)) // _MissionCountParam.text = "(" + GlobalData.ActivityCompletedCount[(int)ActivityDataManager.Activity_Type.CROSS_SER_ESCORT] + "/" + activityBase.ActityLimitTimes + ")"; } public void MissionOperation() { RefreshMisisonParam(); InitRewAndNpcName(); RefreshMissionState(); } public void RefreshMisisonParam() { if (_MissionId == -1) return; var missionDIc = TableManager.GetMissionDictionaryByID(_MissionId, 0); if (missionDIc == null) return; var param = GameManager.gameManager.MissionManager.GetMissionParam(_MissionId, 0); _MissionInfoDesc.text = string.Format(missionDIc.GetFollowTextbyIndex(0), param); //只显示默认的第一个描述 } public void OnNpcName() { var npcID = -1; switch (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Force) { case 6: npcID = 912; break; case 7: npcID = 913; break; case 27: npcID = 914; break; } Tab_AutoSearch sceneNpc = TableManager.GetAutoSearchByID(npcID, 0); if (sceneNpc == null) return; AutoSearchPoint point = new AutoSearchPoint(sceneNpc.DstSceneID, sceneNpc.X, sceneNpc.Z); if (GameManager.gameManager && GameManager.gameManager.AutoSearch) { Tab_RoleBaseAttr role = TableManager.GetRoleBaseAttrByID(sceneNpc.DataId, 0); GameManager.gameManager.AutoSearch.BuildPath(point); if (role != null) { GameManager.gameManager.AutoSearch.Path.AutoSearchTargetName = role.Name; } } } public void RefreshMissionState() { if (_CompleteMissionIcon != null) _CompleteMissionIcon.SetActive(GameManager.gameManager.MissionManager.GetMissionState(_MissionId) == (int)MissionState.Mission_Completed); } public void OnMissionItem() { if (_MissionId == -1) return; GameManager.gameManager.MissionManager.MissionPathFinder(_MissionId); } }