Skip to content

Commit dcd1628

Browse files
committed
[修改]1. 修改主版本的修改适配
1 parent 4d78c4d commit dcd1628

File tree

15 files changed

+623
-637
lines changed

15 files changed

+623
-637
lines changed
Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,14 @@
1-
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2-
//
3-
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4-
//
5-
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6-
7-
using GameFrameX.Apps.Player.Bag.Entity;
8-
9-
namespace GameFrameX.Apps.Player.Bag.Component;
10-
11-
[ComponentType(GlobalConst.ActorTypePlayer)]
12-
public sealed class BagComponent : StateComponent<BagState>
13-
{
14-
/// <summary>
15-
/// 修改背包状态
16-
/// </summary>
17-
/// <returns></returns>
18-
/// <exception cref="NotImplementedException"></exception>
19-
public async Task<BagState> Save()
20-
{
21-
await WriteStateAsync();
22-
return State;
23-
}
1+
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2+
//
3+
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4+
//
5+
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6+
7+
using GameFrameX.Apps.Player.Bag.Entity;
8+
9+
namespace GameFrameX.Apps.Player.Bag.Component;
10+
11+
[ComponentType(GlobalConst.ActorTypePlayer)]
12+
public sealed class BagComponent : StateComponent<BagState>
13+
{
2414
}
Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2-
//
3-
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4-
//
5-
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6-
7-
using GameFrameX.Apps.Player.Player.Entity;
8-
using GameFrameX.Monitor.Player;
9-
10-
namespace GameFrameX.Apps.Player.Player.Component;
11-
12-
[ComponentType(GlobalConst.ActorTypePlayer)]
13-
public sealed class PlayerComponent : StateComponent<PlayerState>
14-
{
15-
public async Task<PlayerState> OnPlayerLogin(ReqPlayerLogin reqLogin)
16-
{
17-
MetricsPlayerRegister.LoginCounterOptions.Inc();
18-
return await GameDb.FindAsync<PlayerState>(m => m.Id == reqLogin.Id);
19-
}
1+
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2+
//
3+
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4+
//
5+
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6+
7+
using GameFrameX.Apps.Player.Player.Entity;
8+
using GameFrameX.Monitor.Player;
9+
10+
namespace GameFrameX.Apps.Player.Player.Component;
11+
12+
[ComponentType(GlobalConst.ActorTypePlayer)]
13+
public sealed class PlayerComponent : StateComponent<PlayerState>
14+
{
15+
public async Task<PlayerState> OnPlayerLogin(ReqPlayerLogin reqLogin)
16+
{
17+
// MetricsPlayerRegister.LoginCounterOptions.Inc();
18+
return await GameDb.FindAsync<PlayerState>(m => m.Id == reqLogin.Id);
19+
}
2020
}

GameFrameX.Hotfix/Common/Events/EventDispatcherExtensions.cs

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
using GameFrameX.Apps.Common.Event;
22
using GameFrameX.Core.Abstractions.Agent;
33
using GameFrameX.Core.Abstractions.Events;
4-
using GameFrameX.Hotfix.Logic.Server.Server;
5-
using GameFrameX.Utility.Extensions;
6-
using GameFrameX.Foundation.Logger;
7-
using GameFrameX.Utility.Setting;
4+
using GameFrameX.Hotfix.Logic.Server;
85

96
namespace GameFrameX.Hotfix.Common.Events;
107

118
public static class EventDispatcherExtensions
129
{
13-
public static void Dispatch(this IComponentAgent agent, int evtId, Param args = null)
10+
/// <summary>
11+
/// 分发事件
12+
/// </summary>
13+
/// <param name="agent">代理对象</param>
14+
/// <param name="eventId">事件ID</param>
15+
/// <param name="gameEventArgs">事件参数,可以为null</param>
16+
public static void Dispatch(this IComponentAgent agent, int eventId, GameEventArgs gameEventArgs = null)
1417
{
15-
var evt = new Event
16-
{
17-
EventId = evtId,
18-
Data = args,
19-
};
20-
2118
// 自己处理
22-
SelfHandle(agent, evtId, evt);
19+
SelfHandle(agent, eventId, gameEventArgs);
2320

24-
if ((EventId)evtId > EventId.RoleSeparator && agent.OwnerType > GlobalConst.ActorTypeSeparator)
21+
if ((EventId)eventId > EventId.RoleSeparator && agent.OwnerType > GlobalConst.ActorTypeSeparator)
2522
{
2623
// 全局非玩家事件,抛给所有玩家
2724
agent.Tell(()
@@ -30,13 +27,13 @@ public static void Dispatch(this IComponentAgent agent, int evtId, Param args =
3027
return ServerComponentAgent.OnlineRoleForeach(role
3128
=>
3229
{
33-
role.Dispatch(evtId, args);
30+
role.Dispatch(eventId, gameEventArgs);
3431
});
3532
});
3633
}
3734
}
3835

39-
private static void SelfHandle(IComponentAgent agent, int evtId, Event evt)
36+
private static void SelfHandle(IComponentAgent agent, int evtId, GameEventArgs evt)
4037
{
4138
agent.Tell(async () =>
4239
{
@@ -63,8 +60,14 @@ private static void SelfHandle(IComponentAgent agent, int evtId, Event evt)
6360
});
6461
}
6562

66-
public static void Dispatch(this IComponentAgent agent, EventId evtId, Param args = null)
63+
/// <summary>
64+
/// 分发事件
65+
/// </summary>
66+
/// <param name="agent">代理对象</param>
67+
/// <param name="eventId">事件ID</param>
68+
/// <param name="args">事件参数</param>
69+
public static void Dispatch(this IComponentAgent agent, EventId eventId, GameEventArgs args = null)
6770
{
68-
Dispatch(agent, (int)evtId, args);
71+
Dispatch(agent, (int)eventId, args);
6972
}
7073
}

GameFrameX.Hotfix/GameFrameX.Hotfix.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</ItemGroup>
2828

2929
<ItemGroup>
30-
<PackageReference Include="GameFrameX.Core" Version="1.5.0-dev1" />
30+
<PackageReference Include="GameFrameX.Core" Version="1.5.1-dev25" />
3131
<PackageReference Include="GameFrameX.SuperSocket.ClientEngine" Version="1.1.2" />
3232
</ItemGroup>
3333

GameFrameX.Hotfix/Logic/Http/Player/ReqLoginHttpHandler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public override async Task<MessageObject> Action(string ip, string url, Dictiona
2828
return null;
2929
}
3030

31-
MetricsAccountRegister.LoginCounterOptions.Inc();
31+
// MetricsAccountRegister.LoginCounterOptions.Inc();
3232
var loginState = await OnLogin(reqLogin);
3333

3434
if (loginState == null)
@@ -48,13 +48,13 @@ public override async Task<MessageObject> Action(string ip, string url, Dictiona
4848

4949
public async Task<LoginState> OnLogin(ReqLogin reqLogin)
5050
{
51-
MetricsAccountRegister.LoginCounterOptions.Inc();
51+
// MetricsAccountRegister.LoginCounterOptions.Inc();
5252
return await GameDb.FindAsync<LoginState>(m => m.UserName == reqLogin.UserName && m.Password == reqLogin.Password, false);
5353
}
5454

5555
public async Task<LoginState> Register(long accountId, ReqLogin reqLogin)
5656
{
57-
MetricsAccountRegister.RegisterCounterOptions.Inc();
57+
// MetricsAccountRegister.RegisterCounterOptions.Inc();
5858
var loginState = new LoginState { Id = accountId, UserName = reqLogin.UserName, Password = reqLogin.Password, };
5959
await GameDb.AddOrUpdateAsync(loginState);
6060
return loginState;

GameFrameX.Hotfix/Logic/Http/Player/ReqPlayerCreateHttpHandler.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ private async Task<PlayerState> OnPlayerCreate(ReqPlayerCreate reqPlayerCreate)
4545
Id = ActorIdGenerator.GetActorId(GlobalConst.ActorTypePlayer),
4646
AccountId = reqPlayerCreate.Id,
4747
Name = reqPlayerCreate.Name,
48-
Level = (uint)Utility.Random.Next(1, 50),
48+
Level = (uint)RandomHelper.Next(1, 50),
4949
State = 0,
50-
Avatar = (uint)Utility.Random.Next(1, 50),
50+
Avatar = (uint)RandomHelper.Next(1, 50),
5151
};
52-
MetricsPlayerRegister.CreateCounterOptions.Inc();
52+
// MetricsPlayerRegister.CreateCounterOptions.Inc();
5353
await GameDb.AddOrUpdateAsync(playerState);
5454
return playerState;
5555
}
Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,61 @@
1-
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2-
//
3-
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4-
//
5-
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6-
7-
using GameFrameX.Apps.Player.Player.Entity;
8-
using GameFrameX.DataBase;
9-
using GameFrameX.Monitor.Player;
10-
using GameFrameX.NetWork.Messages;
11-
12-
namespace GameFrameX.Hotfix.Logic.Http.Player;
13-
14-
/// <summary>
15-
/// 获取角色列表
16-
/// </summary>
17-
[HttpMessageMapping(typeof(ReqPlayerListHttpHandler))]
18-
[Description("获取角色列表,仅限前端调用")]
19-
public sealed class ReqPlayerListHttpHandler : BaseHttpHandler
20-
{
21-
public override async Task<MessageObject> Action(string ip, string url, Dictionary<string, object> paramMap, MessageObject messageObject)
22-
{
23-
var request = (ReqPlayerList)messageObject;
24-
25-
var respPlayerList = new RespPlayerList
26-
{
27-
UniqueId = request.UniqueId,
28-
PlayerList = new List<PlayerInfo>(),
29-
};
30-
if (request.Id == default)
31-
{
32-
return respPlayerList;
33-
}
34-
35-
var playerList = await GetPlayerList(request);
36-
37-
if (playerList != null)
38-
{
39-
foreach (var playerState in playerList)
40-
{
41-
var playerInfo = new PlayerInfo
42-
{
43-
Id = playerState.Id,
44-
Name = playerState.Name,
45-
Level = playerState.Level,
46-
State = playerState.State,
47-
Avatar = playerState.Avatar,
48-
};
49-
respPlayerList.PlayerList.Add(playerInfo);
50-
}
51-
}
52-
53-
return respPlayerList;
54-
}
55-
56-
private async Task<List<PlayerState>> GetPlayerList(ReqPlayerList reqPlayerList)
57-
{
58-
MetricsPlayerRegister.GetPlayerListCounterOptions.Inc();
59-
return await GameDb.FindListAsync<PlayerState>(m => m.AccountId == reqPlayerList.Id);
60-
}
1+
// GameFrameX 组织下的以及组织衍生的项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
2+
//
3+
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE 文件。
4+
//
5+
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
6+
7+
using GameFrameX.Apps.Player.Player.Entity;
8+
using GameFrameX.DataBase;
9+
using GameFrameX.Monitor.Player;
10+
using GameFrameX.NetWork.Messages;
11+
12+
namespace GameFrameX.Hotfix.Logic.Http.Player;
13+
14+
/// <summary>
15+
/// 获取角色列表
16+
/// </summary>
17+
[HttpMessageMapping(typeof(ReqPlayerListHttpHandler))]
18+
[Description("获取角色列表,仅限前端调用")]
19+
public sealed class ReqPlayerListHttpHandler : BaseHttpHandler
20+
{
21+
public override async Task<MessageObject> Action(string ip, string url, Dictionary<string, object> paramMap, MessageObject messageObject)
22+
{
23+
var request = (ReqPlayerList)messageObject;
24+
25+
var respPlayerList = new RespPlayerList
26+
{
27+
UniqueId = request.UniqueId,
28+
PlayerList = new List<PlayerInfo>(),
29+
};
30+
if (request.Id == default)
31+
{
32+
return respPlayerList;
33+
}
34+
35+
var playerList = await GetPlayerList(request);
36+
37+
if (playerList != null)
38+
{
39+
foreach (var playerState in playerList)
40+
{
41+
var playerInfo = new PlayerInfo
42+
{
43+
Id = playerState.Id,
44+
Name = playerState.Name,
45+
Level = playerState.Level,
46+
State = playerState.State,
47+
Avatar = playerState.Avatar,
48+
};
49+
respPlayerList.PlayerList.Add(playerInfo);
50+
}
51+
}
52+
53+
return respPlayerList;
54+
}
55+
56+
private async Task<List<PlayerState>> GetPlayerList(ReqPlayerList reqPlayerList)
57+
{
58+
// MetricsPlayerRegister.GetPlayerListCounterOptions.Inc();
59+
return await GameDb.FindListAsync<PlayerState>(m => m.AccountId == reqPlayerList.Id);
60+
}
6161
}

0 commit comments

Comments
 (0)