/** * Copyright 2018 The Nakama Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace Nakama { using System.Runtime.Serialization; /// /// An envelope for messages received or sent on a WebSocket. /// internal class WebSocketMessageEnvelope { [DataMember(Name="cid")] public string Cid { get; set; } [DataMember(Name="channel")] public Channel Channel { get; set; } [DataMember(Name="channel_join")] public ChannelJoinMessage ChannelJoin { get; set; } [DataMember(Name="channel_leave")] public ChannelLeaveMessage ChannelLeave { get; set; } [DataMember(Name="channel_message")] public ApiChannelMessage ChannelMessage { get; set; } [DataMember(Name="channel_message_ack")] public ChannelMessageAck ChannelMessageAck { get; set; } [DataMember(Name="channel_message_remove")] public ChannelRemoveMessage ChannelMessageRemove { get; set; } [DataMember(Name="channel_message_send")] public ChannelSendMessage ChannelMessageSend { get; set; } [DataMember(Name="channel_message_update")] public ChannelUpdateMessage ChannelMessageUpdate { get; set; } [DataMember(Name="channel_presence_event")] public ChannelPresenceEvent ChannelPresenceEvent { get; set; } [DataMember(Name="error")] public WebSocketErrorMessage Error { get; set; } [DataMember(Name="matchmaker_add")] public MatchmakerAddMessage MatchmakerAdd { get; set; } [DataMember(Name="matchmaker_matched")] public MatchmakerMatched MatchmakerMatched { get; set; } [DataMember(Name="matchmaker_remove")] public MatchmakerRemoveMessage MatchmakerRemove { get; set; } [DataMember(Name="matchmaker_ticket")] public MatchmakerTicket MatchmakerTicket { get; set; } [DataMember(Name="match")] public Match Match { get; set; } [DataMember(Name="match_create")] public MatchCreateMessage MatchCreate { get; set; } [DataMember(Name="match_join")] public MatchJoinMessage MatchJoin { get; set; } [DataMember(Name="match_leave")] public MatchLeaveMessage MatchLeave { get; set; } [DataMember(Name="match_presence_event")] public MatchPresenceEvent MatchPresenceEvent { get; set; } [DataMember(Name="match_data")] public MatchState MatchState { get; set; } [DataMember(Name="match_data_send")] public MatchSendMessage MatchStateSend { get; set; } [DataMember(Name="notifications")] public ApiNotificationList NotificationList { get; set; } [DataMember(Name="rpc")] public ApiRpc Rpc { get; set; } [DataMember(Name="status")] public Status Status { get; set; } [DataMember(Name="status_follow")] public StatusFollowMessage StatusFollow { get; set; } [DataMember(Name="status_presence_event")] public StatusPresenceEvent StatusPresenceEvent { get; set; } [DataMember(Name="status_unfollow")] public StatusUnfollowMessage StatusUnfollow { get; set; } [DataMember(Name="status_update")] public StatusUpdateMessage StatusUpdate { get; set; } [DataMember(Name="stream_presence_event")] public StreamPresenceEvent StreamPresenceEvent { get; set; } [DataMember(Name="stream_data")] public StreamState StreamState { get; set; } /// public override string ToString() { return "WebSocketMessageEnvelope[]"; } } }