Changeset 134 for trunk/UEngine.pas
- Timestamp:
- May 2, 2023, 11:48:43 AM (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UEngine.pas
r133 r134 312 312 function GetGameSlotFileName(Index: Integer): string; 313 313 procedure AutoSave; 314 procedure CheckScore; 314 315 public 315 316 // Test … … 357 358 HighestServedPassengerCount: Integer; 358 359 HighestServedDaysCount: Integer; 360 OldHighestServedPassengerCount: Integer; 361 OldHighestServedDaysCount: Integer; 359 362 RegistryContext: TRegistryContext; 360 363 procedure InitMenus; … … 2521 2524 end; 2522 2525 2526 procedure TEngine.CheckScore; 2527 begin 2528 OldHighestServedDaysCount := HighestServedDaysCount; 2529 OldHighestServedPassengerCount := HighestServedPassengerCount; 2530 2531 if (ServedPassengerCount > HighestServedPassengerCount) then begin 2532 HighestServedPassengerCount := ServedPassengerCount; 2533 HighestServedDaysCount := ServedDaysCount; 2534 end; 2535 2536 if Assigned(City) then begin 2537 if (ServedPassengerCount > City.HighestServedPassengerCount) then begin 2538 City.HighestServedPassengerCount := ServedPassengerCount; 2539 City.HighestServedDaysCount := ServedDaysCount; 2540 end; 2541 end; 2542 end; 2543 2523 2544 function TEngine.DestinationIndexToText(DestinationIndex: TDestinationIndex): string; 2524 2545 begin … … 2870 2891 begin 2871 2892 with Canvas do begin 2872 // Calculate new highest score2873 2893 Text := ''; 2874 if (ServedPassengerCount > HighestServedPassengerCount) or2875 (ServedDaysCount > HighestServedDaysCount) then begin2894 if (ServedPassengerCount >= HighestServedPassengerCount) or 2895 (ServedDaysCount >= HighestServedDaysCount) then begin 2876 2896 Text := SNewHighScore + ' '; 2877 2897 end; 2878 Text := Text + Format(SOldHighScore, [ HighestServedPassengerCount,2879 HighestServedDaysCount]);2898 Text := Text + Format(SOldHighScore, [OldHighestServedPassengerCount, 2899 OldHighestServedDaysCount]); 2880 2900 Canvas.TextOut((CanvasSize.X - TextWidth(Text)) div 2, Y, Text); 2881 2901 Y := Y + Round(TextHeight(Text) * 1.1); 2882 if (ServedPassengerCount > HighestServedPassengerCount) then2883 HighestServedPassengerCount := ServedPassengerCount;2884 if (ServedDaysCount > HighestServedDaysCount) then2885 HighestServedDaysCount := ServedDaysCount;2886 2887 if Assigned(City) then begin2888 if (ServedPassengerCount > City.HighestServedPassengerCount) then2889 City.HighestServedPassengerCount := ServedPassengerCount;2890 if (ServedDaysCount > City.HighestServedDaysCount) then2891 City.HighestServedDaysCount := ServedDaysCount;2892 end;2893 2902 end; 2894 2903 end; … … 3558 3567 if OverloadDuration >= MaxPassengersOveloadTime then begin 3559 3568 State := gsGameOver; 3569 CheckScore; 3560 3570 Redraw; 3561 3571 end; … … 3564 3574 if Assigned(City) and (ServedPassengerCount >= City.PassengersCountToUnlock) then begin 3565 3575 State := gsSuccess; 3576 CheckScore; 3566 3577 Redraw; 3567 3578 end; … … 3860 3871 KeyF7 = 118; 3861 3872 KeyF8 = 119; 3873 KeyF9 = 120; 3862 3874 {$ENDIF} 3863 3875 KeyT = 84; … … 3898 3910 if Key = KeyF2 then begin 3899 3911 State := gsGameOver; 3912 CheckScore; 3900 3913 Redraw; 3901 3914 end; … … 3919 3932 if Key = KeyF7 then begin 3920 3933 State := gsSuccess; 3934 CheckScore; 3921 3935 Redraw; 3922 3936 end else 3923 3937 if Key = KeyF8 then begin 3924 3938 Inc(AvailableTerminals); 3939 Redraw; 3940 end else 3941 if Key = KeyF9 then begin 3942 Inc(ServedPassengerCount, 100); 3925 3943 Redraw; 3926 3944 end; … … 4059 4077 LastNewPassengerTime := ReadDateTime(Node, 'LastNewPassengerTime', LastNewPassengerTime); 4060 4078 LastNewStationTime := ReadDateTime(Node, 'LastNewStationTime', LastNewStationTime); 4079 TerminalCountVisible := ReadBoolean(Node, 'TerminalCountVisible', TerminalCountVisible); 4080 CarriageCountVisible := ReadBoolean(Node, 'CarriageCountVisible', CarriageCountVisible); 4061 4081 4062 4082 NewNode := Node.FindNode(DOMString(TView.GetClassSysName)); … … 4132 4152 WriteDateTime(Node, 'LastNewPassengerTime', LastNewPassengerTime); 4133 4153 WriteDateTime(Node, 'LastNewStationTime', LastNewStationTime); 4154 WriteBoolean(Node, 'TerminalCountVisible', TerminalCountVisible); 4155 WriteBoolean(Node, 'CarriageCountVisible', CarriageCountVisible); 4134 4156 4135 4157 NewNode := Node.OwnerDocument.CreateElement(DOMString(TView.GetClassSysName));
Note:
See TracChangeset
for help on using the changeset viewer.