using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using GCGame.Table; public class CopyInUpRight : MonoBehaviour { private static CopyInUpRight m_Instance = null; public static CopyInUpRight Instance() { return m_Instance; } public GameObject killParent; public GameObject _NextRefeshObj; public Text _NextRefreshTime; public Text kills; //杀怪数 public Text timeDownText; //副本剩余时间倒计时 public Text AwardType; //副本奖励获得方式 public GameObject AwardTypeObj; public GameObject LeaveBtn; public GameObject killGameObj; public GameObject timeDownGameObj; public GameObject AwardItemObj; public static void ClearData() { killMonsterCount = 0; killBossCount = 0; } private int killMonsters; private static int killMonsterCount; private int killBosss; private static int killBossCount; private int _CDStart; public void Awake() { Hashtable add = new Hashtable(); add["name"] = "CopyRightOpen"; Games.Events.MessageEventCallBack call = OnOpenWndOver; add["callFun"] = call; Games.Events.EventDispatcher.Instance.AddMessageEvent(Games.Events.EventId.CopyRightOpen, add); Hashtable add1 = new Hashtable(); add1["name"] = "CopyRightRefresh"; Games.Events.MessageEventCallBack call1 = ReFreshKills; add1["callFun"] = call1; Games.Events.EventDispatcher.Instance.AddMessageEvent(Games.Events.EventId.CopyRightFresh, add1); } public void InitRefeshTime(int remainTime) { if(remainTime > 0) { _NextRefreshTime.text = (remainTime / 60).ToString().PadLeft(2, '0') + ":" + (remainTime % 60).ToString().PadLeft(2, '0'); _NextRefeshObj.SetActive(true); StartCoroutine(CountNextRereshTime(remainTime)); } else { _NextRefeshObj.SetActive(false); } } IEnumerator CountNextRereshTime(int remainTime) { while(true) { yield return new WaitForSeconds(1.0f); remainTime--; if(remainTime <= 0) { _NextRefeshObj.SetActive(false); yield break; } _NextRefreshTime.text = (remainTime / 60).ToString().PadLeft(2, '0') + ":" + (remainTime % 60).ToString().PadLeft(2, '0'); } } public void OnOpenWndOver(Hashtable addparam, Hashtable sendparam) { if (sendparam.ContainsKey("operator")) { GC_NOTIFY_COPYINFO packet = (GC_NOTIFY_COPYINFO)sendparam["operator"]; if (packet == null) return; InitInfo(packet); } LeaveBtn.SetActive(sendparam.ContainsKey("IsCanLeave")); } public void ReFreshKills(Hashtable addparam, Hashtable sendparam) { if (sendparam.ContainsKey("packet")) { GC_NOTIFY_COPY_MONSTER_INFO packet = (GC_NOTIFY_COPY_MONSTER_INFO)sendparam["packet"]; RefreshKills(packet); } } void Start() { RectTransform rect = transform as RectTransform; if(rect!=null) { rect.anchoredPosition = new Vector2(0, rect.anchoredPosition.y); } transform.SetSiblingIndex(0); InvokeRepeating("RemainTimeDown", 0, 1); } void OnEnable() { m_Instance = this; //if (MissionDialogAndLeftTabsLogic.Instance() != null) // MissionDialogAndLeftTabsLogic.Instance().HideMissionDialog(false); //MissionDialogAndLeftTabsLogic.SetSwitch(UIInfo.CopyInfoUpRight); Tab_Fuben fuben = TableManager.GetFubenByID(GameManager.gameManager.PlayerDataPool.EnterSceneCache.EnterCopySceneID, 0); if (fuben == null) { UIManager.CloseUI(UIInfo.CopyInfoUpRight); return; } if (fuben.ShowTimeDown != 1) { timeDownText.text = "--/--"; } ShowAwardItem(fuben); if (GameManager.gameManager.RunningScene == Games.GlobeDefine.GlobeVar.BANQUETSCENEID) OnBtnHide(); else OnBtnShow(); } List Items = new List(); void ShowAwardItem(Tab_Fuben fuben) { for (int i = 0; i < Items.Count; i++) Items[i].SetActive(false); for(int i=0;i i && Items[i]!=null) newObj = Items[i]; else { newObj = GameObject.Instantiate(AwardItemObj); Items.Add(newObj); } if (newObj == null) continue; newObj.SetActive(true); newObj.transform.SetParent(AwardItemObj.transform.parent); newObj.transform.localPosition = Vector3.zero; newObj.transform.localScale = Vector3.one; Text numText = newObj.GetComponentInChildren(); Transform count = newObj.transform.Find("Count"); if(awardCount<=1) { if (count != null) count.gameObject.SetActive(false); } else { if (numText != null) numText.text = awardCount.ToString(); } Button btn = newObj.GetComponent