private int SortCompare(WdfActiveData AF1, WdfActiveData AF2) { int res = 0; if (AF1.type > AF2.type) { res = 1; } else if (AF1.type < AF2.type) { res = -1; } return(res); }
void RefreshActiveType() { if (openSpite != null) { openSpite.gameObject.SetActive(GameCenter.wdfActiveMng.CurWdfActiveMainType == WdfType.OPEN); } if (wonderfulSpite != null) { wonderfulSpite.gameObject.SetActive(GameCenter.wdfActiveMng.CurWdfActiveMainType == WdfType.WONDERFUL); } if (combineSpite != null) { combineSpite.gameObject.SetActive(GameCenter.wdfActiveMng.CurWdfActiveMainType == WdfType.COMBINE); } if (holidaySpite != null) { holidaySpite.gameObject.SetActive(GameCenter.wdfActiveMng.CurWdfActiveMainType == WdfType.HOLIDAY); } int id = 0; Vector3 V3 = Vector3.zero; DestroyItem(); typeList.Clear(); for (int i = 0, max = GameCenter.wdfActiveMng.WdfActiveTypeDic.Count; i < max; i++) { //if (GameCenter.wdfActiveMng.WdfActiveTypeDic[i].type == GameCenter.wdfActiveMng.CurWdfActiveMainType) //{ if (activeTypeInstance == null || activeTypeGird == null) { return; } GameObject obj = Instantiate(activeTypeInstance) as GameObject; if (obj == null) { return; } Transform parentTransf = activeTypeGird.transform; obj.transform.parent = parentTransf; obj.transform.localPosition = V3; obj.transform.localScale = Vector3.one; obj.SetActive(true); V3 = new Vector3(V3.x, V3.y - 58, V3.z); WdfActiveTypeItem ui = obj.GetComponent <WdfActiveTypeItem>(); if (ui != null) { if (i == 0 && GameCenter.wdfActiveMng.CurWdfActiveType == 0) { GameCenter.wdfActiveMng.CurWdfActiveType = GameCenter.wdfActiveMng.WdfActiveTypeDic[i].type; } WdfActiveData WdfActiveData = GameCenter.wdfActiveMng.WdfActiveTypeDic[i]; if (WdfActiveData != null) { ui.Refresh(WdfActiveData.name, WdfActiveData.type, (int)WdfActiveData.id); typeList.Add(ui); } } if (id == 0) { id = (int)GameCenter.wdfActiveMng.WdfActiveTypeDic[i].id; } //} } if (id != 0 && isFirstActiveTime) { GameCenter.wdfActiveMng.C2S_AskActivitysInfoByID(id); isFirstActiveTime = false; } RefreshRed(); }
/// <summary> /// 获得所有活动类型 /// </summary> /// <param name="_pt"></param> protected void S2C_GetAllActivitys(Pt _pt) { pt_reply_all_operation_activity_d901 pt = _pt as pt_reply_all_operation_activity_d901; if (pt != null) { //Debug.Log("S2C_GetAllActivitys : " + pt.title_info_list.Count); //Debug.Log("GameCenter.openServerRewardMng.CanOpen" + GameCenter.openServerRewardMng.CanOpen); //Debug.Log("isGiftOpen"+ isGiftOpen); ActiveTypeInfoDic.Clear(); RedDic.Clear(); for (int i = 0; i < pt.title_info_list.Count; i++) { WdfActiveData data = new WdfActiveData(pt.title_info_list[i]); if (data != null) { if (CurWdfActiveMainType == data.activateType) { RedDic[data.type] = data.redState; } if (data.activateType == WdfType.OPEN) { isOpenOpen = true; } if (data.activateType == WdfType.WONDERFUL) { isWdfOpen = true; } if (data.activateType == WdfType.COMBINE) { isCombineOpen = true; } if (data.activateType == WdfType.HOLIDAY) { isHolidayOpen = true; } if (!ActiveTypeInfoDic.ContainsKey(data.activateType)) { ActiveTypeInfoDic[data.activateType] = new Dictionary <int, WdfActiveData>(); } if (!ActiveTypeInfoDic[data.activateType].ContainsKey(data.type)) { ActiveTypeInfoDic[data.activateType][data.type] = data; } } //Debug.Log("大活动类型 : " + data.activateType + " , 第" + i + "组活动数据ID : " + data.id + " , 名字 : " + data.name + " , 类型 : " + data.type); } //wdfActiveTypeDic.Sort(SortCompare); if (OnGetAllActiveTypes != null) { OnGetAllActiveTypes(); } if (pt.title_info_list.Count > 0) { if (RefreshShow != null) { RefreshShow(); } } else { if (isAccord) { isOpenOpen = false; if (RefreshShow != null) { RefreshShow(); } if (GameCenter.uIMng.CurOpenType == GUIType.WDFACTIVE) { GameCenter.uIMng.SwitchToUI(GUIType.NONE); GameCenter.messageMng.AddClientMsg(427); } } } ResetRed(); } }