@@ -0,0 +1,56 @@
+using System;
+
+namespace ET.Server
+{
+ [Invoke(TimerInvokeType.HGHHMainChecker)]
+ public class HGHHMainChecker: ATimer<HGHHMainCheckerComponent>
+ {
+ protected override void Run(HGHHMainCheckerComponent self)
+ try
+ self.Check();
+ }
+ catch (Exception e)
+ Log.Error($"move timer error: {self.Id}\n{e}");
+ [ObjectSystem]
+ public class HGHHMainCheckerComponentAwakeSystem: AwakeSystem<HGHHMainCheckerComponent>
+ protected override void Awake(HGHHMainCheckerComponent self)
+ Log.Info($"创建黄冈晃晃主逻辑组件...");
+ self.RepeatedTimer = TimerComponent.Instance.NewRepeatedTimer(1000, TimerInvokeType.HGHHMainChecker, self);
+ public class HGHHMainCheckerComponentDestroySystem: DestroySystem<HGHHMainCheckerComponent>
+ protected override void Destroy(HGHHMainCheckerComponent self)
+ Log.Info($"销毁黄冈晃晃主逻辑组件...");
+ TimerComponent.Instance?.Remove(ref self.RepeatedTimer);
+ public static class HGHHMainCheckerComponentSystem
+ // 黄冈晃晃牌库
+ public static void Check(this HGHHMainCheckerComponent self)
+ Room room = self.GetParent<Room>();
+ if (room == null)
+ Log.Error($"黄冈晃晃主逻辑组件获取不到主实体...");
+ return;
+ Log.Debug($"检测: 黄冈晃晃-房间号:{room.RoomId}, 状态:{room.State}...");
+}
@@ -12,12 +12,23 @@ namespace ET.Server
{
Log.Info($"创建房间实体...");
self.RoomId = RandomGenerator.RandRoomId();
- self.Type = 2;
+ self.Type = 1;
self.OwnerId = owner.Id;
self.Players = new List<Player>();
self.CreateTime = TimeHelper.ServerNow();
// 添加房间玩家集合
self.Players.Add(owner);
+ // 添加麻将主逻辑组件
+ switch (self.Type)
+ case 1:
+ // 黄冈晃晃
+ self.AddComponent<HGHHMainCheckerComponent>();
+ break;
+ case 2:
// 添加本地房间数据
self.DomainScene().GetComponent<GameRoomComponent>().Add(self);
}
@@ -0,0 +1,8 @@
+namespace ET.Server
+ [ComponentOf(typeof(Room))]
+ public class HGHHMainCheckerComponent: Entity, IAwake, IDestroy
+ public long RepeatedTimer;
@@ -12,7 +12,7 @@ namespace ET.Server
public string RoomId { get; set; }
/** 房间玩家集合 **/
public List<Player> Players { get; set; }
- /** 房间玩法类型 1:麻将 2:斗地主 **/
+ /** 房间玩法类型 1:黄冈晃晃 **/
public int Type { get; set; }
/** 房主playerId **/
public long OwnerId { get; set; }
@@ -1,2 +1,2 @@
-" 127.0.0.1192.168.1.41"10000
+ 127.0.0.1 127.0.0.1"10000
@@ -1,3 +1,3 @@
{"list":[
-{"_t":"StartMachineConfig","_id":1,"InnerIP":"127.0.0.1","OuterIP":"192.168.1.41","WatcherPort":"10000"},
+{"_t":"StartMachineConfig","_id":1,"InnerIP":"127.0.0.1","OuterIP":"127.0.0.1","WatcherPort":"10000"},
]}
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 277d58db3067742a7b32f9994984b3bc
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
+guid: 3f452063ceb5f4150bbbfe795c0aca90
+guid: d6a9e76d47111484eb2b3002df1abe2a
+folderAsset: yes
+DefaultImporter:
+guid: 9269b7459bd72804387781db324726cc
@@ -0,0 +1,11 @@
+guid: 5dfa2d7bd0913da4ea48028fa811682f
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+guid: 572bdf2b502b5734c9db0f40bc3e4d65
+guid: 703ca317b25a131458a9ecd824a564b7
+guid: 03a6fa36b0752cc4bbbe42dab17e7771
+guid: 8b9124519ea8f014ba7a1e35854b5c2c
@@ -8,6 +8,7 @@
public const int SessionIdleChecker = 101;
public const int ActorLocationSenderChecker = 102;
public const int ActorMessageSenderChecker = 103;
+ public const int HGHHMainChecker = 104;
// 框架层100-200,逻辑层的timer type 200-300
public const int MoveTimer = 201;