Changeset 125 for trunk/UCore.pas
- Timestamp:
- Jun 17, 2017, 2:24:51 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UCore.pas
r122 r125 52 52 StoredDimension: TControlDimension; 53 53 RegistryContext: TRegistryContext; 54 procedure DoPlayerChange(Sender: TObject); 54 55 procedure DoOnMove(CellFrom, CellTo: TCell; var CountOnce, 55 56 CountRepeat: Integer; Update: Boolean; var Confirm: Boolean); … … 58 59 procedure GameNewTurnExecute(Sender: TObject); 59 60 procedure AutoSave; 61 function GetPlayer: TPlayer; 60 62 procedure LoadConfig; 61 63 procedure SaveConfig; 62 64 procedure CommandLineParams; 63 65 procedure ScaleDPI; 66 procedure SelectClient; 64 67 public 65 68 Game: TGame; 66 Player: TPlayer;67 69 UseSingleView: Boolean; 68 70 DevelMode: Boolean; … … 70 72 AnimationSpeed: Integer; 71 73 AutoSaveEnabled: Boolean; 74 CurrentClient: TClient; 72 75 procedure UpdateActions; 73 76 procedure Init; … … 160 163 end; 161 164 165 function TCore.GetPlayer: TPlayer; 166 begin 167 Result := Game.CurrentPlayer; 168 end; 169 162 170 procedure TCore.LoadConfig; 163 171 begin … … 196 204 if FileExists(FileName) then begin 197 205 Game.LoadFromFile(FileName); 198 Player := Game.Players.GetFirstHuman;206 SelectClient; 199 207 LastMapFileName := OpenDialog1.FileName; 200 with Core. Game.CurrentPlayerdo208 with Core.CurrentClient do 201 209 View.DestRect := Bounds(0, 0, FormMain.PaintBox1.Width, FormMain.PaintBox1.Height); 202 210 FormMain.AZoomAll.Execute; … … 226 234 end; 227 235 {$endif} 236 end; 237 238 procedure TCore.SelectClient; 239 var 240 FirstHuman: TPlayer; 241 begin 242 FirstHuman := Game.Players.GetFirstHuman; 243 if Assigned(FirstHuman) then CurrentClient := FirstHuman.Client 244 else CurrentClient := TClient(Game.Clients.First); 228 245 end; 229 246 … … 289 306 if OpenDialog1.Execute then begin 290 307 Game.LoadFromFile(OpenDialog1.FileName); 291 Player := Game.Players.GetFirstHuman;308 SelectClient; 292 309 LastMapFileName := OpenDialog1.FileName; 293 with Core. Game.CurrentPlayerdo310 with Core.CurrentClient do 294 311 View.DestRect := Bounds(0, 0, FormMain.PaintBox1.Width, FormMain.PaintBox1.Height); 295 312 FormMain.AZoomAll.Execute; … … 304 321 FormNew.Save(Game); 305 322 Game.New; 306 Player := Game.Players.GetFirstHuman;323 SelectClient; 307 324 Game.Running := True; 308 325 FormMain.AZoomAll.Execute; … … 365 382 Game.OnWin := DoOnWin; 366 383 Game.OnNewTurn := GameNewTurnExecute; 384 Game.OnPlayerChange := DoPlayerChange; 367 385 StoredDimension := TControlDimension.Create; 368 386 XMLConfig1.Filename := GetAppConfigDir(False) + 'Config.xml'; … … 376 394 SaveConfig; 377 395 FreeAndNil(Game); 396 end; 397 398 procedure TCore.DoPlayerChange(Sender: TObject); 399 begin 400 if Assigned(Game.CurrentPlayer) and Assigned(Game.CurrentPlayer.Client) then 401 CurrentClient := Game.CurrentPlayer.Client; 378 402 end; 379 403 … … 389 413 FInitialized := True; 390 414 LoadConfig; 391 for I := 0 to Game. Players.Count - 1 do392 T Player(Game.Players[I]).View.DestRect := Rect(0, 0, FormMain.PaintBox1.Width,415 for I := 0 to Game.Clients.Count - 1 do 416 TClient(Game.Clients[I]).View.DestRect := Rect(0, 0, FormMain.PaintBox1.Width, 393 417 FormMain.PaintBox1.Height); 394 418 Game.LoadConfig(XMLConfig1, 'Game'); … … 399 423 if Game.FileName = '' then begin 400 424 Game.New; 401 Player := Game.Players.GetFirstHuman;425 SelectClient; 402 426 Game.Running := True; 403 427 FormMain.AZoomAll.Execute;
Note:
See TracChangeset
for help on using the changeset viewer.