NHSE/NHSE.Core/Structures/Villager/IVillager.cs
berichan 70fe4834da
Add villager crafting editing functionality (#433)
* Add villager crafting editing functionality

* Add legacy villager1 support
2020-12-02 12:42:32 -08:00

48 lines
1.5 KiB
C#

using System.Collections.Generic;
namespace NHSE.Core
{
/// <summary>
/// Exposes all interact-able values for a villager.
/// </summary>
public interface IVillager : IVillagerOrigin
{
byte Species { get; set; }
byte Variant { get; set; }
VillagerPersonality Personality { get; set; }
string InternalName { get; }
string CatchPhrase { get; set; }
IReadOnlyList<VillagerItem> WearStockList { get; set; }
IReadOnlyList<VillagerItem> FtrStockList { get; set; }
byte BirthType { get; set; }
byte InducementType { get; set; }
byte MoveType { get; set; }
bool MovingOut { get; set; }
int Gender { get; }
GSaveRoomFloorWall Room { get; set; }
DesignPatternPRO Design { get; set; }
public byte DIYEndHour { get; set; }
public byte DIYEndMinute { get; set; }
public byte DIYEndSecond { get; set; }
public ushort DIYRecipeIndex { get; set; }
GSaveMemory GetMemory(int index);
GSaveMemory[] GetMemories();
void SetMemory(GSaveMemory memory, int index);
void SetMemories(IReadOnlyList<GSaveMemory> memories);
ushort[] GetEventFlagsSave();
void SetEventFlagsSave(ushort[] value);
void SetFriendshipAll(byte value = byte.MaxValue);
/// <summary> Returns the inner data buffer of the object, flushing any pending changes. </summary>
byte[] Write();
string Extension { get; }
}
}