Changeset 360 for trunk/Game.pas


Ignore:
Timestamp:
Dec 31, 2024, 11:46:43 AM (6 days ago)
Author:
chronos
Message:
  • Fixed: Store current player information to game save to be able to continue with different player.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Game.pas

    r354 r360  
    633633      if Assigned(NewNode) then
    634634        Players.LoadFromNode(NewNode);
    635       if Players.Count > 0 then CurrentPlayer := Players[0]
    636         else CurrentPlayer := nil;
     635      CurrentPlayer := Players.FindById(ReadInteger(RootNode, 'CurrentPlayer', -1));
     636
     637      if not Assigned(CurrentPlayer) and (Players.Count > 0) then CurrentPlayer := Players[0];
    637638
    638639      NewNode := FindNode('Units');
     
    685686      WriteInteger(RootNode, 'StayAliveForDefinedTurns', StayAliveForDefinedTurns);
    686687      WriteBoolean(RootNode, 'Running', Running);
     688      WriteInteger(RootNode, 'CurrentPlayer', CurrentPlayer.Id);
    687689
    688690      NewNode := OwnerDocument.CreateElement('GameSystem');
Note: See TracChangeset for help on using the changeset viewer.