1. function GetAltName(id: Cardinal) : String; - просто синоним GetName или что-то большее?
2. function ConvertIntegerToFlags(Group: Byte; I : LongWord) : TTileDataFlagSet;
Вопрос больше про Group: Byte. Непонятно ни зачем этот параметр, ни как он работает. У меня эта функция почему-то всегда возвращает пустое множество.
На одной из веток, применительно к похожей по смыслу function GetTileFlags(Group : byte; Tile : Word) : Cardinal говорилось, что Group = 1 - тайл, 2 - объект, 3 - анимация. Но, хоть убей, не пойму, почему нельзя просто вот так:
Code: Select all
function GetTileFlags(Tile : Word) : LongWord;
begin
Result := GetStaticTileData(Tile).Flags;
end;
Code: Select all
function GetArtFlags(Item: Cardinal) : LongWord;
begin
Result := GetStaticTileData(GetType(Item)).Flags;
end;
Вообще, при наличии TTileDataFlagSet, который суть есть по особому интерпретируемый Паскалем обычный Integer, может, было бы правильнее, избавиться от LongWord?
3. function IsObjectExists(ObjectId: Cardinal): Boolean - что конкретно проверяет эта функция? Можно ли считать ее синонимом
Code: Select all
function IsObjectExists(ObjectId: Cardinal): Boolean;
begin
Result := (GetType(ObjectId) > 0);
end;