Ejemplo n.º 1
0
        private void ResCreateClubRoom(NotificationArg arg)
        {
            var data = arg.GetValue <ResCreateClubRoom>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }

            if (data.clubId != Data.Club.Id)
            {
                Debug.Log("收到不是当前俱乐部的消息");
                return;
            }

            // 如果是自己创建的,就进入房间
            if (data.uid == Data.User.Id)
            {
                Data.Game.Id = data.roomId;
                SceneManager.LoadScene("Game");
                return;
            }

            // 如果是其他人创建的房间,则获取房间信息
            Api.Room.GetRoom(data.roomId);
        }
Ejemplo n.º 2
0
        GameInfo myGameInfo = null; // 记录当局自己的游戏信息,包括牌型,牌,座位号等
        private void OnBroadcastShowCard(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastShowCard>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg, 2);
                return;
            }
            var game = data.game;

            foreach (var p in Data.Game.Players.Values)
            {
                if (p.Info.id != game.playerId)
                {
                    PutCard(p.DeskId, "-1|-1|-1|-1|-1");
                    continue;
                }
                myGameInfo = game;
            }

            ui.GetChild("btnKanpai").visible = true;
            ui.GetChild("btnScores").visible = false;
            hideSetScoreTips();
            nKanpaiTips = 6;
            showKanpaiTips();
        }
Ejemplo n.º 3
0
    private void OnDisconnected(NotificationArg arg)
    {
        Debug.LogWarning("网络连接中断");

        isConnected = false;
        Manager.Inst.Connect();
    }
Ejemplo n.º 4
0
        private void OnBroadcastGameOver(NotificationArg arg)
        {
            var data = arg.GetValue <ResClubGameOver>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }

            var table = Tables.GetChildAt(data.tableId - 1).asCom;
            var info  = table.GetChild("info").asRichTextField;

            for (var i = 1; i <= 10; i++)
            {
                var desk = table.GetChild("desk" + i);
            }
            var room = Data.Club.Info;
            Dictionary <string, string> vars = new Dictionary <string, string>();

            vars["id"]        = data.tableId + "";
            vars["current"]   = "0";
            vars["count"]     = room.count + "";
            vars["score"]     = scores[room.score];
            vars["status"]    = "等待中";
            info.templateVars = vars;
        }
Ejemplo n.º 5
0
        private void OnResUserInfo(NotificationArg arg)
        {
            var data = arg.GetValue <ResUserInfo>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }

            var p = Data.Game.GetPlayer(data.user.id);

            if (p == null)
            {
                Debug.LogWarning("当前房间列表不存在该用户:" + data.user.id);
                return;
            }

            Data.PlayerInfo info = new Data.PlayerInfo();
            info.id      = data.user.id;
            info.nick    = data.user.nick;
            info.ip      = data.user.ip;
            info.card    = data.user.card;
            info.avatar  = data.user.avatar;
            info.address = data.user.address;
            p.Info       = info;

            p.PlayerUi.GetChild("name").text           = data.user.nick;
            p.PlayerUi.GetChild("avatar").asLoader.url = Utils.Helper.GetReallyImagePath(data.user.avatar);
            p.PlayerUi.visible = true;
        }
Ejemplo n.º 6
0
    void OnBroadcastJoin(NotificationArg arg)
    {
        BroadcastJoin data = arg.GetValue <BroadcastJoin>();
        var           p    = CreatePlayer(data.x, data.y, data.playerID, data.type);

        players.Add(data.playerID, p);
    }
Ejemplo n.º 7
0
        private void OnResRoom(NotificationArg arg)
        {
            var data = arg.GetValue <ResRoom>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }

            var room = data.room;

            var table = Tables.GetChildAt(room.tableId - 1).asCom;
            var info  = table.GetChild("info").asRichTextField;

            for (var i = 1; i <= 10; i++)
            {
                var desk = table.GetChild("desk" + i);
                desk.data = room.tableId;
            }

            Dictionary <string, string> vars = new Dictionary <string, string>();

            vars["id"]        = room.tableId + "";
            vars["current"]   = room.current + "";
            vars["count"]     = room.count + "";
            vars["score"]     = scores[room.score];
            vars["status"]    = room.status == 0 ? "等待中" : "游戏中";
            info.templateVars = vars;

            // 获取房间的玩家信息
            Api.Club.ClubRoomUsers(room.id);
        }
Ejemplo n.º 8
0
    void OnTouchMap(NotificationArg arg)
    {
        Vector3 targetPos = arg.GetValue <Vector3>();

        hero.GetComponent <Player>().MoveTo(targetPos.x, targetPos.z);

        NetworkManager.Instance.SendMove((int)targetPos.x, (int)targetPos.z, hero.GetComponent <Player>().ID);
    }
Ejemplo n.º 9
0
    void OnBroadcastLeave(NotificationArg arg)
    {
        BroadcastLeave data = arg.GetValue <BroadcastLeave>();

        if (players.ContainsKey(data.playerID))
        {
            var p = players[data.playerID];
            Destroy(p);
        }
    }
Ejemplo n.º 10
0
    void OnBroadcastMove(NotificationArg arg)
    {
        BroadcastMove data = arg.GetValue <BroadcastMove>();

        if (players.ContainsKey(data.playerID))
        {
            var p = players[data.playerID];
            p.GetComponent <Player>().MoveTo(data.x, data.y);
        }
    }
Ejemplo n.º 11
0
    void OnResCode(NotificationArg arg)
    {
        var data = arg.GetValue <ResCode>();

        if (data.code != 0)
        {
            Utils.MsgBox.ShowErr(data.msg, 2);
            return;
        }
        Utils.MsgBox.ShowErr("验证码发送成功");
    }
Ejemplo n.º 12
0
    private void OnResRollText(NotificationArg arg)
    {
        var data = arg.GetValue <ResRollText>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg);
            return;
        }
        mainUI.GetChild("rollText").asCom.GetChild("rollText").text = data.rollText != ""? data.rollText:"仅供娱乐,请勿用于赌博活动。";
    }
Ejemplo n.º 13
0
        private void OnResClubUsers(NotificationArg arg)
        {
            var data = arg.GetValue <ResClubUsers>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }
            Data.Club.Users = data.users;
            updateUserList();
        }
Ejemplo n.º 14
0
    void OnResReg(NotificationArg arg)
    {
        var data = arg.GetValue <ResReg>();

        if (data.code != 0)
        {
            Utils.MsgBox.ShowErr(data.msg, 2);
            return;
        }

        SceneManager.LoadScene("Login");
    }
Ejemplo n.º 15
0
        private void OnBroadcastSitClubRoom(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastSitClubRoom>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }

            updateDeskUser(data.tableId, data.deskId, data.avatar, data.nick);
        }
Ejemplo n.º 16
0
    void OnResponseJoin(NotificationArg arg)
    {
        ResponseJoin data = arg.GetValue <ResponseJoin>();
        PlayerData   self = data.self;

        hero = CreatePlayer(self.x, self.y, self.playerID, self.type);

        foreach (PlayerData pdata in data.list)
        {
            players.Add(pdata.playerID, CreatePlayer(pdata.x, pdata.y, pdata.playerID, pdata.type));
        }
    }
Ejemplo n.º 17
0
    private void OnResReset(NotificationArg arg)
    {
        var data = arg.GetValue <ResReset>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg);
            return;
        }
        Utils.MsgBox.ShowErr("密码重置成功");
        //SceneManager.LoadScene("Login");
    }
Ejemplo n.º 18
0
        private void OnBroadcastEditClub(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastEditClub>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg, 2);
                return;
            }

            Api.Club.GetClub(data.clubId);
            manageWindow.Hide();
        }
Ejemplo n.º 19
0
    private void OnResCreateClub(NotificationArg arg)
    {
        var data = arg.GetValue <ResCreateClub>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg, 2);
            return;
        }
        Data.Club.Id = data.clubId;
        createClubWindow.Hide();
        SceneManager.LoadScene("Club");
    }
Ejemplo n.º 20
0
    private void OnResUserInfo(NotificationArg arg)
    {
        var data = arg.GetValue <ResUserInfo>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg);
            return;
        }

        Data.User.Info = data.user;
        updateInfo();
    }
Ejemplo n.º 21
0
    void OnResLogin(NotificationArg arg)
    {
        ResLogin data = arg.GetValue <ResLogin>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg, 2);
            return;
        }
        Debug.Log(data.code + "  " + data.msg + "   " + data.token);
        Data.User.Token = data.token;
        SceneManager.LoadScene("Menu");
    }
Ejemplo n.º 22
0
    private void OnResCreateRoom(NotificationArg arg)
    {
        var data = arg.GetValue <ResCreateRoom>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg, 2);
            return;
        }
        Data.Game.Id = data.roomId;

        createRoomWindow.Hide();
        SceneManager.LoadScene("Game");
    }
Ejemplo n.º 23
0
    private void OnResLoginByToken(NotificationArg arg)
    {
        var data = arg.GetValue <ResLoginByToken>();

        if (data.code != 0)
        {
            MsgBox.ShowErr(data.msg, 2);
            Data.User.Token = "";
            SceneManager.LoadScene("Login");
            return;
        }
        Debug.Log(data.code + "  " + data.msg + "   " + data.token);
        Data.User.Token = data.token;
    }
Ejemplo n.º 24
0
        private void OnResClubUsers(NotificationArg arg)
        {
            var data = arg.GetValue <ResClubUsers>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }
            Data.Club.Users = data.users;
            usersWindow.Show();
            usersWindow.position = new Vector3();
            usersWindow.width    = mainUI.width;
            usersWindow.height   = mainUI.height;
        }
Ejemplo n.º 25
0
        private void OnBroadcastBanker(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastBanker>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg, 2);
                return;
            }
            ui.GetChild("btnTimes").visible = false;
            Debug.Log("庄家是:" + data.game.playerId + "  " + data.game.banker);
            if (Data.User.Id != data.game.playerId)
            {
                ui.GetChild("btnScores").visible = true;
            }


            foreach (var p in Data.Game.Players.Values)
            {
                if (p.Info.id == data.game.playerId)
                {
                    p.IsBanker = true;

                    var zhuang = p.PlayerUi.GetChild("zhuang");
                    var zScale = zhuang.scale;
                    zhuang.position = zhuang.GlobalToLocal(cardCenterPlace.position);

                    zhuang.SetScale(4f, 4f);
                    zhuang.visible = true;

                    zhuang.TweenMove(new Vector2(p.zhuangPos.x, p.zhuangPos.y), 0.5f);
                    zhuang.TweenScale(new Vector2(zScale.x, zScale.y), 0.5f).OnComplete(() =>
                    {
                        zhuang.SetScale(1f, 1f);
                    });
                }
                else
                {
                    // 隐藏所有闲家家抢庄倍数
                    var tc = p.PlayerUi.GetController("times");
                    tc.selectedIndex = 0;
                }
            }

            hideSetScoreTips();
            nScoreTips = 5;
            showSetScoreTips();
        }
Ejemplo n.º 26
0
        private void OnResExitClub(NotificationArg arg)
        {
            var data = arg.GetValue <ResExitClub>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }
            if (data.clubId != Data.Club.Id)
            {
                Debug.Log("收到不是当前茶楼的消息");
                return;
            }
            exit();
        }
Ejemplo n.º 27
0
        private void OnResGameStart(NotificationArg arg)
        {
            var data = arg.GetValue <ResClubGameStart>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }
            if (data.clubId != Data.Club.Id)
            {
                Debug.LogWarning("收到不是当前茶楼的消息");
                return;
            }
            Api.Room.GetRoom(data.roomId);
        }
Ejemplo n.º 28
0
        private void OnBroadcastDefaultVoice(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastDefaultVoice>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg, 2);
                return;
            }
            if (data.roomId != Data.Game.Id)
            {
                Debug.Log("收到不属于该房间的消息,来自房间号:" + data.roomId);
                return;
            }

            if (data.voiceId < 0 || data.voiceId > 9 || data.sex < 0 || data.sex > 1)
            {
                Debug.Log("声音编号或性别不合法");
                return;
            }


            var index = data.deskId - Data.Game.DeskId;

            if (index < 0)
            {
                index = 10 + index;
            }


            gameAudio.clip = Resources.Load <AudioClip>("Game/audio/voice/voice_" + data.voiceId + "_" + data.sex);
            gameAudio.Play();

            // 自己不用显示
            if (data.deskId == Data.Game.DeskId)
            {
                return;
            }
            var playerUi = ui.GetChild("player" + (index + 1)).asCom;
            var c        = playerUi.GetController("speak");

            c.selectedIndex = 1;
            playerUi.TweenScale(new Vector2(1, 1), 3).OnComplete(() =>
            {
                c.selectedIndex = 0;
            });
        }
Ejemplo n.º 29
0
        private void OnBroadcastSitRoom(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastSitRoom>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                return;
            }
            if (data.roomId != Data.Game.Id)
            {
                Debug.LogWarning("收到不属于该房间的消息:BroadcastSitRoom");
                return;
            }
            AddPlayer(data.deskId, data.uid);
            Api.User.GetUserInfo(data.uid);
        }
Ejemplo n.º 30
0
        private void OnBroadcastJoinClub(NotificationArg arg)
        {
            var data = arg.GetValue <BroadcastJoinClub>();

            if (data.code != 0)
            {
                MsgBox.ShowErr(data.msg);
                exit();
                return;
            }

            if (data.uid == Data.User.Id)
            {
                Api.Club.GetClub(Data.Club.Id);
                Api.Club.ClubRooms(Data.Club.Id);// 获取当前茶楼所有房间信息
            }
        }