缓存模块
This commit is contained in:
16
Hotfix/Game/Cache/Handler/CacheHandler.cs
Normal file
16
Hotfix/Game/Cache/Handler/CacheHandler.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Fantasy;
|
||||
|
||||
namespace NB.Game;
|
||||
|
||||
public static class CacheHandler
|
||||
{
|
||||
public static List<RoleSimpleInfo> GetPlayerBasicCacheInfos(List<long> id)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static RoleSimpleInfo GetPlayerBasicCacheInfos(long id)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -59,11 +59,11 @@ public static class PlayerManageComponentSystem
|
||||
account = PlayerFactory.Create(scene, accountId);
|
||||
|
||||
|
||||
account.Basic.Level = 99;
|
||||
account.Basic.NickName = "王麻子";
|
||||
account.Basic.Country = "cn";
|
||||
account.Basic.Exp = 999;
|
||||
account.Basic.Head = "xxx.png";
|
||||
account.Level = 99;
|
||||
account.NickName = "王麻子";
|
||||
account.Country = "cn";
|
||||
account.Exp = 999;
|
||||
account.Head = "xxx.png";
|
||||
|
||||
// for (int i = 0; i < 500; i++)
|
||||
// {
|
||||
|
||||
@@ -12,8 +12,13 @@ public sealed class PlayerDestroySystem : DestroySystem<Player>
|
||||
{
|
||||
protected override void Destroy(Player self)
|
||||
{
|
||||
self.Basic.Dispose();
|
||||
self.Basic = null;
|
||||
self.NickName = string.Empty;
|
||||
self.Level = 0;
|
||||
self.Exp = 0;
|
||||
self.Country = string.Empty;
|
||||
self.IsVip = false;
|
||||
self.Head = string.Empty;
|
||||
|
||||
self.ItemContainer.Dispose();
|
||||
self.ItemContainer = null;
|
||||
self.FishContainer.Dispose();
|
||||
|
||||
@@ -12,11 +12,6 @@ public static class PlayerHelper
|
||||
|
||||
public static void InitializeChildEntity(this Player self)
|
||||
{
|
||||
if (self.Basic == null)
|
||||
{
|
||||
self.Basic = Entity.Create<PlayerBasic>(self.Scene, true, true);
|
||||
}
|
||||
|
||||
if (self.ItemContainer == null)
|
||||
{
|
||||
self.ItemContainer = Entity.Create<ItemContainer>(self.Scene, true, true);
|
||||
@@ -54,7 +49,7 @@ public static class PlayerHelper
|
||||
public static async FTask Save(this Player self)
|
||||
{
|
||||
self.NeedSave = true;
|
||||
self.NeedSaveTime = TimeHelper.Now + PlayerManageComponent.AutoSaveTime;
|
||||
self.NeedSaveTime = TimeHelper.Now + AppConfig.PlayerDataAutoSaveTime;
|
||||
//先立马保存,后续做缓存
|
||||
await self.Scene.World.DataBase.Save(self);
|
||||
}
|
||||
@@ -171,10 +166,11 @@ public static class PlayerHelper
|
||||
return new RoleSimpleInfo()
|
||||
{
|
||||
RoleId = self.Id,
|
||||
NickName = self.Basic.NickName,
|
||||
Head = self.Basic.Head,
|
||||
Country = self.Basic.Country,
|
||||
Level = self.Basic.Level
|
||||
NickName = self.NickName,
|
||||
Head = self.Head,
|
||||
Country = self.Country,
|
||||
Level = self.Level,
|
||||
Vip = self.IsVip,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -187,14 +183,22 @@ public static class PlayerHelper
|
||||
|
||||
public static RoleBaseInfo GetRoleBaseInfo(this Player self)
|
||||
{
|
||||
return new RoleBaseInfo()
|
||||
var ret = new RoleBaseInfo()
|
||||
{
|
||||
NickName = self.Basic.NickName,
|
||||
Head = self.Basic.Head,
|
||||
Country = self.Basic.Country,
|
||||
Level = self.Basic.Level,
|
||||
Exp = self.Basic.Exp,
|
||||
NickName = self.NickName,
|
||||
Head = self.Head,
|
||||
Country = self.Country,
|
||||
Level = self.Level,
|
||||
Exp = self.Exp,
|
||||
};
|
||||
if (self.IsVip)
|
||||
{
|
||||
ret.VipInfo = new VipInfo();
|
||||
ret.VipInfo.OpenTime = self.Vip.GetTime;
|
||||
ret.VipInfo.ExpirationTime = self.Vip.ExpirationTime;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -4,6 +4,7 @@ using Fantasy.Entitas;
|
||||
using Fantasy.Event;
|
||||
using Fantasy.Helper;
|
||||
using Fantasy.Serialize;
|
||||
using NB.Game;
|
||||
using ProtoBuf;
|
||||
|
||||
namespace NB;
|
||||
@@ -28,7 +29,6 @@ public sealed class OnCreateSceneEvent : AsyncEventSystem<OnCreateScene>
|
||||
/// <returns>A task representing the asynchronous operation.</returns>
|
||||
protected override async FTask Handler(OnCreateScene self)
|
||||
{
|
||||
|
||||
// var epoch1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks / 10000;
|
||||
//
|
||||
// {
|
||||
@@ -44,16 +44,16 @@ public sealed class OnCreateSceneEvent : AsyncEventSystem<OnCreateScene>
|
||||
// var time = (uint)((now - epochThisYear) / 1000);
|
||||
// Log.Debug($"time = {time} now = {now} epochThisYear = {epochThisYear}");
|
||||
// }
|
||||
|
||||
|
||||
var scene = self.Scene;
|
||||
|
||||
|
||||
switch (scene.SceneType)
|
||||
{
|
||||
case 6666:
|
||||
{
|
||||
var subSceneTestComponent = scene.AddComponent<SubSceneTestComponent>();
|
||||
Log.Debug("增加了SubSceneTestComponent");
|
||||
scene.EntityComponent.CustomSystem(subSceneTestComponent,CustomSystemType.RunSystem);
|
||||
scene.EntityComponent.CustomSystem(subSceneTestComponent, CustomSystemType.RunSystem);
|
||||
break;
|
||||
}
|
||||
case SceneType.Addressable:
|
||||
@@ -71,6 +71,23 @@ public sealed class OnCreateSceneEvent : AsyncEventSystem<OnCreateScene>
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SceneType.Game:
|
||||
{
|
||||
// for (int i = 0; i < 100; i++)
|
||||
// {
|
||||
// var accountId = scene.EntityIdFactory.Create;
|
||||
// var account = PlayerFactory.Create(scene, accountId);
|
||||
//
|
||||
// account.Level = 99;
|
||||
// account.NickName = $"测试号{i + 1}";
|
||||
// account.Country = "cn";
|
||||
// account.Exp = 999;
|
||||
// account.Head = "xxx.png";
|
||||
// await account.Save();
|
||||
// }
|
||||
//
|
||||
break;
|
||||
}
|
||||
case SceneType.Gate:
|
||||
{
|
||||
// var tasks = new List<FTask>(2000);
|
||||
@@ -92,7 +109,7 @@ public sealed class OnCreateSceneEvent : AsyncEventSystem<OnCreateScene>
|
||||
// }
|
||||
// await FTask.WaitAll(tasks);
|
||||
// }
|
||||
|
||||
|
||||
// 执行自定义系统
|
||||
var testCustomSystemComponent = scene.AddComponent<TestCustomSystemComponent>();
|
||||
scene.EntityComponent.CustomSystem(testCustomSystemComponent, CustomSystemType.RunSystem);
|
||||
|
||||
Reference in New Issue
Block a user