void OnDecorateItem(Client peer, C_Item_DecorateItem_0x0405 msg) { Singleton._log.InfoFormat("C_Item_DecorateItem_0x0405" + ", client={0}, type={1}, id={2}", peer._accountName, msg._itemType, msg._itemId); var rs = Singleton._sqlServer.DecorateItem(peer._accountName, msg._itemType, msg._isDecorate, msg._itemId); if (rs != 0) { Singleton._log.Info("OnDecorateItem" + ", rs=" + rs); return; } var p = Singleton._sqlServer.GetPlayerData(peer._accountName); var a = Singleton._sqlServer.GetAssetData(peer._accountName); if (a == null) { Singleton._log.Info("OnDecorateItem p == null"); return; } Singleton._log.Info("S_Item_DecorateItem_0x0405" + ", client=" + peer._accountName); int[] inUseIds = null; int[] ownedIds = null; switch (msg._itemType) { case 0: inUseIds = p._blockIdsInUse; ownedIds = a._blocks; break; case 1: inUseIds = new int[1] { p._blockBoardIdInUse }; ownedIds = a._blockBoards; break; case 2: inUseIds = new int[1] { p._boardIdInUse }; ownedIds = a._boards; break; case 3: inUseIds = new int[1] { p._personIdInUse }; ownedIds = a._persons; break; default: Singleton._log.InfoFormat("DecorateItem 找不到对应类型 type={0}! ", msg._itemType); break; } Send(peer, new S_Item_DecorateItem_0x0405 { _itemType = msg._itemType, _itemIds = ownedIds, _itemIdInUse = inUseIds }); }
public void EquipItem(int itemType, int itemId, bool isDecorate, Action <int[], int[]> action) { Debug.Log("[C_Item_DecorateItem_0x0405]"); _onEquipItem = action; var data = new C_Item_DecorateItem_0x0405(); data._itemType = itemType; data._itemId = itemId; data._isDecorate = isDecorate; Singleton._serverCallback.AddCallback <S_Item_DecorateItem_0x0405>(OnEquipItem); Singleton._messageManager.Send(data); }