private void DoAction_PetEquip() { CObject_Item_Equip pItemEquip = (CObject_Item_Equip)ItemImpl; if (pItemEquip.GetItemClass() != ITEM_CLASS.ICLASS_EQUIP) { return; } int emptyPlace = CDataPool.Instance.UserBag_FindFirstEmptyPlace(); if (emptyPlace == -1) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "背包已满,清整理背包后再尝试 ^0^!"); } else { // 发送卸下宠物装备消息. GameObject roleTip = UIWindowMng.Instance.GetWindowGo("RoleTipWindow"); UISelfEquip selfEquip = roleTip.GetComponent <UISelfEquip>(); SDATA_PET curPet = CDataPool.Instance.Pet_GetValidPet(selfEquip.ActivePet);//CDataPool.Instance.Pet_GetPet(selfEquip.ActivePet); if (curPet != null) { CGOperatePetEquip msg = new CGOperatePetEquip(); msg.OperatorType = 1; msg.GUID = curPet.GUID; msg.DestBagIndex = (byte)pItemEquip.GetItemType(); msg.SourecBagIndex = (byte)emptyPlace; NetManager.GetNetManager().SendPacket(msg); } } }
void Update_EnchanceEquip() //更新强化界面 { if (!gameObject.active) { return; } pItem = new List <CObject_Item_Equip>(); if (EnhanceMode == MODE.TAB_Role) { int index = 0; for (int i = 0; i < 10; i++) { if (index >= EnhanceNames.Count) { break; } CObject_Item_Equip equipItem = CDataPool.Instance.UserEquip_GetItem((HUMAN_EQUIP)i) as CObject_Item_Equip; if (equipItem != null) { int EquipPoint = (int)equipItem.GetItemType(); if (EquipPoint == 8 || EquipPoint == 9 || EquipPoint == 10) { continue; } else { pItem.Add(equipItem); index++; } } } } else if (EnhanceMode == MODE.TAB_Bag) { int index = 0; for (int i = 0; i < 60; i++) { CObject_Item_Equip packItem = CDataPool.Instance.UserBag_GetItemByIndex(i) as CObject_Item_Equip; if (packItem != null) { int EquipPoint = (int)packItem.GetItemType(); if (EquipPoint == 8 || EquipPoint == 9 || EquipPoint == 10) { continue; } else { pItem.Add(packItem); index++; } } } } nTheIndex = (int)EnhanceMode; IsShow(EnchanceIndex[nTheIndex]); }
//重新设置物品属性 public void SetItemInfo(int nBagIndex, bool bEmpty, ref _ITEM pItem) { if (nBagIndex >= GAMEDEFINE.MAX_BAG_SIZE) { return; } //物品消失 if (bEmpty) { if (mItems[nBagIndex] != null) { ObjectSystem.Instance.DestroyItem(mItems[nBagIndex]); mItems[nBagIndex] = null; } } else//设置物品详细信息 { if (mItems[nBagIndex] != null) { if (mItems[nBagIndex].TypeOwner == ITEM_OWNER.IO_MYSELF_PACKET) { CObject_Item Item = mItems[nBagIndex]; Item.ItemSaveStatus = SAVE_ITEM_STATUS.GET_MORE_INFO; } // 判断是否增加item [9/20/2011 Sun] if (pItem.GetItemCount() > mItems[nBagIndex].GetNumber()) { CObject_Item_Equip item = mItems[nBagIndex] as CObject_Item_Equip; if (item != null) { int point = (int)item.GetItemType(); if (point == 8) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_NEW_ITEM, mItems[nBagIndex].GetID()); } } if (mItems[nBagIndex].GetIdTable() == 30001001) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_NEW_ITEM, mItems[nBagIndex].GetID()); } } mItems[nBagIndex].SetExtraInfo(ref pItem); } mSetAskExtra.Remove(nBagIndex); } }
// 增加一个是否新获得物品的标志 [8/31/2011 Sun] public void SetItem(short nBagIndex, CObject_Item pItem, bool bClearOld, bool bNew) { if (nBagIndex < 0 || nBagIndex >= GAMEDEFINE.MAX_BAG_SIZE) { return; } //销毁原有数据 if (mItems[nBagIndex] != null && bClearOld) { ObjectSystem.Instance.DestroyItem(mItems[nBagIndex]); mItems[nBagIndex] = null; } if (pItem != null) { pItem.TypeOwner = ITEM_OWNER.IO_MYSELF_PACKET; pItem.PosIndex = nBagIndex; CObject_Item pItemLog = mItems[nBagIndex]; if (pItemLog != null) { // 设置物品的保存状态为无详细信息。2006-3-24 pItemLog.ItemSaveStatus = SAVE_ITEM_STATUS.NO_MORE_INFO; } } else {//原来有物品,移走 } mItems[nBagIndex] = pItem; // 产生一个新道具的事件 [8/31/2011 Sun] if (bNew == true && pItem != null) { CObject_Item_Equip item = pItem as CObject_Item_Equip; if (item != null) { int point = (int)item.GetItemType(); if (point == 8) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_NEW_ITEM, item.GetID()); } } } }
private void DoAction_MyEquip() { // 如果action item在装备栏上. // if(!CDataPool.Instance.Booth_IsClose()) // { // //在修理状态 // if(CActionSystem::GetMe()->GetDefaultAction() == CActionItem_MouseCmd_Repair::GetMe()) // { // //判以下是不是装备,只有装备可以修理 // if(pItem->GetItemClass() == ICLASS_EQUIP) // { // if( pItem->GetItemDur() < pItem->GetItemMaxDur() ) // { // CGameProcedure::s_pGameInterface->Booth_Repair(0, pItem->GetPosIndex(), FALSE); // } // else // { // CEventSystem::GetMe()->PushEvent(GE_INFO_SELF,"此物品不需要修理"); // } // } // } // } // else { CObject_Item_Equip pItemEquip = (CObject_Item_Equip)ItemImpl; if (pItemEquip.GetItemClass() != ITEM_CLASS.ICLASS_EQUIP) { return; } // 发送卸下装备消息. CGUnEquip msg = new CGUnEquip(); msg.EquipPoint = (byte)pItemEquip.GetItemType(); NetManager.GetNetManager().SendPacket(msg); } }
// // 强化需求 [7/19/2011 ivan edit] //public Item_Enhance Get_Equip_EnhanceLevel( int nIndexPacket) public Item_Enhance Get_Equip_EnhanceLevel(CObject_Item My_Equip) { Item_Enhance itemEnhance = new Item_Enhance(); if (My_Equip == null || My_Equip.GetItemClass() != ITEM_CLASS.ICLASS_EQUIP) { return(itemEnhance); } CObject_Item_Equip equip = My_Equip as CObject_Item_Equip; if (equip == null) { return(itemEnhance); } int enhanceID = equip.GetStrengthIndex(); _DBC_ITEM_ENHANCE pItemEnhance = ObjectSystem.EquipEnchanceDBC.Search_Index_EQU((int)enhanceID); if (pItemEnhance == null) { return(itemEnhance); } _DBC_ITEM_ENCHANCE_RATE pItemEnchanceRate = ObjectSystem.EquipEnchanceRateDBC.Search_Index_EQU(equip.GetCurrentDangCi()); float fRatio = pItemEnchanceRate.nDangCiRatio / 100.0f; pItemEnchanceRate = ObjectSystem.EquipEnchanceRateDBC.Search_Index_EQU((int)equip.GetItemType()); fRatio *= pItemEnchanceRate.nEquipPointRatio / 100.0f; itemEnhance.needMoney = (int)(fRatio * pItemEnhance.needMoney + 0.5f); itemEnhance.addProperty = pItemEnhance.attribute[0];// 因为增加属性的百分比都一样,所以只获取一个就够了[7/19/2011 ivan edit] return(itemEnhance); }
void OnChangedRoleType(RoleType rt) { Clear(); bool bResetSelectIndex = true; switch (rt) { case RoleType.ROLE_SELF: { // 装备点的最大个数. int nBeginIndex = mCurrentEquipIndex * MAX_EQUIPGRID; int nCount = 0; //总装备数量 for (int i = 0; i < (int)HUMAN_EQUIP.HEQUIP_NUMBER; i++) { if (i == (int)HUMAN_EQUIP.HEQUIP_RIDER) { continue; } //取得玩家身上的装备 CObject_Item pItem = CDataPool.Instance.UserEquip_GetItem((HUMAN_EQUIP)i); if (pItem != null) { if (nCount < nBeginIndex || nCount - nBeginIndex >= MAX_EQUIPGRID) { nCount++; continue; } //不重置当前选择的索引 if (nCount - nBeginIndex >= mCurrentSelectedEquip) { bResetSelectIndex = false; } mEquips[nCount - nBeginIndex].SetActionItem(pItem.GetID()); mEquipsText[nCount - nBeginIndex].Text = pItem.GetName() + "\n" + "强化 " + pItem.GetStrengthLevel() + "级"; nCount++; } } mMaxPage = nCount / MAX_EQUIPGRID; if (nCount % MAX_EQUIPGRID != 0) { mMaxPage++; } UpatePageNum(); } break; case RoleType.ROLE_PACKET: { int nCount = 0; int nBeginIndex = mCurrentEquipIndex * MAX_EQUIPGRID; for (int i = GAMEDEFINE.EQUIP_BAG_BEGIN; i < GAMEDEFINE.EQUIP_BAG_END; i++) { CObject_Item_Equip item = CDataPool.Instance.UserBag_GetItem(i) as CObject_Item_Equip; if (item != null && item.GetItemType() != HUMAN_EQUIP.HEQUIP_RIDER) { if (nCount < nBeginIndex || nCount - nBeginIndex >= MAX_EQUIPGRID) { nCount++; continue; } //不重置当前选择的索引 if (nCount - nBeginIndex >= mCurrentSelectedEquip) { bResetSelectIndex = false; } mEquips[nCount - nBeginIndex].SetActionItem(item.GetID()); mEquipsText[nCount - nBeginIndex].Text = item.GetName() + "\n" + "强化 " + item.GetStrengthLevel() + "级"; nCount++; } } mMaxPage = nCount / MAX_EQUIPGRID; if (nCount % MAX_EQUIPGRID != 0) { mMaxPage++; } UpatePageNum(); } break; case RoleType.ROLE_PET1: { RefreshRolePetPage(0, ref bResetSelectIndex); } break; case RoleType.ROLE_PET2: { RefreshRolePetPage(1, ref bResetSelectIndex); } break; case RoleType.ROLE_PET3: { RefreshRolePetPage(2, ref bResetSelectIndex); } break; case RoleType.ROLE_PET4: { RefreshRolePetPage(3, ref bResetSelectIndex); } break; case RoleType.ROLE_PET5: { RefreshRolePetPage(4, ref bResetSelectIndex); } break; case RoleType.ROLE_PET6: { RefreshRolePetPage(5, ref bResetSelectIndex); } break; default: break; } //切换回归第一件装备 if (bResetSelectIndex) { mCurrentSelectedEquip = 0; mEquipMenus[mCurrentSelectedEquip].Value = true; } SelectedEquipChanged(mCurrentSelectedEquip); }
private void DoAction_Packet() { // 判断商店是否开启 [2/20/2012 Ivan] if (UISystem.Instance.IsWindowShow("ShopWindow")) { // //是否在修理状态 //if(CActionSystem::GetMe()->GetDefaultAction() == CActionItem_MouseCmd_Repair::GetMe()) //{ // //取消修理 // CGameProcedure::s_pGameInterface->Skill_CancelAction(); //} ////执行销售 //else { //任务物品不可以卖 if (ItemImpl.GetItemClass() == ITEM_CLASS.ICLASS_TASKITEM) { //任务物品不能卖的信息提示 //if(bLog) //{ // STRING strTemp = "这件物品不能出售";//NOCOLORMSGFUNC("stall_sold_failure"); // ADDNEWDEBUGMSG(strTemp); //} } else { GameProcedure.s_pGameInterface.Booth_SellItem(ItemImpl); } } return; } //银行开启 else if (GameProcedure.s_pUISystem != null && UISystem.Instance.IsWindowShow("StoreWindow")) { //需要先判定是不是能够存入银行的物品 if (ItemImpl != null && ItemImpl.GetItemClass() == ITEM_CLASS.ICLASS_TASKITEM) //if(pItem->GetPosIndex() >= TASK_CONTAINER_OFFSET ) { //任务物品不能放入银行 CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "任务物品不能存入银行"); return; } CGBankAddItem msg = new CGBankAddItem(); msg.FromType = (byte)(CGBankAddItem.AddType.BAG_POS); msg.IndexFrom = (byte)(GetPosIndex()); msg.IndexTo = (byte)CGBankAddItem.AutoPosBox.AUTO_POS_BOX1; //检测这个租赁箱是不是有空位 if (!CDataPool.Instance.UserBank_IsEmpty(1)) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "仓库已经满了"); return; } NetManager.GetNetManager().SendPacket(msg); return; } else// 没有打开任何其他窗口的时候 [2/20/2012 Ivan] { switch (ItemImpl.GetItemClass()) { case ITEM_CLASS.ICLASS_EQUIP: //装备 { //使用 CObject_Item_Equip curEquipt = ItemImpl as CObject_Item_Equip; //装备宠物 if (GameProcedure.s_pUISystem != null && UISystem.Instance.IsWindowShow("RoleTipWindow") && curEquipt != null) { if (!curEquipt.IsPetEquipt()) { GameInterface.Instance.PacketItem_UserEquip(ItemImpl); // CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "该装备不是宠物装备"); } else { GameObject roleTip = UIWindowMng.Instance.GetWindowGo("RoleTipWindow"); UISelfEquip selfEquip = roleTip.GetComponent <UISelfEquip>(); SDATA_PET curPet = CDataPool.Instance.Pet_GetValidPet(selfEquip.ActivePet); //CDataPool.Instance.Pet_GetPet(selfEquip.ActivePet); if (curPet != null) { CGOperatePetEquip msg = new CGOperatePetEquip(); msg.OperatorType = 0; msg.GUID = curPet.GUID; msg.SourecBagIndex = (byte)GetPosIndex(); msg.DestBagIndex = (byte)curEquipt.GetItemType(); NetManager.GetNetManager().SendPacket(msg); } } } else { if (curEquipt != null) { if (!curEquipt.IsPetEquipt()) { GameInterface.Instance.PacketItem_UserEquip(ItemImpl); } else { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "该装备只能给宠物使用"); } } else { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "该物品不是装备"); } } } break; case ITEM_CLASS.ICLASS_MATERIAL: break; case ITEM_CLASS.ICLASS_COMITEM: case ITEM_CLASS.ICLASS_TASKITEM: case ITEM_CLASS.ICLASS_STOREMAP: { int iType = ItemImpl.GetItemTableType(); //摆摊时不可以随便使用物品 // if(TRUE == CObjectManager::GetMe()->GetMySelf()->GetCharacterData()->Get_IsInStall()) // { // CEventSystem::GetMe()->PushEvent(GE_INFO_SELF,"你正在摆摊……"); // break; // } //验证是否可以使用 if (!ItemImpl.Rule(ITEM_RULE.RULE_USE)) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, ItemImpl.RuleFailMessage(ITEM_RULE.RULE_USE)); return; } //检查冷却是否结束 if (!CoolDownIsOver()) { CActionSystem.Instance.SetoutAction = this; CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, GameDefineResult.Instance.GetOResultText(OPERATE_RESULT.OR_COOL_DOWNING)); break; } CObject pMainTarget = CObjectManager.Instance.GetMainTarget(); //使用物品时自动下坐骑 [3/14/2012 ZZY] bool result = CObjectManager.Instance.getPlayerMySelf().UnRideUseItem(this, (pMainTarget != null ? pMainTarget.ServerID : -1), new Vector2(-1, -1)); if (!result) { GameInterface.Instance.PacketItem_UserItem(this, (pMainTarget != null? pMainTarget.ServerID:-1), new Vector2(-1, -1)); } } break; case ITEM_CLASS.ICLASS_GEM: break; case ITEM_CLASS.ICLASS_SYMBOLITEM: // [3/22/2012 ZZY] //请求使用符印 GameInterface.Instance.PacketItem_UserSymbol(this); break; case ITEM_CLASS.ICLASS_TALISMAN: break; case ITEM_CLASS.ICLASS_GUILDITEM: break; case ITEM_CLASS.ICLASS_NUMBER: break; default: break; } } }
void NotifyPacketDrag(string sName, string tName) { int srcIndex = Convert.ToInt32(sName.Substring(1, sName.Length - 1)) - 1; int tarIndex = Convert.ToInt32(tName.Substring(1, tName.Length - 1)) - 1; ITEM_OWNER nTypeOwner = ItemImpl.TypeOwner; switch (nTypeOwner) { //Package -> Package case ITEM_OWNER.IO_MYSELF_PACKET: { //同一格 if (srcIndex == tarIndex) { break; } //不同格 CGPackage_SwapItem msg = new CGPackage_SwapItem(); msg.PIndex1 = (byte)srcIndex; msg.PIndex2 = (byte)tarIndex; NetManager.GetNetManager().SendPacket(msg); } break; case ITEM_OWNER.IO_PET_EQUIPT: { // 发送卸下宠物装备消息. CObject_Item_Equip curEquipt = ItemImpl as CObject_Item_Equip; if (GameProcedure.s_pUISystem != null && UISystem.Instance.IsWindowShow("RoleTipWindow") && curEquipt != null) { GameObject roleTip = UIWindowMng.Instance.GetWindowGo("RoleTipWindow"); UISelfEquip selfEquip = roleTip.GetComponent <UISelfEquip>(); SDATA_PET curPet = CDataPool.Instance.Pet_GetValidPet(selfEquip.ActivePet); //CDataPool.Instance.Pet_GetPet(selfEquip.ActivePet); if (curPet != null) { CGOperatePetEquip msg = new CGOperatePetEquip(); msg.OperatorType = 1; msg.GUID = curPet.GUID; msg.DestBagIndex = (byte)curEquipt.GetItemType(); msg.SourecBagIndex = (byte)tarIndex; NetManager.GetNetManager().SendPacket(msg); } } } break; default: break; } // switch(nTypeOwner) // { // //jiaoyikuang->Package // case tObject_Item::IO_MYEXBOX: // { // //发送拖动物品的消息 // CGExchangeSynchItemII msg; // msg.SetOpt(EXCHANGE_MSG::OPT_REMOVEITEM); // msg.SetFromIndex(this->GetPosIndex()); // msg.SetToType(EXCHANGE_MSG::POS_BAG); // msg.SetToIndex(nTargetIndex); // CNetManager::GetMe()->SendPacket(&msg); // } // break; // //Bank -> Package // case tObject_Item::IO_MYSELF_BANK: // { // CGBankRemoveItem msg; // msg.SetToType(CGBankRemoveItem::BAG_POS); // msg.SetIndexFrom(this->GetPosIndex()); // msg.SetIndexTo(nTargetIndex); // // CNetManager::GetMe()->SendPacket(&msg); // } // break; // //Package -> Package // case tObject_Item::IO_MYSELF_PACKET: // { // //同一格 // if(this->GetPosIndex() == nTargetIndex) break; // // //不同格 // CGPackage_SwapItem msg; // msg.SetPackageIndex1(GetPosIndex()); // msg.SetPackageIndex2(nTargetIndex); // // CNetManager::GetMe()->SendPacket(&msg); // } // break; // //SelfEquip -> package // case tObject_Item::IO_MYSELF_EQUIP: // { // //发送卸下装备的消息 // CGUnEquip msg; // msg.setEquipPoint(this->GetPosIndex()); // msg.setBagIndex((BYTE)nTargetIndex); // // CNetManager::GetMe()->SendPacket(&msg); // break; // } // //playerShop -> package // case tObject_Item::IO_PS_SELFBOX: // { // _ITEM_GUID Guid; // tObject_Item::ITEM_GUID temp; // temp.m_idUnion = 0; // // tObject_Item* pSelectItem = this->GetItemImpl(); // if(NULL == pSelectItem) // { // return; // } // // //需要先判定这个物品是否满足移动的条件 // //查询这个物品是不是处于上架的状态 // INT nIndex = pSelectItem->GetPosIndex(); // INT nConIndex = nIndex/20; // INT nPosition = nIndex%20; // if(CDataPool::GetMe()->PlayerShop_GetItemOnSale(TRUE, nConIndex, nPosition)) // { // //已经上架,不能取回 // return; // } // // pSelectItem->GetGUID(temp.m_idOrg.m_idWorld, temp.m_idOrg.m_idServer, temp.m_idOrg.m_uSerial); // Guid.m_World = (BYTE)temp.m_idOrg.m_idWorld; // Guid.m_Server = (BYTE)temp.m_idOrg.m_idServer; // Guid.m_Serial = (INT)temp.m_idOrg.m_uSerial; // // CGItemSynch msg; // msg.SetOpt(CGItemSynch::OPT_MOVE_ITEM_MANU); // msg.SetFromType(CGItemSynch::POS_PLAYERSHOP); // msg.SetToIndex(nTargetIndex); // msg.SetToType(CGItemSynch::POS_BAG); // msg.SetItemGUID(Guid); // // INT nPage = CDataPool::GetMe()->PlayerShop_GetMySelectConTa(); // CGManuMoveItemFromPlayerShopToBag_t ExtraDataInfo; // ExtraDataInfo.m_ShopGuid = CDataPool::GetMe()->PlayerShop_GetShopID(TRUE); // ExtraDataInfo.m_nStallIndex = (BYTE)nPage; // ExtraDataInfo.m_uSerial = CDataPool::GetMe()->PlayerShop_GetItemSerial(TRUE,nPage,this->GetPosIndex()%20); // msg.SetExtraInfoLength(ExtraDataInfo.GetSize()); // msg.SetExtraInfoData((BYTE*)&ExtraDataInfo); // // CNetManager::GetMe()->SendPacket(&msg); // } // break; // default: // break; // } }
////////////////////////////////////////////////////////////////////////// // 所有标记 [7/14/2011 ivan edit] // case 'S': //摆摊界面 // case 'Q': //任务提交界面(MissionReply) // case 'B': //银行 // case 'P': //背包 // case 'E': //交易界面,只能拖动到自己的(右边的)格子里头(1~6) // case 'R': //银行的界面上的租赁箱格子 // case 'G': //宝石合成/镶嵌界面 // case 'C': //装备打孔 [7/14/2011 ivan edit] // case 'T': //宠物技能学习/还童/延长寿命/宠物驯养/宠物征友 // case 'Z': //人物装备界面 // case 'A': //玩家商店 // case 'M': //主菜单 // case 'Y': //对象头像 // case 'L': //自己头像 // case 'I': // 装备强化 [7/18/2011 ivan edit] // case 'E': // 宠物装备 ////////////////////////////////////////////////////////////////////////// public override void NotifyDragDropDragged(bool bDestory, string szTargetName, string szSourceName) { //LogManager.LogWarning("Drag From:" + szSourceName + " to:" + szTargetName); //拖动到表示销毁的地方 if (bDestory) { DestoryItem(szSourceName); return; } //拖动到空白地方 if (szTargetName == "") { return; } char cSourceName = szSourceName[0]; char cTargetType = szTargetName[0]; //如果是快捷栏,不能往其他地方拖,除了自己本身。 if (cSourceName == 'M' && cTargetType != 'M') { return; } switch (cTargetType) { case 'P': NotifyPacketDrag(szSourceName, szTargetName); break; case 'E': { ITEM_OWNER typeOwner = ItemImpl.TypeOwner; switch (typeOwner) { case ITEM_OWNER.IO_MYSELF_PACKET: { // 发送装备宠物装备消息. CObject_Item_Equip curEquipt = ItemImpl as CObject_Item_Equip; if (GameProcedure.s_pUISystem != null && UISystem.Instance.IsWindowShow("RoleTipWindow") && curEquipt != null) { GameObject roleTip = UIWindowMng.Instance.GetWindowGo("RoleTipWindow"); UISelfEquip selfEquip = roleTip.GetComponent <UISelfEquip>(); SDATA_PET curPet = CDataPool.Instance.Pet_GetValidPet(selfEquip.ActivePet); //CDataPool.Instance.Pet_GetPet(selfEquip.ActivePet); int tarIndex = Convert.ToInt32(szTargetName.Substring(1, szTargetName.Length - 1)) - 1; if ((int)curEquipt.GetItemType() != tarIndex) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "该装备不能装备到目标位置"); } else if (!curEquipt.IsPetEquipt()) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "该装备不能装备到宠物上"); } else if (curPet != null && curEquipt != null) { CGOperatePetEquip msg = new CGOperatePetEquip(); msg.OperatorType = 0; msg.GUID = curPet.GUID; msg.DestBagIndex = (byte)curEquipt.GetItemType(); msg.SourecBagIndex = (byte)GetPosIndex(); NetManager.GetNetManager().SendPacket(msg); } } } break; } } break; case 'B': //bank { int tarIndex = Convert.ToInt32(szTargetName.Substring(1, szTargetName.Length - 1)) - 1; if (!CDataPool.Instance.UserBank_IsValid(tarIndex)) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "格子未解封"); return; } //根据物品的来源决定发送什么消息 ITEM_OWNER typeOwner = ItemImpl.TypeOwner; //任务物品不能放入银行 if (ItemImpl.GetItemClass() == ITEM_CLASS.ICLASS_TASKITEM) { CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "任务物品不能放入"); return; } switch (typeOwner) { case ITEM_OWNER.IO_MYSELF_PACKET: //来自玩家的背包 { CGBankAddItem msg = new CGBankAddItem(); msg.FromType = (byte)(CGBankAddItem.AddType.BAG_POS); msg.IndexFrom = (byte)GetPosIndex(); msg.IndexTo = (byte)tarIndex; NetManager.GetNetManager().SendPacket(msg); } break; case ITEM_OWNER.IO_MYSELF_BANK: //来自银行内部 { CGBankSwapItem msg = new CGBankSwapItem(); msg.FromType = (byte)CGBankSwapItem.AddType.BANK_POS; msg.IndexFrom = (byte)GetPosIndex(); msg.IndexTo = (byte)tarIndex; msg.ToType = (byte)(CGBankSwapItem.AddType.BANK_POS); if (msg.IndexFrom == msg.IndexTo) { break; } NetManager.GetNetManager().SendPacket(msg); } break; default: break; } } break; } //switch(cSourceName) //{ //case 'M': // { // INT nIndex = szSourceName[1]-'0'; // nIndex = szSourceName[2]-'0' + nIndex*10 ; // CActionSystem::GetMe()->MainMenuBar_Set(nIndex, nOldTargetId); // } // break; //default: // break; //} //CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_SUPERTOOLTIP); }
public string GetEquipType() { CObject_Item_Equip pItem = GetImpl() as CObject_Item_Equip; if (pItem != null) { switch (pItem.GetItemType()) { case HUMAN_EQUIP.HEQUIP_WEAPON: return("武器"); //break; case HUMAN_EQUIP.HEQUIP_CAP: return("头盔"); //break; case HUMAN_EQUIP.HEQUIP_ARMOR: return("盔甲"); // break; case HUMAN_EQUIP.HEQUIP_CUFF: return("手套"); //break; case HUMAN_EQUIP.HEQUIP_BOOT: return("鞋子"); //break; case HUMAN_EQUIP.HEQUIP_SASH: return("腰带"); //break; case HUMAN_EQUIP.HEQUIP_RING: return("戒指"); //break; case HUMAN_EQUIP.HEQUIP_NECKLACE: return("项链"); //break; case HUMAN_EQUIP.HEQUIP_BACK: return("背饰"); //break; case HUMAN_EQUIP.HEQUIP_FABAO: return("法宝"); //break; case HUMAN_EQUIP.HEQUIP_RING2: return("戒指"); //break; case HUMAN_EQUIP.HEQUIP_CHARM: return("护符"); //break; case HUMAN_EQUIP.HEQUIP_JADE: return("玉佩"); //break; case HUMAN_EQUIP.HEQUIP_WRIST: return("护腕"); //break; case HUMAN_EQUIP.HEQUIP_SHOULDER: return("护肩"); //break; default: break; } } return(""); }