记录类 GameFlowEo

java.lang.Object
java.lang.Record
com.iohao.game.widget.light.room.domain.GameFlowEo
所有已实现的接口:
DomainEventSource, Eo, Topic

public record GameFlowEo(FlowContext flowContext, Runnable runnable) extends Record implements Eo
GameFlowEo,可规避 GameFlowService 中的并发问题

 // 发送领域事件
 GameFlowContext context = GameFlowContext.of(room, flowContext);
 new GameFlowEo(flowContext, () -> {
     // 进入房间
     this.roomService.enterRoom(context);
 }).send();

 GameFlowContext gameFlowContext = GameFlowContext.of(room, flowContext);
 new GameFlowEo(flowContext, () -> {
     // 退出房间
     this.roomService.quitRoom(gameFlowContext);
 }).send();

 GameFlowContext context = GameFlowContext.of(room, flowContext);
 new GameFlowEo(flowContext, () -> {
     // 开始游戏
     this.roomService.startGame(context);
 }).send();

 
 
从以下版本开始:
21.8
作者:
渔民小镇
另请参阅:
日期:
2024-05-12
  • 构造器详细资料

    • GameFlowEo

      public GameFlowEo(FlowContext flowContext, Runnable runnable)
      创建 GameFlowEo 记录类的实例。
      参数:
      flowContext - flowContext 记录组件的值
      runnable - runnable 记录组件的值
  • 方法详细资料

    • execute

      public void execute()
    • toString

      public final String toString()
      返回此记录类的字符串表示形式。此表示形式包含类的名称,后跟每个记录组件的名称和值。
      指定者:
      toString 在类中 Record
      返回:
      此对象的字符串表示形式
    • hashCode

      public final int hashCode()
      返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。
      指定者:
      hashCode 在类中 Record
      返回:
      此对象的哈希代码值
    • equals

      public final boolean equals(Object o)
      指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录类中的所有组件都使用 Objects::equals(Object,Object) 进行比较。
      指定者:
      equals 在类中 Record
      参数:
      o - 要与之进行比较的对象
      返回:
      如果此对象与 o 参数相同,则为 true;否则为 false
    • flowContext

      public FlowContext flowContext()
      返回 flowContext 记录组件的值。
      返回:
      flowContext 记录组件的值
    • runnable

      public Runnable runnable()
      返回 runnable 记录组件的值。
      返回:
      runnable 记录组件的值