Exemplo n.º 1
0
        void OnFishCaughtPacketReceived(Packet.FishCaught fw, NetPeer peer)
        {
            var fwCopy = fw.Copy();

            try
            {
                ValidatePacket(fwCopy);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine(String.Format("Failed to validate packet in OnFishSuccessfulCatchPacketReceived from {0}: {1}", peer.EndPoint, ex.ToString()));
                return;
            }
            var p = _connectedPlayers[fwCopy.userName];

            if (!fwCopy.success)
            {
                p.FishUnsuccessfulCatch();
                SendToAllPlayers(this.Write(new Packet.FishCaught {
                    userName = p._userName, success = false
                }));
                return;
            }

            p.FishSuccessfulCatch();
            var item = new ItemSchema.ItemDBSchema();

            item.uniqueName = ItemSchema.ItemNames.Herring.Value;
            item.userName   = p._userName;
            item.quantity   = 1;
            _db.AddToUserInventory(item);
            SendToAllPlayers(this.Write(new Packet.FishCaught {
                userName = p._userName, success = false, fishItem = item
            }));
            SendInventoryToPlayer(p);
        }