unit Game.Map; interface uses Game.Intf; type TGameMap = class(TInterfacedObject, IGameMap) private FCategory: string; FName: string; FDisplayName: string; public constructor Create(const AName: string; const ADisplayName, ACategory: string); { IGameMap } function GetCategory: string; function GetName: string; function GetDisplayName: string; end; implementation uses System.StrUtils; { TGameMap } constructor TGameMap.Create(const AName, ADisplayName, ACategory: string); begin inherited Create; FName := AName; FDisplayName := IfThen(Length(ADisplayName) > 0, ADisplayName, AName); FCategory := ACategory; end; function TGameMap.GetCategory: string; begin Result := FCategory; end; function TGameMap.GetName: string; begin Result := FName; end; function TGameMap.GetDisplayName: string; begin Result := FDisplayName; end; end.