/// <summary> /// 点击事件 /// </summary> /// <param name="eventType"></param> /// <param name="data"></param> /// <param name="param"></param> private void OnReliveGridEventDlg(UIEventType eventType, object data, object param) { if (eventType == UIEventType.Click) { UIReliveGrid grid = data as UIReliveGrid; if (grid == null) { return; } if (grid.m_info.reliveId == 1) { IMapSystem mapSys = ClientGlobal.Instance().GetMapSystem(); if (mapSys == null) { return; } uint uCurMapID = mapSys.GetMapID(); table.MapDataBase mapDB = GameTableManager.Instance.GetTableItem <table.MapDataBase>(uCurMapID); if (mapDB == null) { return; } uint rebackMapID = mapDB.rebackMapID; if (!KHttpDown.Instance().SceneFileExists(rebackMapID)) { // 复活点复活 DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.DownloadPanel); HideSelf(); return; } } GameCmd.stOKReliveUserCmd_C cmd = new GameCmd.stOKReliveUserCmd_C(); cmd.byType = grid.m_info.reliveId; cmd.dwUserTempID = ClientGlobal.Instance().MainPlayer.GetID(); cmd.dwNpcID = 0; NetService.Instance.Send(cmd); } }
/// <summary> /// 初始化 /// </summary> void InitUI() { m_trans_ReliveContent.gameObject.SetActive(true); List <ReLiveDataManager.ReLiveData> list = RLManager.ReliveDataList; if (list == null) { Engine.Utility.Log.Error("未收到复活数据!!!"); return; } m_grid_Grid.transform.DestroyChildren(); for (int i = 0; i < list.Count; i++) { GameObject go = Instantiate(m_btn_UIReliveGrid.gameObject) as GameObject; go.transform.parent = m_grid_Grid.transform; go.transform.localScale = Vector3.one; go.transform.localPosition = Vector3.zero; go.transform.localRotation = Quaternion.identity; go.SetActive(true); UIReliveGrid grid = go.GetComponent <UIReliveGrid>(); if (grid == null) { grid = go.AddComponent <UIReliveGrid>(); } grid.SetGridData(list[i]); grid.RegisterUIEventDelegate(OnReliveGridEventDlg); } m_sprite_bg.height = 140 + 80 * list.Count; m_grid_Grid.Reposition(); }