Skip to content

Commit

Permalink
Update ConnectionInfo Game based on game of connected slot
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarno458 committed Jun 11, 2024
1 parent eccf4cf commit 63c29dc
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 8 deletions.
26 changes: 22 additions & 4 deletions Archipelago.MultiClient.Net.Tests/ConnectionInfoHelperFixture.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using Archipelago.MultiClient.Net.BounceFeatures.DeathLink;
using Archipelago.MultiClient.Net.Converters;
using Archipelago.MultiClient.Net.Enums;
using Archipelago.MultiClient.Net.Enums;
using Archipelago.MultiClient.Net.Helpers;
using Archipelago.MultiClient.Net.Models;
using Archipelago.MultiClient.Net.Packets;
using NSubstitute;
using NUnit.Framework;
using System;
using System.Collections.Generic;

namespace Archipelago.MultiClient.Net.Tests
{
Expand Down Expand Up @@ -79,5 +79,23 @@ public void Should_reset_values_on_connection_failure()
Assert.That(sut.ItemsHandlingFlags, Is.EqualTo(ItemsHandlingFlags.NoItems));
Assert.That(sut.Uuid, Is.Null);
}
}

[Test]
public void Should_take_over_values_from_connected()
{
var socket = Substitute.For<IArchipelagoSocketHelper>();

var sut = new ConnectionInfoHelper(socket);

var connectedPacket = new ConnectedPacket { Team = 23, Slot = 578, SlotInfo = new Dictionary<int, NetworkSlot> {
{ 578, new NetworkSlot { Game = "SomeGame" }}
}};

socket.PacketReceived += Raise.Event<ArchipelagoSocketHelperDelagates.PacketReceivedHandler>(connectedPacket);

Assert.That(sut.Game, Is.EqualTo("SomeGame"));
Assert.That(sut.Team, Is.EqualTo(23));
Assert.That(sut.Slot, Is.EqualTo(578));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/ArchipelagoMW/Archipelago.MultiClient.Net</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<FileVersion>6.0.0.0</FileVersion>
<Version>6.0.0</Version>
<AssemblyVersion>6.0.1.0</AssemblyVersion>
<FileVersion>6.0.1.0</FileVersion>
<Version>6.0.1</Version>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>False</PackageRequireLicenseAcceptance>
<PackageIcon>blue-icon.png</PackageIcon>
Expand Down
6 changes: 5 additions & 1 deletion Archipelago.MultiClient.Net/Helpers/ConnectionInfoHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,11 @@ void PacketReceived(ArchipelagoPacketBase packet)
case ConnectedPacket connectedPacket:
Team = connectedPacket.Team;
Slot = connectedPacket.Slot;
break;

if (connectedPacket.SlotInfo != null && connectedPacket.SlotInfo.ContainsKey(Slot))
Game = connectedPacket.SlotInfo[Slot].Game;

break;
case ConnectionRefusedPacket _:
Reset();
break;
Expand Down

0 comments on commit 63c29dc

Please # to comment.