Beispiel #1
0
    /// <summary>
    /// 重新设置当前的元素
    /// </summary>
    /// <param name="iType">I type.</param>
    public void resetItemType(EMItemType iType)
    {
        _itemType = iType;
        switch (_itemType)
        {
        case EMItemType.Charator:
            _boxItem = _charator as SQYBoxItem;
            break;

        case EMItemType.Equipment:
            _boxItem = _equipment as SQYBoxItem;
            break;

        case EMItemType.Gem:
            _boxItem = _gem as SQYBoxItem;
            break;

        case EMItemType.Props:
            _boxItem = _props as SQYBoxItem;
            break;

//		case EMItemType.Soul:
        case EMItemType.AtkFrag:
        case EMItemType.DefFrag:
        case EMItemType.MonFrag:
            _boxItem = _soul as SQYBoxItem;
            break;
        }
        SetShowAll(false);
        if (_boxItem != null)
        {
            _boxItem.gameObject.SetActive(true);
        }
    }
    /// <summary>
    /// 根据背包元素类型 来确定当前星级的元素是什么(人物,道具,装备等)
    /// </summary>
    /// <param name="node">Node.</param>
    /// <param name="iType">I type.</param>
    /// <param name="parent">Parent.</param>
    void checkNodeBoxItem(SQYNodeForBI node, EMItemType iType, GameObject parent)
    {
        switch (iType)
        {
        case EMItemType.Charator:
            if (node._charator == null)
            {
                node._charator          = SQYBICharator.CreateBICharator();
                node._charator.OnClick += this.On_Click;
            }
            break;

        case EMItemType.Equipment:
            if (node._equipment == null)
            {
                node._equipment          = SQYBIEquipment.CreateBIEquipment();
                node._equipment.OnClick += this.On_Click;
            }
            break;

        case EMItemType.Gem:
            if (node._gem == null)
            {
                node._gem          = SQYBIGem.CreateBIGem();
                node._gem.OnClick += this.On_Click;
            }
            break;

        case EMItemType.Props:
            if (node._props == null)
            {
                node._props          = SQYBIProps.CreateBIProps();
                node._props.OnClick += this.On_Click;
            }
            break;

        case EMItemType.AtkFrag:
        case EMItemType.DefFrag:
        case EMItemType.MonFrag:
            if (node._soul == null)
            {
                node._soul          = SQYBISoul.CreateBISoul();
                node._soul.OnClick += this.On_Click;
            }
            break;
        }

        node.resetItemType(iType);        //根据类型 把当前的元素重设.
        RED.AddChild(node._boxItem.gameObject, parent);
        node._boxItem.myParent = this;
        node._boxItem.myNode   = node;
    }
    /// <summary>
    /// 刷新当前星级的View 的入口,几乎从这里进入
    /// </summary>
    /// <param name="lstMT">所有的数据</param>
    /// <param name="star">当前星级</param>
    /// <param name="boxType">背包类型</param>
    /// <param name="st">筛选类型</param>
    /// <param name="iType">元素的类型</param>
    public void freshLinePetView(List <object> lstMT, int star, EMBoxType boxType, SplitType st, EMItemType iType)
    {
        _itemType = iType;
        _boxType  = boxType;

        switch (_boxType)
        {
        case EMBoxType.CHANGE:
        case EMBoxType.LOOK_Charator:
        case EMBoxType.LOOK_Equipment:
        case EMBoxType.LOOK_Props:
        case EMBoxType.LOOK_Gem:
        case EMBoxType.LOOK_AtkFrag:
        case EMBoxType.LOOK_DefFrag:
        case EMBoxType.LOOK_MonFrag:
        case EMBoxType.Equip_ADD_ATK:
        case EMBoxType.Equip_ADD_DEF:
        case EMBoxType.Equipment_SWAP_ATK:
        case EMBoxType.Equipment_SWAP_DEF:
        case EMBoxType.HECHENG_ZHENREN_MAIN:
        case EMBoxType.HECHENG_ZHENREN_SUB:
        case EMBoxType.HECHENG_SHENREN_MAIN:
        case EMBoxType.HECHENG_SHENREN_SUB:
        case EMBoxType.ZHENREN_HE_SHENREN_MAIN:
        case EMBoxType.ZHENREN_HE_SHENREN_SUB:
        case EMBoxType.ATTR_SWAP:
        case EMBoxType.QIANLI_XUNLIAN:
        case EMBoxType.GEM_HECHENG_MAIN:
        case EMBoxType.GEM_HECHENG_SUB:
        case EMBoxType.SELECT_EQUIPMENT_INLAY:
        case EMBoxType.SELECT_EQUIPMENT_RECAST:
        case EMBoxType.SELECT_GEM_INLAY:
            go_SelectAll.SetActive(false);
            break;

        default:
            go_SelectAll.SetActive(true);
            break;
        }

        szAllData = new List <object>(lstMT);

        _bMoreThanHalf = lstMT.Count > (mPageSize / 2);    //是否过半
        curPage        = 1;

        totalPage = (lstMT.Count / mPageSize) + (lstMT.Count % mPageSize == 0?0:1);//总页数,如果没有过半,肯定只有一页


        for (int i = 0; i < szStars.Count; i++)
        {
            if (i < star)
            {
                RED.SetActive(true, szStars [i].gameObject);
            }
            else
            {
                RED.SetActive(false, szStars [i].gameObject);
            }
        }

        if (_bMoreThanHalf)       //根据是否过半来处理一个ui
        {
            if (lstMT.Count > mPageSize)
            {
                sp_background.transform.localPosition = new Vector3(-70, -230, 0);
            }
            else
            {
                sp_background.transform.localPosition = new Vector3(-70, -210, 0);
            }

            bc_BoxCollider.center = v3_OneCenter;
            bc_BoxCollider.size   = v3_OneSize;
        }
        else
        {
            sp_background.transform.localPosition = new Vector3(-70, -60, 0);
            bc_BoxCollider.center = v3_HalfCenter;
            bc_BoxCollider.size   = v3_HalfSize;
        }

        //不管有多少页.先显示第一页的元素
//		showCurPageCharator(curPage);
        StopAllCoroutines();
        StartCoroutine("showCurPageCharator", curPage);
    }