You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.7 KiB
C#

using NetMFAPatcher.MMFParser.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NetMFAPatcher.MMFParser.ChunkLoaders.Banks;
using NetMFAPatcher.MMFParser.MFALoaders;
using NetMFAPatcher.Utils;
using static NetMFAPatcher.MMFParser.Data.ChunkList;
namespace NetMFAPatcher.MMFParser.ChunkLoaders
{
public class FrameItems : ChunkLoader
{
public Dictionary<int, ObjectInfo> ItemDict = new Dictionary<int, ObjectInfo>();
public List<string> Names = new List<string>();
public int NumberOfItems;
public FrameItems(Chunk chunk) : base(chunk) { }
public FrameItems(ByteIO reader) : base(reader) { }
public override void Print(bool ext)
{
}
public override string[] GetReadableData()
{
return new string[]
{
$"Number of items: {NumberOfItems}"
};
}
public override void Read()
{
NumberOfItems = Reader.ReadInt32();
for (int i = 0; i < NumberOfItems; i++)
{
var item = new ObjectInfo(Reader);
item.Verbose = false;
item.Read();
ItemDict.Add(item.Handle, item);
Names.Add(item.Name);
Logger.Log($"Found FrameItem: '{item.Name}' with handle ({item.Handle})", true, ConsoleColor.Magenta);
}
GameData.TestItems = this;
}
public ObjectInfo GetItemByHandle(int handle)
{
ItemDict.TryGetValue(handle, out var ret);
return ret;
}
}
}