Files
ZuneShell.dll/ZuneShell/ZuneUI/SocialExperience.cs
T

118 lines
3.4 KiB
C#

// Decompiled with JetBrains decompiler
// Type: ZuneUI.SocialExperience
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
using Microsoft.Zune.Util;
using System;
using System.Collections;
namespace ZuneUI
{
public class SocialExperience : Experience
{
private int _messageCount;
private Node[] _nodes;
private Node _friends;
private Node _me;
private Node _inbox;
public SocialExperience(Frame frameOwner)
: base(frameOwner, StringId.IDS_SOCIAL_PIVOT, SQMDataId.SocialClicks)
{
}
public override IList NodesList
{
get
{
if (this._nodes == null)
this._nodes = new Node[3]
{
this.Friends,
this.Me,
this.Inbox
};
return _nodes;
}
}
public Node Friends
{
get
{
if (this._friends == null)
this._friends = new Node(this, StringId.IDS_FRIENDS_PIVOT, "Social\\Friends", SQMDataId.SocialFriendsClicks);
return this._friends;
}
}
public Node Me
{
get
{
if (this._me == null)
this._me = new Node(this, StringId.IDS_PROFILE_PIVOT, "Social\\Profile", SQMDataId.SocialProfileClicks);
return this._me;
}
}
public Node Inbox
{
get
{
if (this._inbox == null)
this._inbox = new Node(this, StringId.IDS_INBOX_PIVOT, "Social\\Inbox", SQMDataId.SocialInboxClicks);
return this._inbox;
}
}
public int MessageCount
{
get => this._messageCount;
set
{
if (this._messageCount == value)
return;
if (value > this._messageCount)
{
this.FirePropertyChanged("MessagesArrived");
if (this.MessagesArrived != null)
this.MessagesArrived(this, null);
}
this._messageCount = value;
this.FirePropertyChanged(nameof(MessageCount));
}
}
public int PlayCount
{
get => SignIn.Instance.SignedIn ? ProfileDataHelper.ProfilePlayCount : -1;
set
{
if (ProfileDataHelper.ProfilePlayCount == value || !SignIn.Instance.SignedIn)
return;
ProfileDataHelper.ProfilePlayCount = value;
this.FirePropertyChanged(nameof(PlayCount));
}
}
public DateTime CommentsLastRead
{
get => SignIn.Instance.SignedIn ? ProfileDataHelper.CommentsLastRead : DateTime.MinValue;
set
{
if (!(ProfileDataHelper.CommentsLastRead != value) || !SignIn.Instance.SignedIn)
return;
ProfileDataHelper.CommentsLastRead = value;
this.FirePropertyChanged(nameof(CommentsLastRead));
}
}
public override string DefaultUIPath => "Social\\Default";
public event EventHandler MessagesArrived;
}
}