Browse Source

fix: 🐛 fix some rpc services and argument options

tags/0.1.0
gsy1519 2 years ago
parent
commit
532655824e
2 changed files with 14 additions and 12 deletions
  1. +4
    -4
      logic/Server/ArgumentOption.cs
  2. +10
    -8
      logic/Server/GameServer.cs

+ 4
- 4
logic/Server/ArgumentOption.cs View File

@@ -18,14 +18,14 @@ namespace Server
[Option('p', "port", Required = true, HelpText = "Server listening port")] [Option('p', "port", Required = true, HelpText = "Server listening port")]
public ushort ServerPort { get; set; } = 8888; public ushort ServerPort { get; set; } = 8888;


[Option('n', "playerNum", Required = false, HelpText = "The number of teams, 1 by defualt")]
[Option('n', "playerNum", Required = false, HelpText = "The number of players, 1 by defualt")]
public ushort playerNum { get; set; } = 1; public ushort playerNum { get; set; } = 1;


[Option('t', "teamCount", Required = false, HelpText = "The number of teams, 1 by defualt")] [Option('t', "teamCount", Required = false, HelpText = "The number of teams, 1 by defualt")]
public ushort TeamCount { get; set; } = 1;
public ushort TeamCount { get; set; } = 2;


[Option('c', "playerCount", Required = false, HelpText = "The number of players per team, 1 by default")]
public ushort PlayerCountPerTeam { get; set; } = 1;
[Option('c', "playerCount", Required = false, HelpText = "The number of students, 1 by default")]
public ushort PlayerCountPerTeam { get; set; } = 4;


[Option('g', "gameTimeInSecond", Required = false, HelpText = "The time of the game in second, 10 minutes by default")] [Option('g', "gameTimeInSecond", Required = false, HelpText = "The time of the game in second, 10 minutes by default")]
public uint GameTimeInSecond { get; set; } = 10 * 60; public uint GameTimeInSecond { get; set; } = 10 * 60;


+ 10
- 8
logic/Server/GameServer.cs View File

@@ -20,7 +20,7 @@ namespace Server
protected readonly ArgumentOptions options; protected readonly ArgumentOptions options;
private HttpSender? httpSender; private HttpSender? httpSender;
private object gameLock = new(); private object gameLock = new();
private int playerNum => options.playerNum; // 注意修改
public int PlayerNum => options.playerNum; // 注意修改
private MessageToClient currentGameInfo = new(); private MessageToClient currentGameInfo = new();
private MessageOfObj currentMapMsg = new(); private MessageOfObj currentMapMsg = new();
private object newsLock = new(); private object newsLock = new();
@@ -202,7 +202,7 @@ namespace Server
} }
private bool ValidPlayerID(long playerID) private bool ValidPlayerID(long playerID)
{ {
if (0 <= playerID && playerID < options.PlayerCountPerTeam + 1)
if ((0 <= playerID && playerID < options.PlayerCountPerTeam) || playerID == 4)
return true; return true;
return false; return false;
} }
@@ -276,7 +276,7 @@ namespace Server
var onConnection = new BoolRes(); var onConnection = new BoolRes();
lock (gameLock) lock (gameLock)
{ {
if (0 <= request.PlayerId && request.PlayerId < playerNum) // 注意修改
if (0 <= request.PlayerId && request.PlayerId < PlayerNum) // 注意修改
{ {
onConnection.ActSuccess = true; onConnection.ActSuccess = true;
Console.WriteLine(onConnection.ActSuccess); Console.WriteLine(onConnection.ActSuccess);
@@ -331,7 +331,7 @@ namespace Server
lock (semaDict) lock (semaDict)
{ {
semaDict.Add(request.PlayerId, temp); semaDict.Add(request.PlayerId, temp);
start = semaDict.Count == playerNum;
start = semaDict.Count == PlayerNum;
} }
if (start) StartGame(); if (start) StartGame();
} }
@@ -427,7 +427,8 @@ namespace Server
#endif #endif
BoolRes boolRes = new(); BoolRes boolRes = new();
var gameID = communicationToGameID[request.PlayerId]; var gameID = communicationToGameID[request.PlayerId];
//boolRes.ActSuccess = game.UseProp(gameID, CopyInfo.ToPropType(request.PropType));
game.UseProp(gameID, CopyInfo.ToPropType(request.PropType));
boolRes.ActSuccess = true;
return Task.FromResult(boolRes); return Task.FromResult(boolRes);
} }
public override Task<BoolRes> ThrowProp(PropMsg request, ServerCallContext context) public override Task<BoolRes> ThrowProp(PropMsg request, ServerCallContext context)
@@ -437,7 +438,8 @@ namespace Server
#endif #endif
BoolRes boolRes = new(); BoolRes boolRes = new();
var gameID = communicationToGameID[request.PlayerId]; var gameID = communicationToGameID[request.PlayerId];
//boolRes.ActSuccess = game.ThrowProp(gameID, CopyInfo.ToPropType(request.PropType));
game.ThrowProp(gameID, CopyInfo.ToPropType(request.PropType));
boolRes.ActSuccess = true;
return Task.FromResult(boolRes); return Task.FromResult(boolRes);
} }
public override Task<BoolRes> UseSkill(SkillMsg request, ServerCallContext context) public override Task<BoolRes> UseSkill(SkillMsg request, ServerCallContext context)
@@ -447,7 +449,7 @@ namespace Server
#endif #endif
BoolRes boolRes = new(); BoolRes boolRes = new();
var gameID = communicationToGameID[request.PlayerId]; var gameID = communicationToGameID[request.PlayerId];
//boolRes.ActSuccess = game.UseActiveSkill(gameID, CopyInfo.ToPropType(request.PropType));
boolRes.ActSuccess = game.UseActiveSkill(gameID, request.SkillId);
return Task.FromResult(boolRes); return Task.FromResult(boolRes);
} }


@@ -629,7 +631,7 @@ namespace Server


if (options.Url != DefaultArgumentOptions.Url && options.Token != DefaultArgumentOptions.Token) if (options.Url != DefaultArgumentOptions.Url && options.Token != DefaultArgumentOptions.Token)
{ {
//this.httpSender = new HttpSender(options.Url, options.Token, "PUT");
this.httpSender = new HttpSender(options.Url, options.Token, "PUT");
} }
} }
} }


Loading…
Cancel
Save