Browse Source

chore: add startlockfile in server

tags/0.1.0
TCL 3 years ago
parent
commit
b4bb327a45
2 changed files with 14 additions and 0 deletions
  1. +3
    -0
      logic/Server/ArgumentOption.cs
  2. +11
    -0
      logic/Server/GameServer.cs

+ 3
- 0
logic/Server/ArgumentOption.cs View File

@@ -71,5 +71,8 @@ namespace Server

[Option("resultFileName", Required = false, HelpText = "Result file name, saved as .json")]
public string ResultFileName { get; set; } = DefaultArgumentOptions.FileName;

[Option("startLockFile", Required = false, HelpText = "Whether to create a file that identifies whether the game has started")]
public string StartLockFile { get; set; } = DefaultArgumentOptions.FileName;
}
}

+ 11
- 0
logic/Server/GameServer.cs View File

@@ -45,6 +45,7 @@ namespace Server
if (id == GameObj.invalidID) return; //如果有未初始化的玩家,不开始游戏
}
Console.WriteLine("Game starts!");
CreateStartFile();
game.StartGame((int)options.GameTimeInSecond * 1000);
Thread.Sleep(1);
new Thread(() =>
@@ -74,6 +75,16 @@ namespace Server
})
{ IsBackground = true }.Start();
}

public void CreateStartFile()
{
if (options.StartLockFile != DefaultArgumentOptions.FileName)
{
using var _ = File.Create(options.StartLockFile);
Console.WriteLine("Successfully Created StartLockFile!");
}
}

public void WaitForEnd()
{
this.endGameSem.Wait();


Loading…
Cancel
Save