mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-16 00:58:01 +00:00
Add HoF time block accessor object
Not gonna add it to the interface Closes #2691 Co-Authored-By: canoehope <canoehope@users.noreply.github.com>
This commit is contained in:
parent
c08cf9c95f
commit
a73f14836d
2 changed files with 42 additions and 0 deletions
|
@ -21,6 +21,7 @@ namespace PKHeX.Core
|
|||
public RaidSpawnList8 Raid { get; }
|
||||
public TitleScreen8 TitleScreen { get; }
|
||||
public TeamIndexes8 TeamIndexes { get; }
|
||||
public HallOfFameTime8 FameTime { get; }
|
||||
|
||||
public SaveBlockAccessor8SWSH(SAV8SWSH sav)
|
||||
{
|
||||
|
@ -41,6 +42,7 @@ namespace PKHeX.Core
|
|||
Raid = new RaidSpawnList8(sav, GetBlock(KRaidSpawnList));
|
||||
TitleScreen = new TitleScreen8(sav, GetBlock(KTitleScreenTeam));
|
||||
TeamIndexes = new TeamIndexes8(sav, GetBlock(KTeamIndexes));
|
||||
FameTime = new HallOfFameTime8(sav, GetBlock(KEnteredHallOfFame));
|
||||
}
|
||||
|
||||
/* To dump key list of current format, use the following in the immediate window, and update Meta8
|
||||
|
|
40
PKHeX.Core/Saves/Substructures/Gen8/HallOfFameTime8.cs
Normal file
40
PKHeX.Core/Saves/Substructures/Gen8/HallOfFameTime8.cs
Normal file
|
@ -0,0 +1,40 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
public sealed class HallOfFameTime8 : SaveBlock
|
||||
{
|
||||
public HallOfFameTime8(SAV8SWSH sav, SCBlock block) : base(sav, block.Data)
|
||||
{
|
||||
Debug.Assert(Data.Length == 8);
|
||||
}
|
||||
|
||||
private const string General = nameof(General);
|
||||
|
||||
[Category(General), Description("Raw amount of seconds since 1970 (Unix Timestamp)")]
|
||||
public long TimeStamp
|
||||
{
|
||||
get => BitConverter.ToInt64(Data, Offset + 0);
|
||||
set => SAV.SetData(Data, BitConverter.GetBytes(value), Offset + 0);
|
||||
}
|
||||
|
||||
[Category(General), Description("Date and Time (UTC) the player entered the Hall Of Fame")]
|
||||
public DateTime Date
|
||||
{
|
||||
get
|
||||
{
|
||||
var epoch = new DateTime(1970, 1, 1);
|
||||
var date = epoch.AddSeconds(TimeStamp);
|
||||
return date;
|
||||
}
|
||||
set
|
||||
{
|
||||
var epoch = new DateTime(1970, 1, 1);
|
||||
var delta = value.Subtract(epoch);
|
||||
TimeStamp = (long)delta.TotalSeconds;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue