Example #1
0
        public ClientFacade(string playerName, string roomName = "default")
        {
            this.PlayerName = playerName;
            this.RoomName = roomName;

            // Initialize follows
            // io
            serverHolder = new TCPServerHolder();
            serverHolder.OnGetMessageFromServer += MessageFromServerHandler;

            // logger
            // router
            clientRouter = new ClientRouter();

            clientRouter.OnAgari += OnHora;
            clientRouter.OnAnkan += OnAnkan;
            clientRouter.OnChi += OnChi;
            clientRouter.OnDaiminkan += OnDaiminkan;
            clientRouter.OnDropPai += OnDahai;
            clientRouter.OnEndGame += OnEndGame;
            clientRouter.OnEndKyoku += OnEndKyoku;
            clientRouter.OnGetPai += OnTsumo;
            clientRouter.OnHello += OnHello;
            clientRouter.OnKakan += OnKakan;
            clientRouter.OnOpenDora += OnDora;
            clientRouter.OnPon += OnPon;
            clientRouter.OnReach += OnReach;
            clientRouter.OnReachAccepted += OnReachAccepted;
            clientRouter.OnRyukyoku += OnRyukyoku;
            clientRouter.OnStartGame += OnStartGame;
            clientRouter.OnStartKyoku += OnStartKyoku;
            clientRouter.OnSetScene += OnSetScene;

            //Mjmodel
            clientMjModel = new ClientMjModel();

            ai = new MinShantenAI();
            SetServerHolderToAI(serverHolder);
        }
Example #2
0
        public void SetServerHolder(IServerHolder serverHolder)
        {
            this.serverHolder = serverHolder;
            serverHolder.OnGetMessageFromServer += MessageFromServerHandler;

            //ai
            SetServerHolderToAI(serverHolder);
        }
Example #3
0
        void SetServerHolderToAI(IServerHolder serverHolder)
        {
            //ai
            ai.SendPon += serverHolder.SendMJsonObject;
            ai.SendChi += serverHolder.SendMJsonObject;
            ai.SendDaiminkan += serverHolder.SendMJsonObject;
            ai.SendNone += serverHolder.SendMJsonObject;
            ai.SendHora += serverHolder.SendMJsonObject;
            ai.SendDahai += serverHolder.SendMJsonObject;
            ai.SendAnkan += serverHolder.SendMJsonObject;
            ai.SendKakan += serverHolder.SendMJsonObject;
            ai.SendReach += serverHolder.SendMJsonObject;

            ai.CalcHora += clientMjModel.CalcHora;
        }