学习日记#08

学习日记#08


客户端

LoginResult

// 登录
public LoaginResult Login(string username, string pwd, out string token)
{
	try
	{
		token = "";
		User user = null;
		user = MySqlMannger.Instance.sqlSugarClient.Queryable<User>().Where(it => it.Username == username).Single(); // 用户查询
		if(user != null)
		{
			if (user.Password != pwd)
			{
				return LoginResult.WrongPwd;
			}
			user.Logindate = DateTime.Now; // 更新玩家登录时间
			user.Token = Guid.NewGuid().ToString(); // 任何一台电脑都会生成全球唯一的GUID值
			MysqlManager.Instance.sqlSugerClient.Updateable(user).ExecuteCommand(); // 更新入库
			return LoginResult.UserNotExist; 
		}
		else
		{
			return LoginResult.UserNotExist;
		}
	}
	catch(Exception e)
	{
		Debug.LogError("登录异常!" + e.ToString());
		return LoginResult.Failed; 
	}
}

public enum ProtocolEnum
{
	MsgRegister ,
	
}

public class MsgRegister : MsgBase
{
	public MsgRegister()
	{
		
	}
	
	public string Accout;
	public string Password;
	public RegisterResult registerResult;
}

public class MsgLogin() : MsgBase
{
	public string Accout;
	public string Password;
	public LoginResult loginResult;
	public string Token;
}

public class MsgHandler()
{
	public static void MsgRegister(ClientSocket client, MsgBase msgBase)
	{
		MsgRegister msgRegister = (MsgRegister)msgBase;
		RegisterResult result = // 用户管理器注册
		msgRegister.registerResult = result;
		Send(clientSocket, msgRegister);
	}
	public static void MsgRegister(ClientSocket client, MsgBase msgBase)
	{
		MsgRegister msgLogin= (MsgRegister)msgBase;
		string token;
		RegisterResult result = // 用户管理器登录
		msgLogin.loginResult= result; // 交给客户端自行处理
		msgLogin.Token = token;
		ServerSocket.Send(clientSocket, msgRegister);
	}
}

public class ProtoManager()
{
	// 注册
	public static void CSRegister(string account, string pwd, Action<RegisterResult> callback)
	{
		MsgRegister msgRegister = new MsgRegister();
		msgRegister.Account = accout;
		msgRegister.Password = pwd;
		NetManager.Instance.SendMessage(msgReigster)'
		NetManger.Instance.AddProtoListener(ProtocolEnum.MsgRegister, (msg) => {
			MsgRegister msgRe = (MsgRegister)msg;
			callback(msgRe.registerResult);
		});
	}
	
	// 登录
	public static void CSRegister(string account, string pwd, Action<LoginResult> callback)
	{
		MsgLogin msgLogin = new MsgLogin ();
		msgLogin .Account = accout;
		msgLogin .Password = pwd;
		NetManager.Instance.SendMessage(msgLogin )'
		NetManger.Instance.AddProtoListener(ProtocolEnum.MsgLogin , (msg) => {
			msgLogin msgRe = (MsgRegister)msg;
			callback(msgRe.loginResult, msgRe.Token, ResigserCallback);
		});
		
	}

GameRoot.cs



(result, token)=>{
	switch(result)
	case:		
}

// 注册回调函数
void RegisterCallback(RegisterResult result)
{
	switch(result)
	{
		case :
	}
}
}

算法

  • yxc dp
  • 状态表示 集合
  • 属性
  • 状态计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值