gameServer/HandlerUtils.hs
changeset 15878 fc3cb23fd26f
parent 11046 47a8c19ecb60
child 15983 2c92499daa67
--- a/gameServer/HandlerUtils.hs	Fri Sep 23 12:47:47 2022 -0400
+++ b/gameServer/HandlerUtils.hs	Tue Sep 27 14:59:03 2022 +0300
@@ -21,6 +21,7 @@
 import Control.Monad.Reader
 import qualified Data.ByteString.Char8 as B
 import Data.List
+import Data.Word
 
 import RoomsAndClients
 import CoreTypes
@@ -74,6 +75,11 @@
     let p = clientProto (rnc `client` ci)
     return . map sendChan . filter (\c -> clientProto c == p) . map (client rnc) $ allClients rnc
 
+allChansProto :: Reader (ClientIndex, IRnC) [(ClientChan, Word16)]
+allChansProto = do
+    (ci, rnc) <- ask
+    return . map ((\c -> (sendChan c, clientProto c)) . client rnc) $ allClients rnc
+
 answerClient :: [B.ByteString] -> Reader (ClientIndex, IRnC) [Action]
 answerClient msg = liftM ((: []) . flip AnswerClients msg) thisClientChans