NHSE/NHSE.Core/Save/Offsets/PersonalOffsets.cs
Kurt f26a5d3e80 Add learned recipe editing
bitflags bitflags bitflags

RecipeCraftParam.csv
0x54706054 => recipe index
0x89A3482C => crafted item ID
2020-03-28 22:10:17 -07:00

39 lines
1.2 KiB
C#

using System;
namespace NHSE.Core
{
/// <summary>
/// Offset info and object retrieval logic for <see cref="Personal"/>
/// </summary>
public abstract class PersonalOffsets
{
public abstract int PersonalId { get; }
public abstract int Wallet { get; }
public abstract int Bank { get; }
public abstract int NookMiles { get; }
public abstract int Photo { get; }
public abstract int Pockets1 { get; }
public abstract int Pockets2 { get; }
public abstract int Storage { get; }
public abstract int Recipes { get; }
public virtual int Pockets1Count { get; } = 20;
public virtual int Pockets2Count { get; } = 20;
public virtual int StorageCount { get; } = 5000;
public virtual int MaxRecipeID { get; } = 0x2A0;
public static PersonalOffsets GetOffsets(FileHeaderInfo Info)
{
var rev = Info.GetKnownRevisionIndex();
return rev switch
{
0 => new PersonalOffsets10(),
1 => new PersonalOffsets11(),
2 => new PersonalOffsets11(),
_ => throw new IndexOutOfRangeException("Unknown revision!"),
};
}
}
}