Skip to content

Commit 495b702

Browse files
authored
Merge pull request #107 from TaloDev/extra-channel-signals
Add channel API signals for player and management events
2 parents 5975744 + 245f5bc commit 495b702

10 files changed

+67
-1
lines changed

Packages/com.trytalo.talo/Runtime/APIs/ChannelsAPI.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ namespace TaloGameServices
88
public class ChannelsAPI: BaseAPI
99
{
1010
public event Action<Channel, PlayerAlias, string> OnMessageReceived;
11+
public event Action<Channel, PlayerAlias> OnChannelJoined;
12+
public event Action<Channel, PlayerAlias> OnChannelLeft;
13+
public event Action<Channel, PlayerAlias> OnOwnershipTransferred;
14+
public event Action<Channel> OnChannelDeleted;
1115

1216
public ChannelsAPI() : base("v1/game-channels") {
1317
Talo.Socket.OnMessageReceived += (response) => {
@@ -16,6 +20,26 @@ public ChannelsAPI() : base("v1/game-channels") {
1620
var data = response.GetData<ChannelMessageResponse>();
1721
OnMessageReceived?.Invoke(data.channel, data.playerAlias, data.message);
1822
}
23+
else if (response.GetResponseType() == "v1.channels.joined")
24+
{
25+
var data = response.GetData<ChannelJoinedResponse>();
26+
OnChannelJoined?.Invoke(data.channel, data.playerAlias);
27+
}
28+
else if (response.GetResponseType() == "v1.channels.left")
29+
{
30+
var data = response.GetData<ChannelLeftResponse>();
31+
OnChannelLeft?.Invoke(data.channel, data.playerAlias);
32+
}
33+
else if (response.GetResponseType() == "v1.channels.ownership-transferred")
34+
{
35+
var data = response.GetData<ChannelOwnershipTransferredResponse>();
36+
OnOwnershipTransferred?.Invoke(data.channel, data.newOwner);
37+
}
38+
else if (response.GetResponseType() == "v1.channels.deleted")
39+
{
40+
var data = response.GetData<ChannelDeletedResponse>();
41+
OnChannelDeleted?.Invoke(data.channel);
42+
}
1943
};
2044
}
2145

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace TaloGameServices
2+
{
3+
[System.Serializable]
4+
public class ChannelDeletedResponse
5+
{
6+
public Channel channel;
7+
}
8+
}

Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace TaloGameServices
2+
{
3+
[System.Serializable]
4+
public class ChannelJoinedResponse
5+
{
6+
public Channel channel;
7+
public PlayerAlias playerAlias;
8+
}
9+
}

Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace TaloGameServices
2+
{
3+
[System.Serializable]
4+
public class ChannelLeftResponse
5+
{
6+
public Channel channel;
7+
public PlayerAlias playerAlias;
8+
}
9+
}

Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelMessageResponse.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ public class ChannelMessageResponse
88
public PlayerAlias playerAlias;
99
}
1010
}
11-
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace TaloGameServices
2+
{
3+
[System.Serializable]
4+
public class ChannelOwnershipTransferredResponse
5+
{
6+
public Channel channel;
7+
public PlayerAlias newOwner;
8+
}
9+
}

Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs.meta

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)