protected void RegisterPlayerEvents_NoLock(IPlayer player) { IPlayerEvents pe = player as IPlayerEvents; IReusablePlayer rp = player as IReusablePlayer; if (pe != null) { try { pe.InitializePlayerEvents(OnPlayerStarted, OnPlayerStateReady, OnPlayerStopped, OnPlayerEnded, OnPlaybackStateChanged, OnPlaybackError); } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("PlayerSlotController: Error initializing player events in player '{0}'", e, pe); } } if (rp != null) { try { rp.NextItemRequest += OnNextItemRequest; } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("PlayerSlotController: Error initializing player NextItemRequest event in player '{0}'", e, rp); } } }
protected void ResetPlayerEvents_NoLock(IPlayer player) { IPlayerEvents pe = player as IPlayerEvents; IReusablePlayer rp = player as IReusablePlayer; if (pe != null) { try { pe.ResetPlayerEvents(); } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("PlayerSlotController: Error resetting player events in player '{0}'", e, pe); } } if (rp != null) { try { rp.NextItemRequest -= OnNextItemRequest; } catch (Exception e) { ServiceRegistration.Get <ILogger>().Warn("PlayerSlotController: Error resetting player NextItemRequest event in player '{0}'", e, rp); } } }
public void DisplayList(List <ISound> sounds, IPlayerEvents events) { float last = (transform as RectTransform).rect.height / 2f - ItemSize / 2f; foreach (ISound sound in sounds) { var obj = SoundItem.Get(); PushItem(obj.transform as RectTransform, ref last); var item = obj.GetComponent <SoundItem>(); item.Init(sound); item.OnPlay += events.OnPlaySound; item.OnPause += events.OnPauseSound; items.Add(item); } }
public void AddPlayerEventListener(IPlayerEvents listener) { listeners.Add(listener); }