public static void CloneTo(IPlayerItem from, IPlayerItem to) { to.ItemID = from.ItemID; to.PlayerId = from.PlayerId; to.GUID = from.GUID; to.Amount = from.Amount; to.Exp = from.Exp; to.EquipItemGuid = from.EquipItemGuid; to.EquipPosition = from.EquipPosition; //to.itemType = from.itemType; }
public PlayerToken(IPlayerItem playerItem, IDateTimeService dateTimeService) { _dateTimeService = dateTimeService; //this.Id = idGenerator.Generate(); this.MediaSource = playerItem.MediaSource; this.PlayRange = playerItem.PlayRange; //this.Parameters = playerItem.PlayParameters; this.Position = TimeSpan.Zero; this.RemainTime = this.PlayRange.Duration; this.CGItems = playerItem.CGItems; }
public void PlayNext() { Debug.Assert(_nextItem != null); OnCurrentItemStopped(); _nextItem.PlayerToken.Stopped += CurrentItem_Stopped; if (IsMLSource(_nextItem.MediaSource)) { M_PlayNext(); } _currentItem = _nextItem; _nextItem = null; _currentItem.StartTime = _dateTimeService.GetLocalNow(); OnItemStarted(_currentItem); }
private void OnCurrentItemStopped() { if (_currentItem != null) { _currentItem.PlayerToken.Stopped -= CurrentItem_Stopped; if (IsMLSource(_currentItem.MediaSource)) { M_OnCurrentItemStopped(); } _currentItem.StopTime = _dateTimeService.GetLocalNow(); _currentItem.PlayerToken.Dispose(); var temp = _currentItem; _currentItem = null; OnItemStopped(temp); } }
private void OnCurrentPlayItemChanged(object sender, EventArgs e) { _currentItem = _scheduler.CurrentPlayItem; if (_currentItem != null) { _playlist.CurrentItem = _currentItem.PlayItem; } else { _playlist.CurrentItem = null; } if (this.CurrentPlayItemChanged != null) { this.CurrentPlayItemChanged(this, new PlayerItemEventArgs(_currentItem)); } }
public void Load(IPlayerItem playerItem) { Debug.Assert(_nextItem == null); PlayerToken playToken = new PlayerToken(playerItem, _dateTimeService); if (IsMLSource(playerItem.MediaSource)) { playToken.MPlaylist = _mplaylist; M_Load(playToken); } else { var adjustedRange = playerItem.MediaSource.Adjust(playToken.PlayRange); playToken.LoadRange = adjustedRange.Value; } _nextItem = playerItem; _nextItem.LoadTime = _dateTimeService.GetLocalNow(); _nextItem.PlayerToken = playToken; OnItemLoaded(_nextItem); }
public void AddItem(IPlayerItem newItem) { inventory.Add(newItem); Debug.Log(newItem + " added"); }
public PlayerItemEventArgs(IPlayerItem playItem) { this.PlayerItem = playItem; }
public abstract void Add(IPlayerItem playerItem);