unit uengShaderCodeGenerator; {$mode objfpc}{$H+} {$I uengShaderFile.inc} interface uses Classes, SysUtils, uengShaderFileParser, uengShaderPart, uengShaderPartScope, uengShaderPartKeyValuePair; type //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// TengShaderCodeGenerator = class(TengShaderPartScope) { Code Loading & Storage } private fProperties: TengShaderPartPropertyMap; protected fInherited: TengShaderPartList; procedure UpdateInherited; virtual; function ParseIntern(const aArgs: TengParseArgs; const aParams: TengTokenParameterList): String; override; { General } public constructor Create(const aParent: TengShaderPart); override; destructor Destroy; override; end; implementation //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //TengShaderCodeGenerator/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure TengShaderCodeGenerator.UpdateInherited; begin // TODO end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// function TengShaderCodeGenerator.ParseIntern(const aArgs: TengParseArgs; const aParams: TengTokenParameterList): String; begin result := inherited ParseIntern(aArgs, aParams); UpdateInherited; end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// constructor TengShaderCodeGenerator.Create(const aParent: TengShaderPart); begin inherited Create(aParent); fInherited := TengShaderPartList.Create(false); end; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// destructor TengShaderCodeGenerator.Destroy; begin FreeAndNil(fInherited); inherited Destroy; end; end.