RoomObjects¶
File responsible for handling house objects. Similar to type TRSObject but exclusive to the POH.
ERSRoomObject¶
ERSRoomObject = (POOL, FAIRY_TREE, JEWELLERY_BOX, PRAYER_ALTAR, MAGIC_ALTAR, LARDER, LECTERN, MYTH_CAPE, NEXUS, PORTAL);
TRoomObject¶
TRoomObject = record
  Coordinates: TPointArray;
  Shape: Vector3;
  UpText: TStringArray;
  Finder: TRSObjectFinder;
  RoomOffset: TPoint;
end;
Record used to store and interact information about POH room objects.
TRoomObject.Init()¶
procedure TRoomObject.Init(upText: TStringArray; shape: Vector3; roomOffset: TPoint);
This method sets up some basic info about a TRoomObject.
TRoomObject.Setup()¶
procedure TRoomObject.Setup(obj: ERSRoomObject); overload;
Basically the same as TRoomObject.Init() with some already known information.
Example:
var
  obj: TRoomObject;
begin
  obj.Setup(ERSRoomObject.POOL);
end;
TRoomObject.AddCoordinates()¶
procedure TRoomObject.AddCoordinates(coordinates: TPointArray);
Adds coordinates to a TRoomObject.
Can be called multiple times to add more coordinates.
Example:
var
  obj: TRoomObject;
begin
  obj.Setup(ERSRoomObject.POOL);
  obj.AddCoordinates([[50, 50]]);
end;
TRoomObject.Find¶
function TRoomObject.FindEx(mmPoints: TPointArray; radians: Double; out cuboids: TCuboidExArray; out atpa: T2DPointArray; stopAfter: Int32 = 0): Boolean;
function TRoomObject.FindAny(mmPoints: TPointArray; radians: Double; out atpa: T2DPointArray): Boolean;
function TRoomObject.FindAll(mmPoints: TPointArray; radians: Double; out atpa: T2DPointArray): Boolean;
Find a TRoomObject. You may choose to find any occurence of the object or all available. The extended version of the method is mostly for debugging.
TRoomObject.Draw¶
procedure TRoomObject.Draw(out bitmap: TMufasaBitmap; mmPoints: TPointArray; radians: Double);
Internal method used to draw found TRoomObject in a TMufasaBitmap.
TRoomObject.Interact¶
function TRoomObject.Hover(mmPoints: TPointArray; radians: Double): Boolean;
function TRoomObject.Click(mmPoints: TPointArray; radians: Double): Boolean;
function TRoomObject.Select(options: TStringArray; mmPoints: TPointArray; radians: Double): Boolean;
Interacts with a TRoomObject. The interaction type is self explanatory.