using Fantasy; using Fantasy.Async; using Fantasy.Entitas; using Fantasy.Event; using Fantasy.Helper; using Fantasy.Serialize; using ProtoBuf; namespace NB; public sealed class SubSceneTestComponent : Entity { public override void Dispose() { Log.Debug("销毁SubScene下的SubSceneTestComponent"); base.Dispose(); } } public sealed class OnCreateSceneEvent : AsyncEventSystem { private static long _addressableSceneRunTimeId; /// /// Handles the OnCreateScene event. /// /// The OnCreateScene object. /// A task representing the asynchronous operation. protected override async FTask Handler(OnCreateScene self) { // var epoch1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks / 10000; // // { // var now = TimeHelper.Transition(new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc)); // var epochThisYear = new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks / 10000 - epoch1970; // var time = (uint)((now - epochThisYear) / 1000); // Log.Debug($"time = {time} now = {now} epochThisYear = {epochThisYear}"); // } // // { // var now = TimeHelper.Transition(new DateTime(2025, 1, 1, 0, 0, 0, DateTimeKind.Utc)); // var epochThisYear = new DateTime(2024, 1, 1, 0, 0, 0, DateTimeKind.Utc).Ticks / 10000 - epoch1970; // 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(); Log.Debug("增加了SubSceneTestComponent"); scene.EntityComponent.CustomSystem(subSceneTestComponent,CustomSystemType.RunSystem); break; } case SceneType.Addressable: { // scene.AddComponent(); _addressableSceneRunTimeId = scene.RuntimeId; break; } case SceneType.Map: { Log.Debug($"Map Scene SceneRuntimeId:{scene.RuntimeId}"); break; } case SceneType.Social: { break; } case SceneType.Gate: { // var tasks = new List(2000); // var session = scene.GetSession(_addressableSceneRunTimeId); // var sceneNetworkMessagingComponent = scene.NetworkMessagingComponent; // var g2ATestRequest = new G2A_TestRequest(); // // async FTask Call() // { // await sceneNetworkMessagingComponent.CallInnerRouteBySession(session,_addressableSceneRunTimeId,g2ATestRequest); // } // // for (int i = 0; i < 100000000000; i++) // { // tasks.Clear(); // for (int j = 0; j < tasks.Capacity; ++j) // { // tasks.Add(Call()); // } // await FTask.WaitAll(tasks); // } // 执行自定义系统 var testCustomSystemComponent = scene.AddComponent(); scene.EntityComponent.CustomSystem(testCustomSystemComponent, CustomSystemType.RunSystem); // // 测试配置表 // var instanceList = UnitConfigData.Instance.List; // var unitConfig = instanceList[0]; // Log.Debug(instanceList[0].Dic[1]); break; } } await FTask.CompletedTask; } }