/// <summary> /// 创建角色 /// </summary> public void Creat(ClientPeer client, string name) { SingleExecute.Instance.Execute(() => { //这个客户端是不是非法登陆 if (!accountCache.IsOnline(client)) { //非法登陆 user.Set("非法登陆"); client.StartSend(OpCode.USER, UserCode.CREAT_SRES, user); Console.WriteLine("非法登陆"); return; } //获取账号id int accountId = accountCache.GetID(client); //判断有没有角色 if (userCache.IsExist(accountId)) { //重复创建 user.Set("重复创建"); client.StartSend(OpCode.USER, UserCode.CREAT_SRES, user); Console.WriteLine("重复创建"); return; } //创建角色 userCache.Creat(name, accountId); user.Set("创建角色成功"); client.StartSend(OpCode.USER, UserCode.CREAT_SRES, user); Console.WriteLine("创建角色成功"); }); }
/// <summary> /// 创建角色 /// </summary> /// <param name="client"></param> /// <param name="name"></param> private void Creat(ClientPeer client, string name) { SingleExecute.Instance.Execute(delegate { //判断客户端是否非法登录 if (!accountCache.IsOnline(client)) { client.Send(OpCode.USER, UserCode.CREAT_SRES, -1); //非法登录 return; } //客户端正常登录 获取ACCOUNTID int accountId = accountCache.GetId(client); //根据id判断是否有角色 if (userCache.IsExist(accountId)) { client.Send(OpCode.USER, UserCode.CREAT_SRES, -2); //已经有角色 无法重复创建 return; } //创建ing userCache.Creat(name, accountId); client.Send(OpCode.USER, UserCode.CREAT_SRES, 0); //成功 }); }