using System; using ReClassNET.UI; using ReClassNET.Util; namespace ReClassNET.Nodes { public class ClassInstanceArrayNode : BaseArrayNode { /// Size of the node in bytes. public override int MemorySize => InnerNode.MemorySize * Count; public override bool PerformCycleCheck => true; public override void Intialize() { InnerNode = ClassNode.Create(); InnerNode.Intialize(); } /// Draws this node. /// The view information. /// The x coordinate. /// The y coordinate. /// The height the node occupies. public override int Draw(ViewInfo view, int x, int y) { return Draw(view, x, y, "Array", HotSpotType.ChangeType); } protected override int DrawChild(ViewInfo view, int x, int y) { var v = view.Clone(); v.Address = view.Address.Add(Offset) + InnerNode.MemorySize * CurrentIndex; v.Memory = view.Memory.Clone(); v.Memory.Offset = Offset.ToInt32() + InnerNode.MemorySize * CurrentIndex; return InnerNode.Draw(v, x, y); } protected override int CalculateChildHeight(ViewInfo view) { return InnerNode.CalculateHeight(view); } } }