1818 */
1919package com .iohao .game .widget .light .room ;
2020
21+ import com .iohao .game .action .skeleton .core .BarMessageKit ;
2122import com .iohao .game .action .skeleton .core .CmdInfo ;
2223import com .iohao .game .action .skeleton .core .flow .FlowContext ;
2324import com .iohao .game .action .skeleton .core .flow .FlowContextKit ;
25+ import com .iohao .game .action .skeleton .protocol .ResponseMessage ;
2426import com .iohao .game .common .kit .OperationCode ;
2527import com .iohao .game .common .kit .PresentKit ;
2628import com .iohao .game .common .kit .concurrent .TaskKit ;
@@ -667,18 +669,34 @@ default void operation(OperationHandler operationHandler, FlowContext flowContex
667669 * Broadcast data to a specific user.
668670 *
669671 * @param cmdInfo cmdInfo
670- * @param data data
671672 * @param userId userId
673+ * @param data data
672674 * @since 21.28
673675 */
674- default void broadcastToUser (CmdInfo cmdInfo , Object data , long userId ) {
676+ default void broadcastToUser (CmdInfo cmdInfo , long userId , Object data ) {
675677 if (this .isRobot (userId )) {
676678 return ;
677679 }
678680
679681 this .getAggregationContext ().broadcast (cmdInfo , data , userId );
680682 }
681683
684+ /**
685+ * Broadcast data to a specific user.
686+ *
687+ * @param cmdInfo cmdInfo
688+ * @param userId userId
689+ * @since 21.28
690+ */
691+ default void broadcastToUser (CmdInfo cmdInfo , long userId ) {
692+ if (this .isRobot (userId )) {
693+ return ;
694+ }
695+
696+ ResponseMessage responseMessage = BarMessageKit .createResponseMessage (cmdInfo );
697+ this .getAggregationContext ().broadcast (responseMessage , userId );
698+ }
699+
682700 /**
683701 * Broadcast data, excluding specified players.
684702 *
@@ -697,10 +715,16 @@ default void broadcastRange(CmdInfo cmdInfo, Object data, long excludeUserId) {
697715 return ;
698716 }
699717
700- this .ofEmptyRangeBroadcast ()
701- .addUserId (playerIdList , excludeUserId )
702- .setResponseMessage (cmdInfo , data )
703- .execute ();
718+ var rangeBroadcast = this .ofEmptyRangeBroadcast ()
719+ .addUserId (playerIdList , excludeUserId );
720+
721+ if (Objects .nonNull (data )) {
722+ rangeBroadcast .setResponseMessage (cmdInfo , data );
723+ } else {
724+ rangeBroadcast .setResponseMessage (cmdInfo );
725+ }
726+
727+ rangeBroadcast .execute ();
704728 }
705729
706730 /**
@@ -713,4 +737,25 @@ default void broadcastRange(CmdInfo cmdInfo, Object data, long excludeUserId) {
713737 default void broadcastRange (CmdInfo cmdInfo , Object data ) {
714738 broadcastRange (cmdInfo , data , 0 );
715739 }
740+
741+ /**
742+ * Broadcast, excluding specified players.
743+ *
744+ * @param cmdInfo cmdInfo
745+ * @param excludeUserId excludeUserId
746+ * @since 21.28
747+ */
748+ default void broadcastRangeEmpty (CmdInfo cmdInfo , long excludeUserId ) {
749+ broadcastRange (cmdInfo , null , excludeUserId );
750+ }
751+
752+ /**
753+ * Broadcast
754+ *
755+ * @param cmdInfo cmdInfo
756+ * @since 21.28
757+ */
758+ default void broadcastRangeEmpty (CmdInfo cmdInfo ) {
759+ broadcastRange (cmdInfo , null , 0 );
760+ }
716761}
0 commit comments