Login后,发,从DB中得到该用户的各个游戏的已有分数列表。注意,DB中UserScore表,应该只包括Score<>0的记录,就是说,至少进行过一次游戏。
游戏结束,更新DB中UserScore表的Score字段,如果之前没有记录,则添加一笔新的。平局不会更新该表。(这是一个SP,名称Pr_UpdateScore。)
游戏结束,会同时更新Server的clientTable中该桌用户的Score记录
游戏结束,Server会发送新的分数给该游戏的各大厅用户。
Login结束,会response这个用户各个游戏的已有分数列表给该Client,将其存储在List<GameScore>中,有GameId和Score两个字段。
之后,
JoinHall从Client取出该大厅对应游戏的Score,加入clientTable中。这一步至关重要。
LeaveHall从clientTable中移除这个大厅的记录UserHallInfo。
游戏结束,会同时更新该Client的List<GameScore>。
*有时SingleOrDefault方法要比Single好用