X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2FMAPDEF.pas;h=6400264bb438dd69ca6907eb7dbf52f362a66ff4;hb=a4f25c41dfd783a925aa2dab4b9b84753d5c3f18;hp=ededbdd40c7f885f7d8ea932af4493002678f51d;hpb=b0369ee9442a79c9ace3454e7e1709cd61ed6a8e;p=d2df-sdl.git diff --git a/src/shared/MAPDEF.pas b/src/shared/MAPDEF.pas index ededbdd..6400264 100644 --- a/src/shared/MAPDEF.pas +++ b/src/shared/MAPDEF.pas @@ -119,8 +119,11 @@ type private // user fields - function getGamePanelId (): Integer; inline; - procedure setGamePanelId (v: Integer); inline; + 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; @@ -130,7 +133,8 @@ type property tgShotPanelID: Integer read getPanelId {write setPanelId}; property TexturePanel: Integer read getTexturePanel {write setTexturePanel}; // texturepanel, int // user fields - property gamePanelId: Integer read getGamePanelId write setGamePanelId; + property userPanelId: Integer read getUserPanelId write setUserPanelId; + property userPanelTrigRef: Boolean read getUserTrigRef write setUserTrigRef; end; implementation @@ -144,18 +148,35 @@ constructor TDFPoint.Create (ax, ay: LongInt); begin X := ax; Y := ay; end; // ////////////////////////////////////////////////////////////////////////// // -function TDynRecordHelper.getGamePanelId (): Integer; inline; +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; + if (fld = nil) then result := -1 else result := Integer(fld.varvalue); +end; + + +procedure TDynRecordHelper.setUserPanelId (v: Integer); inline; +begin + user['userPanelId'] := v; +end; + + +function TDynRecordHelper.getUserTrigRef (): Boolean; inline; var fld: TDynField; begin - fld := field['gamePanelId']; - if (fld = nil) or (fld.baseType <> TDynField.TType.TInt) then result := -1 else result := fld.ival; + fld := field['userPanelTrigRef']; + if (fld = nil) then result := false else result := Boolean(fld.varvalue); + //if (fld = nil) or (fld.baseType <> TDynField.TType.TBool) then result := false else result := (fld.ival <> 0); end; -procedure TDynRecordHelper.setGamePanelId (v: Integer); inline; +procedure TDynRecordHelper.setUserTrigRef (v: Boolean); inline; begin - setUserField('gamePanelId', Integer(v)); + user['userPanelTrigRef'] := v; end;