From 245f5bc0b7a8ee04da23c7c0fc811c85d063b00c Mon Sep 17 00:00:00 2001 From: tudor <7089284+tudddorrr@users.noreply.github.com> Date: Sun, 2 Mar 2025 22:32:36 +0000 Subject: [PATCH] add channel api signals for player and management events --- .../Runtime/APIs/ChannelsAPI.cs | 24 +++++++++++++++++++ .../SocketResponses/ChannelDeletedResponse.cs | 8 +++++++ .../ChannelDeletedResponse.cs.meta | 2 ++ .../SocketResponses/ChannelJoinedResponse.cs | 9 +++++++ .../ChannelJoinedResponse.cs.meta | 2 ++ .../SocketResponses/ChannelLeftResponse.cs | 9 +++++++ .../ChannelLeftResponse.cs.meta | 2 ++ .../SocketResponses/ChannelMessageResponse.cs | 1 - .../ChannelOwnershipTransferredResponse.cs | 9 +++++++ ...hannelOwnershipTransferredResponse.cs.meta | 2 ++ 10 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs.meta create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs.meta create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs.meta create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs create mode 100644 Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs.meta diff --git a/Packages/com.trytalo.talo/Runtime/APIs/ChannelsAPI.cs b/Packages/com.trytalo.talo/Runtime/APIs/ChannelsAPI.cs index 9d4fcf4..9a30ff2 100644 --- a/Packages/com.trytalo.talo/Runtime/APIs/ChannelsAPI.cs +++ b/Packages/com.trytalo.talo/Runtime/APIs/ChannelsAPI.cs @@ -8,6 +8,10 @@ namespace TaloGameServices public class ChannelsAPI: BaseAPI { public event Action OnMessageReceived; + public event Action OnChannelJoined; + public event Action OnChannelLeft; + public event Action OnOwnershipTransferred; + public event Action OnChannelDeleted; public ChannelsAPI() : base("v1/game-channels") { Talo.Socket.OnMessageReceived += (response) => { @@ -16,6 +20,26 @@ public ChannelsAPI() : base("v1/game-channels") { var data = response.GetData(); OnMessageReceived?.Invoke(data.channel, data.playerAlias, data.message); } + else if (response.GetResponseType() == "v1.channels.joined") + { + var data = response.GetData(); + OnChannelJoined?.Invoke(data.channel, data.playerAlias); + } + else if (response.GetResponseType() == "v1.channels.left") + { + var data = response.GetData(); + OnChannelLeft?.Invoke(data.channel, data.playerAlias); + } + else if (response.GetResponseType() == "v1.channels.ownership-transferred") + { + var data = response.GetData(); + OnOwnershipTransferred?.Invoke(data.channel, data.newOwner); + } + else if (response.GetResponseType() == "v1.channels.deleted") + { + var data = response.GetData(); + OnChannelDeleted?.Invoke(data.channel); + } }; } diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs new file mode 100644 index 0000000..6ea0e6f --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs @@ -0,0 +1,8 @@ +namespace TaloGameServices +{ + [System.Serializable] + public class ChannelDeletedResponse + { + public Channel channel; + } +} diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs.meta b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs.meta new file mode 100644 index 0000000..7577b60 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelDeletedResponse.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d3db11caabe504297ab38fad1317922a \ No newline at end of file diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs new file mode 100644 index 0000000..59440b7 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs @@ -0,0 +1,9 @@ +namespace TaloGameServices +{ + [System.Serializable] + public class ChannelJoinedResponse + { + public Channel channel; + public PlayerAlias playerAlias; + } +} diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs.meta b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs.meta new file mode 100644 index 0000000..1348289 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelJoinedResponse.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e6f09970888d24a4ca9e9b52753af190 \ No newline at end of file diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs new file mode 100644 index 0000000..e9b6144 --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs @@ -0,0 +1,9 @@ +namespace TaloGameServices +{ + [System.Serializable] + public class ChannelLeftResponse + { + public Channel channel; + public PlayerAlias playerAlias; + } +} diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs.meta b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs.meta new file mode 100644 index 0000000..29b700e --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelLeftResponse.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 6f8176a1f491b4c58bdda6107794445c \ No newline at end of file diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelMessageResponse.cs b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelMessageResponse.cs index 5176c42..13c0fde 100644 --- a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelMessageResponse.cs +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelMessageResponse.cs @@ -8,4 +8,3 @@ public class ChannelMessageResponse public PlayerAlias playerAlias; } } - diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs new file mode 100644 index 0000000..4d71d8e --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs @@ -0,0 +1,9 @@ +namespace TaloGameServices +{ + [System.Serializable] + public class ChannelOwnershipTransferredResponse + { + public Channel channel; + public PlayerAlias newOwner; + } +} diff --git a/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs.meta b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs.meta new file mode 100644 index 0000000..3c4c64c --- /dev/null +++ b/Packages/com.trytalo.talo/Runtime/SocketResponses/ChannelOwnershipTransferredResponse.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b290999859fc34c64ae5b8e9c64145fd \ No newline at end of file