private void OnPlay(Player p, PlayEvent playEvent) { if (!p.IsAceAllowed(Permission.Play)) { p.AddChatMessage($"You are not permitted to play on this screen. missing ace: \"{Permission.Play}\""); return; } if (!playEvent.IsValid) { p.AddChatMessage($"Play \"{playEvent.Url}\" on screen \"{playEvent.Url}\" failed. Reason: Invalid url"); return; } var screen = this.screenCollection.FindOne(s => s.Name == playEvent.Screen.Name); if (screen == null) { p.AddChatMessage($"Play on screen \"{playEvent.Screen.Name}\" failed. screen not found"); return; } Logger.Debug($"playing: {playEvent.Url} on \"{playEvent.Screen.Name}\""); this.Play.Invoke(null, playEvent); this.screenStateManager.OnPlay(screen, playEvent.Url); }
// Called through export private void OnPlay(string screenName, string videoUrl) { var screen = this.screenCollection.FindOne(s => s.Name == screenName); if (screen == null) { Logger.Error($"play on screen \"{screenName}\" failed. Screen not found"); return; } var playEvent = new PlayEvent() { Screen = screen, Url = videoUrl }; if (!playEvent.IsValid) { Logger.Error($"play \"{playEvent.Url}\" on screen \"{playEvent.Url}\" failed. Reason: Invalid url"); return; } this.Play.Invoke(null, playEvent); this.screenStateManager.OnPlay(screen, videoUrl); Logger.Debug($"playing: {playEvent.Url} on \"{playEvent.Screen.Name}\""); }