X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2FMAPDEF.pas;h=d22e73f60a6f77aaf4a501e1a2d0cc2c948a40ba;hb=96165a1a95f0ea18a20dd8578fade4b46ec23746;hp=a7137162c81c5be25db278bc34b11462913c11a9;hpb=923fa980434e55419f35422119af2faae2bf68d7;p=d2df-sdl.git diff --git a/src/shared/MAPDEF.pas b/src/shared/MAPDEF.pas index a713716..d22e73f 100644 --- a/src/shared/MAPDEF.pas +++ b/src/shared/MAPDEF.pas @@ -117,6 +117,14 @@ type {$INCLUDE mapdef_help.inc} function trigMonsterId (): Integer; inline; + private + // user fields + function getUserPanelId (): Integer; inline; + procedure setUserPanelId (v: Integer); inline; + + function getUserTrigRef (): Boolean; inline; + procedure setUserTrigRef (v: Boolean); inline; + public property panel[idx: Integer]: TDynRecord read getPanelByIdx; property panelIndex[pan: TDynRecord]: Integer read getPanelIndex; @@ -124,6 +132,9 @@ type property tgPanelID: Integer read getPanelId {write setPanelId}; property tgShotPanelID: Integer read getPanelId {write setPanelId}; property TexturePanel: Integer read getTexturePanel {write setTexturePanel}; // texturepanel, int + // user fields + property userPanelId: Integer read getUserPanelId write setUserPanelId; + property userPanelTrigRef: Boolean read getUserTrigRef write setUserTrigRef; end; implementation @@ -136,6 +147,37 @@ uses constructor TDFPoint.Create (ax, ay: LongInt); begin X := ax; Y := ay; end; +// ////////////////////////////////////////////////////////////////////////// // +function TDynRecordHelper.getUserPanelId (): Integer; inline; +var + fld: TDynField; +begin + fld := field['userPanelId']; + if (fld = nil) or (fld.baseType <> TDynField.TType.TInt) then result := -1 else result := fld.ival; +end; + + +procedure TDynRecordHelper.setUserPanelId (v: Integer); inline; +begin + setUserField('userPanelId', Integer(v)); +end; + + +function TDynRecordHelper.getUserTrigRef (): Boolean; inline; +var + fld: TDynField; +begin + fld := field['userPanelTrigRef']; + if (fld = nil) or (fld.baseType <> TDynField.TType.TBool) then result := false else result := (fld.ival <> 0); +end; + + +procedure TDynRecordHelper.setUserTrigRef (v: Boolean); inline; +begin + setUserField('userPanelTrigRef', v); +end; + + // ////////////////////////////////////////////////////////////////////////// // function TDynRecordHelper.getFieldWithType (const aname: AnsiString; atype: TDynField.TType): TDynField; inline; begin