bool perform(List<TradedItem> items, Inventory inv1, Inventory inv2) { //for (TradedItems::const_iterator i = items.begin(), // i_end = items.end(); i != i_end; ++i) //{ // if (i.id != inv1.getItem(i.slot) || // inv1.removeFromSlot(i.slot, i.amount) != 0 || // inv2.insert(i.id, i.amount) != 0) // { // return false; // } //} return true; }
public void tokenMatched(NetComputer client, object data) { GameClient computer=(GameClient)client; Character character=(Character)data; computer.character=character; computer.status=(int)AccountClientStatus.CLIENT_CONNECTED; character.setClient(computer); MessageOut result=new MessageOut(Protocol.GPMSG_CONNECT_RESPONSE); if(!GameState.insert(character)) { result.writeInt8((int)ErrorMessage.ERRMSG_SERVER_FULL); kill(character); //delete character; computer.disconnect(result); return; } result.writeInt8((int)ErrorMessage.ERRMSG_OK); computer.send(result); // Force sending the whole character to the client. Inventory inv=new Inventory(character); inv.sendFull(); character.modifiedAllAttribute(); foreach(KeyValuePair<int, int> pair in character.mExperience) { character.updateDerivedAttributes((uint)pair.Key); } }