diff --git a/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs b/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs
index 3034639..458f577 100644
--- a/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs
+++ b/src/CloudGaming/Api/CloudGaming.Api/Controllers/PlayGameController.cs
@@ -69,9 +69,22 @@ public class PlayGameController : CloudGamingControllerBase
{
PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi);
return await playGameBLL.PlayGameHeartbeat(gameRequest.GameId);
-
}
+ ///
+ /// 退出游戏
+ ///
+ ///
+ ///
+ [HttpPost]
+ [Authorize]
+ public async Task> ExitPlayGame([FromBody] GameRequest gameRequest)
+ {
+ PlayGameBLL playGameBLL = new PlayGameBLL(ServiceProvider, JYApi);
+ return await playGameBLL.ExitPlayGame(gameRequest.GameId);
+ }
+
+
///
diff --git a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs
index 427a609..fc80467 100644
--- a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs
+++ b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameBLL.cs
@@ -143,7 +143,7 @@ public class PlayGameBLL : CloudGamingBase
var gameResponse1 = JsonConvert.DeserializeObject>(jyResponseData.ResponseContent);
if (gameResponse1 != null && gameResponse1.TryGetValue("data", out var xxx))
{
- response = new BaseResponse
///
///
- public async Task ExitPlayGame(string gameId)
+ public async Task> ExitPlayGame(string gameId)
{
// 检查用户是否已登录
if (_UserId == 0)
@@ -303,8 +303,15 @@ public class PlayGameBLL : CloudGamingBase
}
if (gameInfoCache.GameStatus != PlayGameStatus.游戏结束)
{
- gameInfoCache.ExitPlayGame();
+ PlayGameCommonSetting playGameQueue = new PlayGameCommonSetting()
+ {
+ ScId = gameInfoCache.ScId,
+ Sn = gameInfoCache.Sn
+ };
+ var obj = await JYApi.StopGame(playGameQueue);
+ gameInfoCache.ExitPlayGame(obj);
}
+ return new BaseResponse(ResponseCode.Success, "", true);
}
diff --git a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameExtend.cs b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameExtend.cs
index d2d2d9b..b16e0e9 100644
--- a/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameExtend.cs
+++ b/src/CloudGaming/Code/CloudGaming.Code/Game/PlayGameExtend.cs
@@ -98,12 +98,17 @@ namespace CloudGaming.Code.Game
///
///
///
- public static bool ExitPlayGame(this PlayGameUserInfo playGameUserInfo)
+ public static bool ExitPlayGame(this PlayGameUserInfo playGameUserInfo, IJYApiRespnse jYApiRespnse)
{
if (playGameUserInfo.GameStatus != PlayGameStatus.游戏结束)
{
playGameUserInfo.GameStatus = PlayGameStatus.游戏结束;
+ playGameUserInfo.GameUserOperation.Add(new PlayGameUserOperation()
+ {
+ OperationDateTime = DateTime.Now,
+ Content = "游戏结束"
+ });
playGameUserInfo.LastDateTime = DateTime.Now;
}
return true;