Exemple #1
0
    public static void OnLogin(Cmd cmd)
    {
        Debug.Log("分发LoginCmd成功!");
        //cmd的类型必须是LoginCmd
        if (!Net.CheckCmd(cmd, typeof(LoginCmd)))
        {
            return;
        }
        //验证账号密码

        //找到玩家的存档
        var playerData = Server.instance.DB.GetUserData(1);

        if (playerData == null)
        {
            playerData = new Player();
            //分配thisid;
            playerData.thisId = 1;
            Server.instance.DB.SavePlayerData(playerData);
        }
        Server.instance.curPlayer = playerData;
        var player = Server.instance.curPlayer;
        //向客户端发送玩家的已创建的角色列表
        RoleListCmd roleListCmd = new RoleListCmd();

        //roleListCmd.allRole = player.allRole.GetRange(0, player.allRole.Count);
        //深拷贝
        foreach (var role in player.allRole)
        {
            var roleInfo = new SelectRoleInfo()
            {
                name = role.name, modelId = role.modelId
            };
            roleListCmd.allRole.Add(roleInfo);
        }
        Server.instance.SendCmd(roleListCmd);
    }
Exemple #2
0
    internal static void OnRoleList(Cmd cmd)
    {
        //cmd的类型必须是RoleListCmd
        if (!Net.CheckCmd(cmd, typeof(RoleListCmd)))
        {
            return;
        }
        RoleListCmd roleListCmd = cmd as RoleListCmd;


        UserData.instance.allRole = roleListCmd.allRole;

        if (roleListCmd.allRole.Count > 0)
        {
            //选人界面
            //SceneManager.LoadScene("SelectRole");
            UIManager.instance.Repalce("UIPrefabs/SelectRole/SelectRole", UILayer.Normal);
        }
        else
        {
            //创建角色界面
            SceneManager.LoadScene("CreateRole");
        }
    }