gameServer/CoreTypes.hs
changeset 1833 e901ec5644b4
parent 1832 1fb61a53a2c2
child 1839 5dd4cb7fd7e5
equal deleted inserted replaced
1832:1fb61a53a2c2 1833:e901ec5644b4
     7 import qualified Data.Map as Map
     7 import qualified Data.Map as Map
     8 import qualified Data.IntMap as IntMap
     8 import qualified Data.IntMap as IntMap
     9 import qualified Data.IntSet as IntSet
     9 import qualified Data.IntSet as IntSet
    10 import Data.Sequence(Seq, empty)
    10 import Data.Sequence(Seq, empty)
    11 import Network
    11 import Network
       
    12 
    12 
    13 
    13 data ClientInfo =
    14 data ClientInfo =
    14  ClientInfo
    15  ClientInfo
    15 	{
    16 	{
    16 		clientUID :: Int,
    17 		clientUID :: Int,
   102 	{
   103 	{
   103 		playersNumber :: Int,
   104 		playersNumber :: Int,
   104 		roomsNumber :: Int
   105 		roomsNumber :: Int
   105 	}
   106 	}
   106 
   107 
   107 data DBQuery =
       
   108 	HasRegistered String
       
   109 	| CheckPassword String
       
   110 
       
   111 data ServerInfo =
   108 data ServerInfo =
   112 	ServerInfo
   109 	ServerInfo
   113 	{
   110 	{
   114 		isDedicated :: Bool,
   111 		isDedicated :: Bool,
   115 		serverMessage :: String,
   112 		serverMessage :: String,
   117 		loginsNumber :: Int,
   114 		loginsNumber :: Int,
   118 		nextRoomID :: Int,
   115 		nextRoomID :: Int,
   119 		dbHost :: String,
   116 		dbHost :: String,
   120 		dbLogin :: String,
   117 		dbLogin :: String,
   121 		dbPassword :: String,
   118 		dbPassword :: String,
   122 		stats :: TMVar StatisticsInfo
   119 		stats :: TMVar StatisticsInfo,
   123 		--dbQueries :: TChan DBQuery
   120 		dbQueries :: Chan DBQuery
   124 	}
   121 	}
   125 
   122 
   126 instance Show ServerInfo where
   123 instance Show ServerInfo where
   127 	show si = "Logins: " ++ (show $ loginsNumber si)
   124 	show si = "Logins: " ++ (show $ loginsNumber si)
   128 
   125 
   142 	Accept ClientInfo
   139 	Accept ClientInfo
   143 	| ClientMessage (Int, [String])
   140 	| ClientMessage (Int, [String])
   144 	-- | CoreMessage String
   141 	-- | CoreMessage String
   145 	-- | TimerTick
   142 	-- | TimerTick
   146 
   143 
       
   144 data DBQuery =
       
   145 	HasRegistered String
       
   146 	| CheckPassword String
       
   147 
   147 
   148 
   148 type Clients = IntMap.IntMap ClientInfo
   149 type Clients = IntMap.IntMap ClientInfo
   149 type Rooms = IntMap.IntMap RoomInfo
   150 type Rooms = IntMap.IntMap RoomInfo
   150 
   151 
   151 --type ClientsTransform = [ClientInfo] -> [ClientInfo]
   152 --type ClientsTransform = [ClientInfo] -> [ClientInfo]