public GetObjectRoom ( FSO.SimAntics.VMEntity obj ) : ushort | ||
obj | FSO.SimAntics.VMEntity | |
return | ushort |
public ushort GetObjectRoom(VMEntity obj)
{
if (obj.Position == LotTilePos.OUT_OF_WORLD) return 0;
if (obj.Position.Level < 1 || obj.Position.Level > _Arch.Stories) return 0;
return (ushort)Architecture.Rooms[obj.Position.Level - 1].Map[obj.Position.TileX + obj.Position.TileY*_Arch.Width];
}
public override void PositionChange(VMContext context, bool noEntryPoint) { if (GhostImage) { return; } var room = context.GetObjectRoom(this); SetRoom(room); if (HandObject != null) { context.UnregisterObjectPos(HandObject); HandObject.Position = Position; HandObject.PositionChange(context, noEntryPoint); } context.RegisterObjectPos(this); if (Container != null) { return; } if (Position == LotTilePos.OUT_OF_WORLD) { return; } base.PositionChange(context, noEntryPoint); }