这些是做这个游戏服务器端一些重要的类,当然不是全部,具体项目开发时具体添加与删除。
服务器端重要类两种类型
一:服务器独立类
1.public class ConnectPeer:ClientPeer 接受客户端信息并处理事件类
2.public class UserManager : IHibernateOperator<MyUser> 用户信息与数据库的查询,添加,跟新类
3. public abstract class BaseHandler 各种事件类的抽象类父类
各种事件类继承这个抽象类,具体实现各种事件
4.public interface IRoom 游戏房间信息接口类,包含房间内各种动态信息
5.public abstract class AutomaticMahj : IRoom 信息发送类,发送服务端处理的各种信息向客户端
6.状态机类
1)public class FSMSystem 当前状态,事件发生后状态开始处理
2)public abstract class FSMState 状态机抽象类实现状态添加 与各种状态类转换
3)public class CardPartner 玩家用户所有信息,人物信息,打牌信息的集合
各种状态类如下:
继承状态机类FSMState
public class ChuPai : FSMState
各种枚举类型用于判断处理
7.游戏类:
1) public class JuziAutoMahj : AutomaticMahj
初始游戏时状态机开启,玩家数量等规则规定,利用构造函数,本游戏洗牌
2) public class JuziCardPartner : CardPartner
本游戏特殊规则一些判断,
3) public class JuziChupai : ChuPai
本游戏得状态继承状态机的状态,本游戏在出牌是一些判断
4) public class JuziWaitHu : WaitHu
本游戏得状态继承状态机的状态,本游戏中各种和牌加分
二:客户端与服务器公用类
1.各种事件枚举类行或 如public struct OperationCode//区分请求和响应的类型
来进行传输判断
2. public class MyUser
数据库信息拾取类 赋值或比较与客户端
3. public class MahjCard
麻将牌的数字对应规则,用于服务器端各种麻将牌的判定
4. public class ReconnectData
重连时其他玩家的数据
5.public class ThisReconnectData
玩家信息和游戏所处状态
6. public class RoomInfo
传输房间信息的类 ,当查看自己创建的房间时所用的