Skip to content

Commit 7fbb833

Browse files
committed
[修改]1. 修改ActorType 的定义方式
1 parent 2d7cca7 commit 7fbb833

File tree

18 files changed

+118
-124
lines changed

18 files changed

+118
-124
lines changed

GameFrameX.Apps/Account/Login/Component/LoginComponent.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
using GameFrameX.DataBase;
88
using GameFrameX.Monitor.Account;
99
using GameFrameX.Monitor.Player;
10+
using GameFrameX.Setting;
1011
using Random = GameFrameX.Utility.Random;
1112

1213
namespace GameFrameX.Apps.Account.Login.Component
1314
{
14-
[ComponentType(ActorType.Account)]
15+
[ComponentType((ushort)ActorType.Account)]
1516
public sealed class LoginComponent : StateComponent<LoginState>
1617
{
1718
public async Task<LoginState> OnLogin(ReqLogin reqLogin)
@@ -38,7 +39,7 @@ public async Task<PlayerState> OnPlayerCreate(ReqPlayerCreate reqPlayerCreate)
3839
{
3940
PlayerState playerState = new PlayerState
4041
{
41-
Id = ActorIdGenerator.GetActorId((ushort)ActorType.Player),
42+
Id = ActorIdGenerator.GetActorId(GlobalConst.ActorTypePlayer),
4243
AccountId = reqPlayerCreate.Id,
4344
Name = reqPlayerCreate.Name,
4445
Level = (uint)Random.Next(1, 50),

GameFrameX.Apps/ActorType.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using GameFrameX.Setting;
2+
3+
namespace GameFrameX.Apps;
4+
5+
/// <summary>
6+
/// 每个服存在多个实例的(如玩家和公会)需要小于Separator
7+
/// 最大id应当小于999
8+
/// Id一旦定义了不应该修改
9+
/// </summary>
10+
public enum ActorType : ushort
11+
{
12+
/// <summary>
13+
/// 空将会被判断为无效值
14+
/// </summary>
15+
None,
16+
17+
/// <summary>
18+
/// 分割线(勿调整,勿用于业务逻辑)
19+
/// </summary>
20+
Separator = GlobalConst.ActorTypeSeparator,
21+
22+
/// <summary>
23+
/// 账号
24+
/// 管理玩家账号信息,如注册、密码找回等。
25+
/// </summary>
26+
Account = 130,
27+
28+
/// <summary>
29+
/// 最大值
30+
/// </summary>
31+
Max = GlobalConst.ActorTypeMax,
32+
}

GameFrameX.Apps/Player/Player/Component/PlayerComponent.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44
using GameFrameX.Core.Abstractions.Attribute;
55
using GameFrameX.Core.Components;
66
using GameFrameX.Monitor.Player;
7+
using GameFrameX.Setting;
78

8-
namespace GameFrameX.Apps.Player.Player.Component
9+
namespace GameFrameX.Apps.Player.Player.Component;
10+
11+
[ComponentType(GlobalConst.ActorTypePlayer)]
12+
public sealed class PlayerComponent : StateComponent<PlayerState>
913
{
10-
[ComponentType(ActorType.Player)]
11-
public sealed class PlayerComponent : StateComponent<PlayerState>
14+
public async Task<PlayerState> OnPlayerLogin(ReqPlayerLogin reqLogin)
1215
{
13-
public async Task<PlayerState> OnPlayerLogin(ReqPlayerLogin reqLogin)
14-
{
15-
MetricsPlayerRegister.LoginCounterOptions.Inc();
16-
return await GameDb.FindAsync<PlayerState>(m => m.Id == reqLogin.Id);
17-
}
16+
MetricsPlayerRegister.LoginCounterOptions.Inc();
17+
return await GameDb.FindAsync<PlayerState>(m => m.Id == reqLogin.Id);
1818
}
1919
}

GameFrameX.Apps/Player/Role/Bag/Component/BagComponent.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
using GameFrameX.Core.Abstractions;
33
using GameFrameX.Core.Abstractions.Attribute;
44
using GameFrameX.Core.Components;
5+
using GameFrameX.Setting;
56

6-
namespace GameFrameX.Apps.Player.Role.Bag.Component
7+
namespace GameFrameX.Apps.Player.Role.Bag.Component;
8+
9+
[ComponentType(GlobalConst.ActorTypePlayer)]
10+
public class BagComponent : StateComponent<BagState>
711
{
8-
[ComponentType(ActorType.Player)]
9-
public class BagComponent : StateComponent<BagState>
10-
{
11-
}
1212
}

GameFrameX.Apps/Player/Role/Pet/Component/PetComponent.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
using GameFrameX.Core.Abstractions;
33
using GameFrameX.Core.Abstractions.Attribute;
44
using GameFrameX.Core.Components;
5+
using GameFrameX.Setting;
56

6-
namespace GameFrameX.Apps.Player.Role.Pet.Component
7+
namespace GameFrameX.Apps.Player.Role.Pet.Component;
8+
9+
[ComponentType(GlobalConst.ActorTypePlayer)]
10+
public class PetComponent : StateComponent<PetState>
711
{
8-
[ComponentType(ActorType.Player)]
9-
public class PetComponent : StateComponent<PetState>
10-
{
11-
}
1212
}

GameFrameX.Apps/Server/Heart/Component/HeartBeatComponent.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
using GameFrameX.Core.Abstractions;
33
using GameFrameX.Core.Abstractions.Attribute;
44
using GameFrameX.Core.Components;
5+
using GameFrameX.Setting;
56

67
namespace GameFrameX.Apps.Server.Heart.Component;
78

8-
[ComponentType(ActorType.Server)]
9+
[ComponentType(GlobalConst.ActorTypeServer)]
910
public class HeartBeatComponent : StateComponent<HeartBeatState>
1011
{
1112
}

GameFrameX.Apps/Server/Server/Component/ServerComponent.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
using GameFrameX.Core.Abstractions;
33
using GameFrameX.Core.Abstractions.Attribute;
44
using GameFrameX.Core.Components;
5+
using GameFrameX.Setting;
56

6-
namespace GameFrameX.Apps.Server.Server.Component
7+
namespace GameFrameX.Apps.Server.Server.Component;
8+
9+
[ComponentType(GlobalConst.ActorTypeServer)]
10+
public class ServerComponent : StateComponent<ServerState>
711
{
8-
[ComponentType(ActorType.Server)]
9-
public class ServerComponent : StateComponent<ServerState>
10-
{
11-
/// <summary>
12-
/// 存放在此处的数据不会回存到数据库
13-
/// </summary>
14-
public HashSet<long> OnlineSet = new();
15-
}
12+
/// <summary>
13+
/// 存放在此处的数据不会回存到数据库
14+
/// </summary>
15+
public HashSet<long> OnlineSet = new();
1616
}

GameFrameX.Core.Abstractions/ActorType.cs

Lines changed: 0 additions & 62 deletions
This file was deleted.

GameFrameX.Core.Abstractions/Attribute/ComponentTypeAttribute.cs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace GameFrameX.Core.Abstractions.Attribute;
1+
using GameFrameX.Setting;
2+
3+
namespace GameFrameX.Core.Abstractions.Attribute;
24

35
/// <summary>
46
/// 组件类型标记
@@ -11,23 +13,15 @@ public class ComponentTypeAttribute : System.Attribute
1113
/// </summary>
1214
public ushort Type { get; }
1315

14-
/// <summary>
15-
/// 组件类型
16-
/// </summary>
17-
/// <param name="type">组件类型</param>
18-
public ComponentTypeAttribute(ActorType type) : this((ushort)type)
19-
{
20-
}
21-
2216
/// <summary>
2317
/// 组件类型
2418
/// </summary>
2519
/// <param name="type">组件类型,值应大于0且小于ActorType.Max并且不为ActorType.Separator</param>
2620
public ComponentTypeAttribute(ushort type)
2721
{
28-
if (type is 0 or (ushort)ActorType.Separator || type >= (ushort)ActorType.Max)
22+
if (type is 0 or GlobalConst.ActorTypeSeparator || type >= GlobalConst.ActorTypeMax)
2923
{
30-
throw new InvalidDataException($"无效的组件类型 {type},值应大于{ActorType.None}且小于{ActorType.Max}和不为{ActorType.Separator}");
24+
throw new InvalidDataException($"无效的组件类型 {type},值应大于{GlobalConst.ActorTypeNone}且小于{GlobalConst.ActorTypeMax}和不为{GlobalConst.ActorTypeSeparator}");
3125
}
3226

3327
Type = type;

GameFrameX.Core/Actors/Actor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using GameFrameX.Core.Actors.Impl;
66
using GameFrameX.Core.Components;
77
using GameFrameX.Log;
8+
using GameFrameX.Setting;
89

910
namespace GameFrameX.Core.Actors;
1011

@@ -110,7 +111,7 @@ public Actor(long id, ushort type)
110111
Type = type;
111112
WorkerActor = new WorkerActor(id);
112113

113-
if (type < (ushort)ActorType.Separator)
114+
if (type < GlobalConst.ActorTypeSeparator)
114115
{
115116
Tell(() => SetAutoRecycle(true));
116117
}

0 commit comments

Comments
 (0)