public void SendUnEquipItem(int item_id) { CPlayerUnEquipItem msg = new CPlayerUnEquipItem(); msg.item_id = item_id; Client.Instance.Send(msg); }
private void OnRecvPlayerUnEquipItem(IChannel channel, Message message) { CPlayerUnEquipItem request = message as CPlayerUnEquipItem; using (var conn = GameDataBase.GetConnection()) { using (var trans = conn.BeginTransaction()) { using (var cmd = conn.CreateCommand()) { cmd.CommandText = "Update Item Set status='Storing' Where item_id=@item_id;"; cmd.Parameters.AddWithValue("item_id", request.item_id); int res = cmd.ExecuteNonQuery(); if (res != 1) { ClientTipInfo(channel, "UnEquip Error!"); trans.Rollback(); return; } } using (var cmd = conn.CreateCommand()) { cmd.CommandText = "Update Player Set items_count=items_count-1 Where player_id=@player_id;"; cmd.Parameters.AddWithValue("player_id", ((Player)channel.GetContent()).player_id); int res = cmd.ExecuteNonQuery(); if (res != 1) { ClientTipInfo(channel, "UnEquip Error!"); trans.Rollback(); return; } } trans.Commit(); } } SPlayerUnEquipItem response = new SPlayerUnEquipItem(); response.item_id = request.item_id; channel.Send(response); FrontEnd.Item.DItem ditem = null; var player = (Player)channel.GetContent(); foreach (var item in player.wearing) { if (item.Value.item_id == request.item_id) { ditem = item.Value; } } player.wearing.Remove(ditem.item_type); player.inventory.Add(ditem.item_id, ditem); player.refreshAttr(); }