public override void OnNoticeReceived(AVIMNotice notice) { bool visible = notice.RawData.GetValue <bool>("toggle", true); Play.Room.SetVisible(visible); base.OnNoticeReceived(notice); }
public override void OnNoticeReceived(AVIMNotice notice) { bool opened = notice.RawData.GetValue <bool>("toggle", true); Play.Room.SetOpened(opened); base.OnNoticeReceived(notice); }
public override void OnNoticeReceived(AVIMNotice notice) { var propObjs = notice.RawData["props"] as List <object>; if (propObjs != null) { propObjs.Every(metaData => { var prop = metaData as IDictionary <string, object>; if (prop != null) { var clientId = prop["clientId"] as string; if (clientId != null) { var player = Play.Room.GetPlayer(clientId); var customProperties = prop["customProperties"] as IDictionary <string, object>; if (player != null) { player.CustomPropertiesMetaData.Merge(customProperties); } Play.InvokeEvent(PlayEventCode.OnPlayerCustomPropertiesChanged, player, customProperties.ToHashtable()); } } }); } }
public override void OnNoticeReceived(AVIMNotice notice) { var transformation = notice.RawData["attr"] as IDictionary <string, object>; Play.RoomUpdated(transformation); base.OnNoticeReceived(notice); }
public virtual Player RestorePlayer(AVIMNotice notice) { var clientId = notice.RawData["initBy"] as string; var player = Play.Room.GetPlayer(clientId); return(player); }
public virtual void OnNoticeReceived(AVIMNotice notice) { var response = new PlayResponse(notice.RawData); if (response.IsSuccessful) { if (Done != null) { Done(Command, response); } } //Play.LogCommand(Command, null, Play.CommandType.WebSocket); //Play.LogCommand(null, response, Play.CommandType.WebSocket); if (EventCode != PlayEventCode.None) { var next = PlayStateMachine.Next(EventCode, response); if (response.IsSuccessful) { Play.InvokeEvent(next); } else { Play.InvokeEvent(next, response.ErrorCode, response.ErrorReason); } } Play.UnsubscribeNoticeReceived(this); }
public override void OnNoticeReceived(AVIMNotice notice) { var player = this.RestorePlayer(notice); Play.PlayerOffline(player); base.OnNoticeReceived(notice); }
public override void OnNoticeReceived(AVIMNotice notice) { var initBt = notice.RawData["initBy"] as string; var newMasterClientId = notice.RawData["masterClientId"] as string; Play.MasterClientSwitch(initBt, newMasterClientId); base.OnNoticeReceived(notice); }
public bool ProtocolHook(AVIMNotice notice) { if (notice.CommandName != "direct") { return(false); } return(true); }
public override void OnNoticeReceived(AVIMNotice notice) { var player = this.RestorePlayer(notice); Play.Room.RemovePlayer(player.UserID); Play.PlayerLeft(player); base.OnNoticeReceived(notice); }
public virtual Player NewPlayer(AVIMNotice notice) { var clientId = notice.RawData["initBy"] as string; var actorId = int.Parse(notice.RawData["memberId"].ToString()); var player = new Player(clientId, actorId); return(player); }
public override void OnNoticeReceived(AVIMNotice notice) { var newPlayer = this.NewPlayer(notice); Play.Room.AddPlayer(newPlayer); if (newPlayer.UserID != Play.Player.UserID) { Play.NewPlayerJoined(newPlayer); } base.OnNoticeReceived(notice); }
private static void Play_NoticeReceived(object sender, AVIMNotice e) { foreach (var listener in lisenters) { var approved = listener.ProtocolHook(e); if (approved) { listener.OnNoticeReceived(e); break; } } }
public virtual bool ProtocolHook(AVIMNotice notice) { if (!notice.RawData.ContainsKey("i")) { return(false); } if (int.Parse(notice.RawData["i"].ToString()) != Command.SocketCommandId) { return(false); } return(true); }
public override void OnNoticeReceived(AVIMNotice notice) { lock (Play.roomLock) { var player = this.RestorePlayer(notice); if (player != null) { Play.PlayerOnline(player); } base.OnNoticeReceived(notice); } }
public virtual bool ProtocolHook(AVIMNotice notice) { if (notice.CommandName != "conv") { return(false); } if (!notice.RawData.ContainsKey("op")) { return(false); } if (notice.RawData.ContainsKey("i")) { return(false); } if (notice.RawData["op"].ToString() != this.MatchedOp) { return(false); } return(true); }
private static void RoomConnection_OnMessage(string obj) { try { lock (noticeMutext) { Log("sokcet<=" + obj); var metaNoticeFromServer = Json.Parse(obj) as IDictionary <string, object>; var validator = AVIMNotice.IsValidLeanCloudProtocol(metaNoticeFromServer); if (validator) { var notice = new AVIMNotice(metaNoticeFromServer); m_NoticeReceived?.Invoke(peer, notice); } } } catch (Exception ex) { if (ex.InnerException != null) { Log(ex.InnerException.Source); } if (ex.Source != null) { Log(ex.Source); } if (ex.StackTrace != null) { Log(ex.StackTrace); } Log(ex.Message); } }
internal PlayRpcMessage(AVIMNotice notice) { this.Deserialize(notice.RawData["msg"] as string); }
public virtual void OnNoticeReceived(AVIMNotice notice) { }
public void OnNoticeReceived(AVIMNotice notice) { var rpcMessage = new PlayRpcMessage(notice); Play.ReceivedRPC(rpcMessage); }