Files
SVSimServer/SVSim.EmulatedEntrypoint/Models/Dtos/UserInfo.cs
2024-09-12 00:35:31 -04:00

56 lines
2.0 KiB
C#

using MessagePack;
using SVSim.Database.Models;
namespace SVSim.EmulatedEntrypoint.Models.Dtos;
[MessagePackObject]
public class UserInfo
{
[Key("device_type")]
public int DeviceType { get; set; }
[Key("name")]
public string Name { get; set; } = string.Empty;
[Key("country_code")]
public string CountryCode { get; set; } = string.Empty;
[Key("max_friend")]
public int MaxFriend { get; set; }
[Key("last_play_time")]
public DateTime LastPlayTime { get; set; }
[Key("is_received_two_pick_mission")]
public int HasReceivedPickTwoMission { get; set; }
[Key("birth")]
public long Birthday { get; set; }
[Key("selected_emblem_id")]
public long SelectedEmblemId { get; set; }
[Key("selected_degree_id")]
public int SelectedDegreeId { get; set; }
[Key("mission_change_time")]
public DateTime MissionChangeTime { get; set; }
[Key("mission_receive_type")]
public int MissionReceiveType { get; set; }
[Key("is_official")]
public int IsOfficial { get; set; }
[Key("is_official_mark_displayed")]
public int IsOfficialMarkDisplayed { get; set; }
public UserInfo()
{
}
public UserInfo(int deviceType, Viewer viewer)
{
this.DeviceType = deviceType;
this.Name = viewer.DisplayName;
this.CountryCode = viewer.Info.CountryCode;
this.MaxFriend = viewer.Info.MaxFriends;
this.LastPlayTime = viewer.LastLogin;
this.HasReceivedPickTwoMission = viewer.MissionData.HasReceivedPickTwoMission ? 1 : 0;
this.Birthday = viewer.Info.BirthDate.Ticks;
this.SelectedEmblemId = viewer.Info.SelectedEmblem.Id;
this.SelectedDegreeId = viewer.Info.SelectedDegree.Id;
this.MissionChangeTime = viewer.MissionData.MissionChangeTime;
this.MissionReceiveType = viewer.MissionData.MissionReceiveType;
this.IsOfficial = viewer.Info.IsOfficial ? 1 : 0;
this.IsOfficialMarkDisplayed = viewer.Info.IsOfficialMarkDisplayed ? 1 : 0;
}
}