/// <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); }