void Init() { Grid.ClearChild(); MyItemList.Clear(); SelectItemList.Clear(); List <ItemFielInfo> packItemList = ContainerInfomanager.Instance.GetPackItemList().Where(p => (!p.GetIfBesetJewel(1)) && (!p.GetIfBesetJewel(2)) && (p.LocalItemData._TradeFlag == 1)).ToList(); // 所有已装备的装备本地信息 List <EquipmentData> equipedDataList = new List <EquipmentData>(); ContainerInfomanager.Instance.GetEquiptItemList().ApplyAllItem(P => equipedDataList.Add(P.LocalItemData as EquipmentData)); packItemList.Sort((left, right) => { bool leftCanSelectFast = IsCanFastSelect(left.LocalItemData, equipedDataList); bool rightCanSelectFast = IsCanFastSelect(right.LocalItemData, equipedDataList); if (leftCanSelectFast && !rightCanSelectFast) { return(-1); } else if (!leftCanSelectFast && rightCanSelectFast) { return(1); } else { if (left.sSyncContainerGoods_SC.nPlace < right.sSyncContainerGoods_SC.nPlace) { return(-1); } else if (left.sSyncContainerGoods_SC.nPlace == right.sSyncContainerGoods_SC.nPlace) { return(0); } else { return(1); } } }); for (int i = 0; i < ContainerInfomanager.Instance.GetAllPackMaxNum(); i++) { int indexX = i % 4; int indexY = i / 4; GameObject newObj = CreatObjectToNGUI.InstantiateObj(SinglePackItemPrefab, Grid); newObj.transform.localScale = new Vector3(0.85f, 0.85f, 1); newObj.transform.localPosition = new Vector3(-136 + 90 * indexX, 140 - 94 * indexY, 0); SinglePackItemSlot newItemSlot = newObj.GetComponent <SinglePackItemSlot>(); ItemFielInfo newItemFielInfo = packItemList.Count > i?packItemList[i]:null; newItemSlot.Init(newItemFielInfo, false, SinglePackItemSlot.ItemStatus.Sell, OnItemCLick); MyItemList.Add(newItemSlot); //引导注入 if (newItemFielInfo != null) { newObj.RegisterBtnMappingId(newItemFielInfo.LocalItemData._goodID, UIType.Package, BtnMapId_Sub.Package_Cell); } } //UpdateSellBtnStatus(); }
void OnSellBtnClick(object obj) { SoundManager.Instance.PlaySoundEffect("Sound_Button_Equipment_Confirm"); TraceUtil.Log(SystemModel.Jiang, "SellItems"); List <ItemFielInfo> itemList = new List <ItemFielInfo>(); SelectItemList.ApplyAllItem(P => itemList.Add(P.MyItemFileInfo)); if (itemList.Count > 0) { MyParent.m_SellItemConfirmPanel.SellItem(itemList); } else { MessageBox.Instance.ShowTips(1, LanguageTextManager.GetString("IDS_I1_26"), 1); } }
// void UpdateSellBtnStatus() // { // bool isEnabel = SelectItemList.Count>0; // SellButton.SetImageButtonComponentActive(isEnabel?true:false); // SellButton.SetButtonBackground(isEnabel?1:2); // SellButton.gameObject.collider.enabled = isEnabel; // } void OnItemCLick(object obj) { ItemFielInfo clickItemInfo = obj as ItemFielInfo; SinglePackItemSlot clickItem = MyItemList.First(P => P.MyItemFileInfo == clickItemInfo); bool selectStatus = !clickItem.IsSelect; clickItem.SetSelectStatus(selectStatus); if (selectStatus && !SelectItemList.Contains(clickItem)) { SelectItemList.Add(clickItem); } else if (!selectStatus && SelectItemList.Contains(clickItem)) { SelectItemList.Remove(clickItem); } //UpdateSellBtnStatus(); }
void OnFastSelectBtnClick(object obj) { SoundManager.Instance.PlaySoundEffect("Sound_Button_Equipment_Confirm"); List <SinglePackItemSlot> selectableItem = MyItemList.FindAll(P => P.MyItemFileInfo != null); // 所有已装备的装备本地信息 List <EquipmentData> equipedDataList = new List <EquipmentData>(); ContainerInfomanager.Instance.GetEquiptItemList().ApplyAllItem(P => equipedDataList.Add(P.LocalItemData as EquipmentData)); foreach (var item in selectableItem) { ItemData goodsLocalData = item.MyItemFileInfo.LocalItemData; // 判断是否可以快速选择 if (IsCanFastSelect(goodsLocalData, equipedDataList)) { item.SetSelectStatus(true); SelectItemList.Add(item); } } }
void isDialogue(bool isAble) { Tokusei_Set.Clear(); Weapon_Set.Clear(); EffortValue_Set.Text = "000-000-000-000-000-000-000"; IndividualValue_Set.Text = "00-00-00-00-00-00"; OtherItem_Set.Clear(); InputForm.Items.Clear(); InputForm.Items.Add("N/A"); SelectItemList.Refresh(); InputForm.Refresh(); Tokusei_Set.Enabled = isAble; InputForm.Enabled = isAble; Weapon_Set.Enabled = isAble; EffortValue_Set.Enabled = isAble; IndividualValue_Set.Enabled = isAble; SavePokemonData.Enabled = isAble; OtherItem_Set.Enabled = isAble; SelectItemList.Enabled = isAble; SeikakuList.Enabled = isAble; RealVal_newForm.Text = "入力が正しくないです"; //Refresh(); }