/// <summary> /// multiMode used only /// </summary> public void SetItemUI(ItemObject itemObj) { m_Grid.SetItem(itemObj); if (itemObj != null) { energyItem = itemObj.GetCmpt <Energy>(); } else { energyItem = null; } }
void OnDeleteItem() { if (GameConfig.IsMultiMode) { if (m_storage == null) { PlayerNetwork.mainPlayer.RequestPersonalStorageDelete(m_OpGird.ItemObj.instanceId); } else { m_storage._ColonyObj._Network.Delete(m_OpGird.ItemObj.instanceId); return; } m_OpGird = null; } else { if (OpStatusEvent != null) { OpStatusEvent(EEventType.DeleteItem, m_OpGird.Item.protoData.GetName(), CSUtils.GetEntityName(CSConst.etStorage)); } m_CurPack[m_OpGird.ItemIndex] = null; m_OpGird.SetItem(null); } }
public void InitItem(ItemSample itemGrid) { if (itemGrid == null) { return; } mItem.SetItem(itemGrid); if (itemGrid.protoData.maxStackNum > 1) { mItemName.text = itemGrid.protoData.GetName() + "+" + itemGrid.GetCount(); } else { mItemName.text = itemGrid.protoData.GetName(); } mPos = transform.localPosition; }
void OnSetRewardItemContent(Grid_N grid) { int item_id = _rewardItemIds[grid.ItemIndex]; int item_count = _rewardItemCount[grid.ItemIndex]; //ItemAsset.ItemProto item_proto = ItemAsset.ItemProto.GetItemData(item_id); ItemAsset.ItemSample sample = new ItemAsset.ItemSample(item_id, item_count); grid.SetItem(sample); }
public void OnDropItem_InterPackage2(Grid_N grid) { if (null == servant) { return; } if (grid.ItemObj != null) { return; } if (PeGameMgr.IsMulti) { switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_ServantEqu: //lz-2016.11.09 检测是否可以脱装备 if (SelectItem_N.Instance.RemoveOriginItem()) { PlayerNetwork.mainPlayer.RequestGiveItem2Npc((int)grid.ItemPlace, servant.Id, SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Place); } break; case ItemPlaceType.IPT_ServantInteraction: case ItemPlaceType.IPT_Bag: PlayerNetwork.mainPlayer.RequestGiveItem2Npc((int)grid.ItemPlace, servant.Id, SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Place); break; } SelectItem_N.Instance.SetItem(null); } else { switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_ServantEqu: case ItemPlaceType.IPT_ServantInteraction: case ItemPlaceType.IPT_ServantInteraction2: case ItemPlaceType.IPT_Bag: //lz-2016.11.09 检测是否可以脱装备 if (SelectItem_N.Instance.RemoveOriginItem()) { SetItemWithIndexWithPackage2(SelectItem_N.Instance.ItemObj, grid.ItemIndex); grid.SetItem(SelectItem_N.Instance.ItemObj); SelectItem_N.Instance.SetItem(null); } break; default: SelectItem_N.Instance.SetItem(null); break; } } }
void AddRewards(ItemSample itemGrid) { Grid_N AddItem = Instantiate(mPrefabGrid_N) as Grid_N; AddItem.transform.parent = mRewardsGrid.transform; AddItem.transform.localPosition = new Vector3(0, 0, -1); AddItem.transform.localRotation = Quaternion.identity; AddItem.transform.localScale = Vector3.one; AddItem.SetItem(itemGrid); mRewardsList.Add(AddItem); }
void OnRemoveOriginItem(Grid_N grid) { ItemObject oldItem = grid.ItemObj; grid.SetItem(null); if (OnItemChanged != null) { OnItemChanged(null, oldItem, m_Index); } }
public void SetItemByNet(MapObjNetwork net, int itemId) { if (_net != null && _net == net) { if (itemId != -1) { ItemObject obj = ItemMgr.Instance.Get(itemId); if (null != obj) { mRepairMachine.m_Repair.m_Item = obj.GetCmpt <Repair>(); } } else { mRepairMachine.m_Repair.m_Item = null; mRepairItem.SetItem(null); } UpdateItemForNet(_net); } }
void OnGridsExchangeItem(Grid_N grid, ItemObject item) { //--to do: wait npcpackage //if (grid.ItemObj != null) // RefNpc.m_Npc.RemoveFromBag(grid.ItemObj); //if (item != null) // RefNpc.m_Npc.AddToBag(item); grid.SetItem(item); }
public void SetItem(ItemSample itemSample, int index) { mGrid.SetItem(itemSample); mGrid.SetItemPlace(ItemPlaceType.IPT_ItemGet, index); if (itemSample != null) { mName.text = itemSample.protoData.GetName() + "[30FF30] x " + itemSample.stackCount + "[-]"; } else { mName.text = ""; } }
public void OnDropItem_Equip(Grid_N grid) { if (null == equipmentCmpt) { SelectItem_N.Instance.SetItem(null); return; } if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_HotKeyBar || !UIToolFuncs.CanEquip(SelectItem_N.Instance.ItemObj, commonCmpt.sex) || ((int)grid.ItemMask & SelectItem_N.Instance.ItemObj.protoData.equipPos) == 0) { SelectItem_N.Instance.SetItem(null); return; } if (PeGameMgr.IsMulti) { if (equipmentCmpt.NetTryPutOnEquipment(SelectItem_N.Instance.ItemObj)) { PlayerNetwork.mainPlayer.RequestNpcPutOnEquip(servant.Id, SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Place); SelectItem_N.Instance.SetItem(null); //lz-2016.08.31 装备成功播放音效 GameUI.Instance.PlayPutOnEquipAudio(); } } else { switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_ServantInteraction: case ItemPlaceType.IPT_ServantInteraction2: case ItemPlaceType.IPT_Bag: if (equipmentCmpt.PutOnEquipment(SelectItem_N.Instance.ItemObj, true)) { SelectItem_N.Instance.RemoveOriginItem(); grid.SetItem(SelectItem_N.Instance.ItemObj); SelectItem_N.Instance.SetItem(null); //lz-2016.08.31 装备成功播放音效 GameUI.Instance.PlayPutOnEquipAudio(); } break; default: SelectItem_N.Instance.SetItem(null); break; } } }
private void UpdateOpPanelInfo() { if (null == m_CurOpItem) { return; } ShowOpPanel(true); m_CurOpGrid.SetItem(m_CurOpItem); m_CurrentNum = 1; if (m_CurPackTab == 0 && m_IsBuy) { //lz-2016.10.24 贸易站收取一定比例的服务费 m_CurPrice = Mathf.RoundToInt(m_CurOpItem.GetBuyPrice() * (1 + ColonyConst.TRADE_POST_CHARGE_RATE)); } else { m_CurPrice = m_CurOpItem.GetSellPrice(); //赎回的价格等于卖出的价格 } m_InputOpNum.text = m_CurrentNum.ToString(); m_LbTotal.text = m_CurPrice.ToString(); m_LbPrice.text = m_CurPrice.ToString(); m_BtnOp.text = PELocalization.GetString(m_IsBuy ? 8000556 : 8000555); }
Grid_N GetNewGrid() { Grid_N newItem = Instantiate(mGridPrefab) as Grid_N; GameObject.Destroy(newItem.transform.GetComponent <UIPanel>()); newItem.transform.parent = mDropItemGrid.transform; newItem.transform.localPosition = Vector3.zero; newItem.transform.localScale = Vector3.one; newItem.SetItem(null); newItem.SetItemPlace(ItemPlaceType.IPT_DropItem, mDropItemGrids.Count); newItem.onLeftMouseClicked = OnMouseLeftClick; newItem.onRightMouseClicked = RemoveFromDropList; newItem.onDropItem = OnDropItem; return(newItem); }
public void RemoveFromDropList(Grid_N grid) { if (null == grid.ItemObj) { return; } int index = mDropInfoList.FindIndex(itr => itr.mDropItemObj == grid.ItemObj); if (index != -1) { mDropInfoList.RemoveAt(index); grid.SetItem(null); mItemPackage.ResetItem(); } }
void RemoveOriginItem(Grid_N grid) { if (grid == null || grid.ItemIndex < -1 || m_CurPack.Count <= grid.ItemIndex) { Debug.LogWarning("The giving grid is error."); return; } if (OpStatusEvent != null) { OpStatusEvent(EEventType.TakeAwayItem, grid.Item.protoData.GetName(), CSUtils.GetEntityName(CSConst.etStorage)); } m_CurPack[grid.ItemIndex] = null; grid.SetItem(null); }
public void AddToDropList(int packTab, int Index, Grid_N grid, Grid_N curDropItem = null) { if (curDropItem == null) { curDropItem = GetEmptyGrid(); if (null == curDropItem) { PeTipMsg.Register(PELocalization.GetString(82209001), PeTipMsg.EMsgLevel.Warning); return; } } RemoveFromDropList(curDropItem); curDropItem.SetItem(grid.Item); DropItemInfo info = new DropItemInfo(); info.SetInfo(packTab, Index, grid, grid.ItemObj); mDropInfoList.Add(info); ResetPackageWnd(packTab, Index); }
public void OnDropItemToEquipment(Grid_N grid) { if (SelectItem_N.Instance.Place != ItemPlaceType.IPT_Bag || !UIToolFuncs.CanEquip(SelectItem_N.Instance.ItemObj, commonCmpt.sex) || ((int)grid.ItemMask & SelectItem_N.Instance.ItemObj.protoData.equipPos) == 0) { SelectItem_N.Instance.SetItem(null); return; } if (GameConfig.IsMultiMode) { if (equipmentCmpt.NetTryPutOnEquipment(SelectItem_N.Instance.ItemObj)) { PlayerNetwork.mainPlayer.RequestPutOnEquipment(SelectItem_N.Instance.ItemObj, SelectItem_N.Instance.Index); //lz-2016.08.31 装备成功播放音效 GameUI.Instance.PlayPutOnEquipAudio(); } SelectItem_N.Instance.SetItem(null); } else { switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_Bag: if (equipmentCmpt.PutOnEquipment(SelectItem_N.Instance.ItemObj)) { SelectItem_N.Instance.RemoveOriginItem(); grid.SetItem(SelectItem_N.Instance.ItemObj); SelectItem_N.Instance.SetItem(null); //lz-2016.08.31 装备成功播放音效 GameUI.Instance.PlayPutOnEquipAudio(); } break; default: SelectItem_N.Instance.SetItem(null); break; } } }
void OnPlayerPackageRightClicked(Grid_N grid) { if (!CSUI_MainWndCtrl.IsWorking(false)) { return; } if (!m_IsWorking) { return; } if (GameConfig.IsMultiMode) { if (m_storage == null) { PlayerNetwork.mainPlayer.RequestPersonalStorageStore(grid.ItemObj.instanceId, -1); } else { m_storage._ColonyObj._Network.STO_Store(-1, grid.ItemObj); } } else { if (SetItemWithEmptyGrid(grid.ItemObj)) { // CSUI_Main.ShowStatusBar("You put the " + grid.Item.mItemData.m_Englishname + " into the storage."); if (OpStatusEvent != null) { OpStatusEvent(EEventType.PutItemInto, grid.Item.protoData.GetName(), CSUtils.GetEntityName(CSConst.etStorage)); } // CSUI_Main.ShowStatusBar(CSUtils.GetNoFormatString(UIMsgBoxInfo.mPutIntoMachine.GetString(), grid.Item.mItemData.GetName(), CSUtils.GetEntityName(CSConst.etStorage))); PeCreature.Instance.mainPlayer.GetCmpt <PackageCmpt>().Remove(grid.ItemObj); //GetItemPackage().RemoveItem(grid.ItemObj); grid.SetItem(null); } } }
void OnRightMouseClicked(Grid_N grid) { if (grid.Item == null) { return; } if (onCheckItem != null && !onCheckItem(null, ECheckItemType.RightMounseClick)) { return; } if (GameConfig.IsMultiMode) { OnRightMouseClickedMulti(grid, m_Index); return; } ItemObject oldItem = grid.ItemObj; Pathea.PlayerPackageCmpt package = Pathea.PeCreature.Instance.mainPlayer.GetCmpt <Pathea.PlayerPackageCmpt>(); if (package.package.CanAdd(grid.ItemObj)) { package.Add(grid.ItemObj); GameUI.Instance.mItemPackageCtrl.ResetItem(); grid.SetItem(null); if (OnItemChanged != null) { OnItemChanged(null, oldItem, m_Index); } } else { CSUI_MainWndCtrl.ShowStatusBar(UIMsgBoxInfo.mNotEnoughGrid.GetString(), Color.red); } }
void ClearUIInfo() { mTitleLineName.text = ""; mLineName.text = ""; mLbStationCount.text = ""; mLbNodeCount.text = ""; mLbRangeAblity.text = ""; mLbOneWaytime.text = ""; mTitleStationName.text = ""; mStationName.text = ""; mArriveTime.text = ""; mRedestanceTime.text = ""; mBtnStop.SetActive(false); mRailIcon.SetItem(null); }
void OnDropItem(Grid_N grid) { if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_HotKeyBar) { return; } ActiveWnd(); if (PeGameMgr.IsMulti) { //lz-2017.02.27 错误 #8998 多人storage只支持从背包放入,不支持storage内部交换 if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_Bag) { //lz-2016.11.16 多人是所有类型的一个总列表,index需要通过类型和页数处理一下 if (_wareObj != null) { _wareObj._objNet.InsertItemList(SelectItem_N.Instance.ItemObj.instanceId, grid.ItemIndex + (mCurrentPickTab * mPageCount)); } } return; } if (grid.ItemObj == null) { switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_HotKeyBar: SelectItem_N.Instance.SetItem(null); break; default: if (SelectItem_N.Instance.GridMask != GridMask.GM_Mission) { SelectItem_N.Instance.RemoveOriginItem(); grid.SetItem(SelectItem_N.Instance.ItemObj); m_CurrentPack[grid.ItemIndex] = SelectItem_N.Instance.ItemObj; } SelectItem_N.Instance.SetItem(null); break; } } else { //lz-2016.11.16 添加仓库内交换和背包交换功能 switch (SelectItem_N.Instance.Place) { case ItemPlaceType.IPT_Warehouse: ItemObject temp = SelectItem_N.Instance.ItemObj; m_CurrentPack[SelectItem_N.Instance.Index] = grid.ItemObj; m_CurrentPack[grid.ItemIndex] = temp; SelectItem_N.Instance.SetItem(null); ResetItem(); break; case ItemPlaceType.IPT_Bag: if (SelectItem_N.Instance.RemoveOriginItem()) { GameUI.Instance.mItemPackageCtrl.SetItemWithIndex(grid.ItemObj, SelectItem_N.Instance.Index); m_CurrentPack[grid.ItemIndex] = SelectItem_N.Instance.ItemObj; SelectItem_N.Instance.SetItem(null); ResetItem(); } break; default: SelectItem_N.Instance.SetItem(null); break; } } }
void Start() { item = new ItemSample(mRevivePrtroId); mGrid.SetItem(item); mGrid_2.SetItem(item); }
void onRemoveOriginItem(Grid_N grid) { //ItemObject oldItem = grid.ItemObj; grid.SetItem(null); //MedicineDragOutEvent(grid); }
public void Sell(Grid_N grid, int num) { //lz-2016.08.10 执行Sell的时候重置包裹当前的操作Item GameUI.Instance.mItemPackageCtrl.ResetCurOpItem(); if (null == grid || null == grid.ItemObj) { Debug.LogError("Sell item is null"); return; } int proid = grid.ItemObj.protoId; int instanceid = grid.ItemObj.instanceId; int maxStackCount = grid.ItemObj.GetStackMax(); int cost = grid.ItemObj.GetSellPrice();//(int)(grid.ItemObj.prototypeData.m_CurrencyValue * num * (0.8f * grid.ItemObj.Durability / grid.ItemObj.DurabilityMax + 0.2f)); // string itemname = grid.ItemObj.protoData.GetName(); if (npc == null) { return; } NpcPackageCmpt npcpc = npc.GetCmpt <NpcPackageCmpt>(); if (npcpc == null) { return; } cost *= num; if (cost > npcpc.money.current) { string errInfo = ""; EntityInfoCmpt cmpt = npc.GetCmpt <EntityInfoCmpt>(); if (cmpt != null) { string _name = ""; // if (npc.entityProto.proto == EEntityProto.RandomNpc) // { // _name = cmpt.characterName.fullName; // } // else if (npc.entityProto.proto == EEntityProto.Npc) // { // _name = cmpt.characterName.givenName; // } _name = cmpt.characterName.fullName; //lz-2016.10.31 have no money to pay for you! errInfo = _name + " " + PELocalization.GetString(8000853); } else { //lz-2016.10.31 have no money to pay for you! errInfo = npc.name + " " + PELocalization.GetString(8000853); } new PeTipMsg(errInfo, PeTipMsg.EMsgLevel.Error); return; } //Add money to player if (PeGameMgr.IsMulti) { PlayerNetwork.mainPlayer.RequestSell(npc.Id, instanceid, num); } else { npcpc.money.current -= cost; ItemObject SellItemObj; if (maxStackCount == 1) { SellItemObj = grid.ItemObj; } else { SellItemObj = ItemMgr.Instance.CreateItem(proid); } PlayerPackageCmpt pkg = PeCreature.Instance.mainPlayer.GetCmpt <PlayerPackageCmpt>(); if (null == pkg) { return; } if (maxStackCount == 1) { pkg.Remove(SellItemObj); } else { pkg.DestroyItem(instanceid, num); } //if (grid.ItemObj.GetCount() > num) //{ // SellItemObj = ItemMgr.Instance.CreateItem(grid.ItemObj.protoId); // single // SellItemObj.IncreaseStackCount(num); // grid.ItemObj.DecreaseStackCount(num); //} //else //{ // SellItemObj = grid.ItemObj; // PlayerFactory.mMainPlayer.GetItemPackage().RemoveItem(grid.ItemObj); // GameUI.Instance.mUIItemPackageCtrl.ResetItem(); //} //SellItemObj.SetProperty(ItemProperty.SellItemMark, 1f); AddRepurchase(SellItemObj, num); // if (cost != 0 && !PeCreature.Instance.mainPlayer.AddToPkg(StroyManager.PRICE_ID, cost)) // { // return; // } pkg.money.current += cost; ResetItem(); } //GameGui_N.Instance.mChatGUI.AddChat(PromptData.PromptType.PromptType_14, itemname, num, cost); mOpItem.SetItem(null); mOpGrid = null; mSellOpLayer.gameObject.SetActive(false); return; }
public void SetItem(ItemSample itemsp, int cosPerItem) { mGrid.SetItem(itemsp); mCosPerItem = cosPerItem; }
void OnGridsExchangeItem(Grid_N grid, ItemObject item) { grid.SetItem(item); }
void OnDropItem(Grid_N grid) { //1.check if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_HotKeyBar && SelectItem_N.Instance.Place == ItemPlaceType.IPT_Null) { SelectItem_N.Instance.SetItem(null); return; } if (onCheckItem != null && !onCheckItem(SelectItem_N.Instance.ItemObj, ECheckItemType.OnDrop)) { return; } //2.send 3.do if (GameConfig.IsMultiMode) { OnDropItemMulti(grid, m_Index); return; } ItemObject dragitem = SelectItem_N.Instance.ItemObj; if (dragitem == null) { return; } ItemObject dropItem = grid.ItemObj; ItemObject oldItem = grid.ItemObj; if (dropItem == null) { grid.SetItem(dragitem); if (OnItemChanged != null) { OnItemChanged(dragitem, oldItem, m_Index); } SelectItem_N.Instance.RemoveOriginItem(); SelectItem_N.Instance.SetItem(null); } else { Pathea.PlayerPackageCmpt pkg = Pathea.PeCreature.Instance.mainPlayer.GetCmpt <Pathea.PlayerPackageCmpt>(); ItemPackage.ESlotType dropType = ItemPackage.GetSlotType(dropItem.protoId); ItemPackage.ESlotType dragType = ItemPackage.GetSlotType(dragitem.protoId); //lz-2016.10.18 如果拖动的Item和放置的Item是同一类型,就直接交换ItemObj数据 if (dropType == dragType && null != SelectItem_N.Instance.Grid) { if (SelectItem_N.Instance.Grid.onGridsExchangeItem != null) { SelectItem_N.Instance.Grid.onGridsExchangeItem(SelectItem_N.Instance.Grid, dropItem); grid.SetItem(dragitem); SelectItem_N.Instance.SetItem(null); if (OnItemChanged != null) { OnItemChanged(dragitem, oldItem, m_Index); } } } //lz-2016.10.18 如果不是同一类型,或者没有Grid,就先添加,后移除 else if (pkg.package.CanAdd(dropItem)) { pkg.package.AddItem(dropItem); grid.SetItem(dragitem); SelectItem_N.Instance.RemoveOriginItem(); SelectItem_N.Instance.SetItem(null); } if (OnItemChanged != null) { OnItemChanged(dragitem, oldItem, m_Index); } } }
void OnDropItem(Grid_N grid) { //lz-2016.11.16 当前包裹数据为空的时候直接返回 if (CSUI_MainWndCtrl.Instance == null || grid == null || null == m_CurPack) { return; } if (!CSUI_MainWndCtrl.IsWorking()) { return; } if (!m_IsWorking) { if (OpStatusEvent != null) { OpStatusEvent(EEventType.CantWork, CSUtils.GetEntityName(CSConst.etStorage), null); } return; } if (null == SelectItem_N.Instance.ItemObj || SelectItem_N.Instance.Place == ItemPlaceType.IPT_HotKeyBar) { SelectItem_N.Instance.SetItem(null); return; } if (grid.ItemObj == null) { switch (SelectItem_N.Instance.Place) { default: if (GameConfig.IsMultiMode) { if (SelectItem_N.Instance.GridMask != GridMask.GM_Mission) { if (m_storage == null) { if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_Bag) { PlayerNetwork.mainPlayer.RequestPersonalStorageStore(SelectItem_N.Instance.ItemObj.instanceId, grid.ItemIndex); } else if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_NPCStorage) { PlayerNetwork.mainPlayer.RequestPersonalStorageExchange(SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Index, grid.ItemIndex); } } else { if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_Bag) { m_storage._ColonyObj._Network.STO_Store(grid.ItemIndex, SelectItem_N.Instance.ItemObj); } else if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_CSStorage) { m_storage._ColonyObj._Network.STO_Exchange(SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Index, grid.ItemIndex); } return; } if (OpStatusEvent != null) { OpStatusEvent(EEventType.PutItemInto, SelectItem_N.Instance.ItemObj.protoData.GetName(), CSUtils.GetEntityName(CSConst.etStorage)); } } } else { if (SelectItem_N.Instance.GridMask != GridMask.GM_Mission) { SelectItem_N.Instance.RemoveOriginItem(); grid.SetItem(SelectItem_N.Instance.ItemObj); m_CurPack[grid.ItemIndex] = SelectItem_N.Instance.ItemObj; if (OpStatusEvent != null) { OpStatusEvent(EEventType.PutItemInto, SelectItem_N.Instance.ItemObj.protoData.GetName(), CSUtils.GetEntityName(CSConst.etStorage)); } } } SelectItem_N.Instance.SetItem(null); break; } } else { if (GameConfig.IsMultiMode) { if (m_storage == null) { if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_NPCStorage) { PlayerNetwork.mainPlayer.RequestPersonalStorageExchange(SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Index, grid.ItemIndex); } } else { if (SelectItem_N.Instance.Place == ItemPlaceType.IPT_CSStorage) { m_storage._ColonyObj._Network.STO_Exchange(SelectItem_N.Instance.ItemObj.instanceId, SelectItem_N.Instance.Index, grid.ItemIndex); } return; } } else { Pathea.PlayerPackageCmpt pkg = Pathea.PeCreature.Instance.mainPlayer.GetCmpt <Pathea.PlayerPackageCmpt>(); ItemObject dragItem = SelectItem_N.Instance.ItemObj; ItemObject dropItem = grid.ItemObj; ItemPackage.ESlotType dropType = ItemPackage.GetSlotType(dropItem.protoId); ItemPackage.ESlotType dragType = ItemPackage.GetSlotType(dragItem.protoId); //lz-2016.10.18 如果拖动的Item和放置的Item是同一类型,就直接交换ItemObj数据 if (dropType == dragType && null != SelectItem_N.Instance.Grid) { if (SelectItem_N.Instance.Grid.onGridsExchangeItem != null) { SelectItem_N.Instance.Grid.onGridsExchangeItem(SelectItem_N.Instance.Grid, dropItem); grid.SetItem(dragItem); m_CurPack[grid.ItemIndex] = grid.ItemObj; SelectItem_N.Instance.SetItem(null); } } //lz-2016.10.18 如果不是同一类型,或者没有Grid,就先添加,后移除 else if (pkg.package.CanAdd(dropItem)) { pkg.package.AddItem(dropItem); grid.SetItem(dragItem); SelectItem_N.Instance.RemoveOriginItem(); SelectItem_N.Instance.SetItem(null); } } } }
void UpdateGrid(Grid_N grid, ItemObject item, int index) { grid.SetItem(item); grid.SetItemPlace(ItemPlaceType.IPT_ColonyTradingPost, index); grid.SetGridMask(GridMask.GM_Any); }
void OnGridsExchangeItems(Grid_N grid, ItemObject item) { grid.SetItem(item); m_CurPack[grid.ItemIndex] = grid.ItemObj; }