Пример #1
0
    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);
    }
Пример #2
0
    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();
    }
Пример #3
0
    /// <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();
        }
    }