Skip to content

Commit d01d2c4

Browse files
authored
Merge pull request #56 from AbaAba0205/dev
I modify RpcServices.cs, adding product producing api "Produce" and A…
2 parents 97fd7c8 + 8e60280 commit d01d2c4

5 files changed

Lines changed: 24 additions & 45 deletions

File tree

dependency/proto/Services.proto

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
syntax = "proto3";
1+
syntax = "proto3";
22
package protobuf;
33

44
import "Message2Clients.proto";
@@ -25,8 +25,8 @@ service AvailableService
2525
rpc Trade(TradeMsg) returns (BoolRes); // 出售产品
2626

2727
// 游戏过程中核心角色(工厂)可以执行操作的服务
28-
rpc CreatCharacter(CreateCharacterMsg) returns (BoolRes); // 创建角色
29-
rpc CreatCharacterRID(CreateCharacterMsg) returns (CreatCharacterRes); // 获取角色编号
28+
rpc CreateCharacter(CreateCharacterMsg) returns (BoolRes); // 创建角色
29+
rpc CreateCharacterRID(CreateCharacterMsg) returns (CreatCharacterRes); // 获取角色编号
3030
rpc Produce(ProduceGoodsMsg) returns (BoolRes); // 生产产品
3131
//rpc Repair(RepairFactoryMsg) returns (BoolRes); // 修理工厂
3232
rpc EndAllAction(IDMsg) returns (BoolRes); // 结束所有动作

logic/ClientTest/program.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Grpc.Core;
1+
using Grpc.Core;
22
using Protobuf;
33

44
namespace ClientTest
@@ -44,7 +44,7 @@ public static Task Main(string[] args)
4444
PlayerId = 1,
4545
};
4646

47-
var createRes = client.CreatCharacter(createMsg); // 当前可用接口
47+
var createRes = client.CreateCharacter(createMsg); // 当前可用接口
4848
if (!createRes.ActSuccess)
4949
{
5050
Console.WriteLine("CreateCharacter failed.");

logic/Server/114514

Whitespace-only changes.

logic/Server/RpcServices.cs

Lines changed: 19 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using GameClass.GameObj;
1+
using GameClass.GameObj;
22
using Gaming;
33
using Grpc.Core;
44
using Microsoft.Extensions.Logging;
@@ -412,7 +412,7 @@ public override Task<BoolRes> Trade(TradeMsg request, ServerCallContext context)
412412

413413
#region 核心角色操作
414414

415-
public override Task<BoolRes> CreatCharacter(CreateCharacterMsg request, ServerCallContext context)
415+
public override Task<BoolRes> CreateCharacter(CreateCharacterMsg request, ServerCallContext context)
416416
{
417417
GameServerLogging.logger.LogDebug($"TRY CreatCharacter: CharacterType {request.CharacterType} from Team {request.TeamId}");
418418
BoolRes boolRes = new()
@@ -424,41 +424,25 @@ public override Task<BoolRes> CreatCharacter(CreateCharacterMsg request, ServerC
424424
Transformation.CharacterTypeFromProto(request.CharacterType))
425425
};
426426
// if (boolRes.ActSuccess) teamMoneyPool.SubMoney(activateCost);
427-
GameServerLogging.logger.LogDebug($"END CreatCharacter:{boolRes.ActSuccess}");
427+
GameServerLogging.logger.LogDebug($"END CreateCharacter:{boolRes.ActSuccess}");
428428
return Task.FromResult(boolRes);
429429
}
430430

431-
// 暂时废弃CreatCharacterRID,因为playerId由玩家自行指定
432-
// public override Task<CreatCharacterRes> CreatCharacterRID(CreateCharacterMsg request, ServerCallContext context)
433-
// {
434-
// // GameServerLogging.logger.LogDebug($"TRY CreatCharacterRID: CharacterType {request.CharacterType} from Team {request.TeamId}");
435-
// // // var activateCost = Transformation.CharacterTypeFromProto(request.CharacterType) switch
436-
// // // {
437-
// // // Utility.CharacterType.DRONE => GameData.DroneCost,
438-
// // // Utility.CharacterType.ROBOT => GameData.RobotCost,
439-
// // // Utility.CharacterType.AUTONOMOUS_CAR => GameData.AutonomouCarCost,
440-
441-
// // // _ => int.MaxValue
442-
// // // };
443-
// // // var teamMoneyPool = game.TeamList[(int)request.TeamId].MoneyPool;
444-
// // // if (activateCost > teamMoneyPool.Money)
445-
// // // {
446-
// // // return Task.FromResult(new CreatCharacterRes { ActSuccess = false });
447-
// // // }
448-
// // var playerId = game.RecruitCharacterAtFactory(
449-
// // request.TeamId,
450-
// // request.PlayerId,
451-
// // Transformation.CharacterTypeFromProto(request.CharacterType));
452-
453-
// // CreatCharacterRes creatCharacterRes = new()
454-
// // {
455-
// // ActSuccess = false,
456-
// // PlayerId = playerId
457-
// // };
458-
// // if (creatCharacterRes.ActSuccess) teamMoneyPool.SubMoney(activateCost);
459-
// // GameServerLogging.logger.LogDebug("END CreatCharacterRID");
460-
// return Task.FromResult(creatCharacterRes);
461-
// }
431+
public override Task<BoolRes> Produce(ProduceGoodsMsg request, ServerCallContext context)
432+
{
433+
GameServerLogging.logger.LogDebug($"TRY Produce Goods: Team {request.TeamId} want to " +
434+
$"produce Type {request.ProductType}, with produce {request.MaxProduceNum} at most");
435+
BoolRes boolRes = new()
436+
{
437+
ActSuccess =
438+
game.Produce(
439+
request.TeamId,
440+
Transformation.GoodsTypeFromProto(request.ProductType),
441+
request.MaxProduceNum)
442+
};
443+
GameServerLogging.logger.LogDebug($"END Produce Goods: {boolRes.ActSuccess}");
444+
return Task.FromResult(boolRes);
445+
}
462446

463447
public override Task<BoolRes> EndAllAction(IDMsg request, ServerCallContext context)
464448
{
@@ -472,19 +456,14 @@ public override Task<BoolRes> EndAllAction(IDMsg request, ServerCallContext cont
472456

473457
#endregion
474458

475-
#region AI 服务
476-
477459
public override Task<StrategicAIResponse> AskAI(StrategicAIRequest request, ServerCallContext context)
478460
{
479-
GameServerLogging.logger.LogDebug($"TRY AskAI: Team {request.TeamId}");
461+
GameServerLogging.logger.LogDebug($"TRY AskAI: Team {request.TeamId} at {request.CurrentGameTime}");
480462
StrategicAIResponse response = new();
481463
// 待实现
482-
Boolean boolRes = new();
483464
// boolRes.ActSuccess = game.AskAI(request.TeamId, request.GameState, request.AIAction);
484465
GameServerLogging.logger.LogDebug("END AskAI");
485466
return Task.FromResult(response);
486467
}
487-
488-
#endregion
489468
}
490469
}
229 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)