unity学习(29)——GameInfo角色信息

1.把GameInfo.cs PlayerModel.cs Vector3.cs Vector4.cs PlayerStateConstans.cs GameState.cs依次粘到model文件夹中,此时项目没有错误,如下图所示;

对应处所修改的代码如下:

cs 复制代码
case LoginProtocol.LOGIN_SRES://1
{
     Debug.Log("成功登录,要进行场景跳转了");
        //继承一些信息,来自loginhadler里面的,有原代码很省事的--把message对住就没问题了
        StringDTO dto = Coding<StringDTO>.decode(model.message);//基本就完全等于是我自己写的
        Debug.Log("dto.value:"+ dto.value);
        if (dto.value == null || dto.value == string.Empty)//登录如果失败啥都不做就可以了
        {
            Debug.Log("登陆失败!");
            //顺便修改一下对应文字即可
            TMP_Text c = GameObject.FindWithTag("logText").GetComponent<TMP_Text>(); ;//得到两个Text对象
            c.text = "登录失败";
        }
        else
        {
            TMP_Text d = GameObject.FindWithTag("logText").GetComponent<TMP_Text>(); ;//得到两个Text对象
            d.text = "登录成功";
            Debug.Log("成功登录,要进行场景跳转了");
            GameInfo.ACC_ID = dto.value;//静态类起到全局效果
            GameInfo.GAME_STATE = GameState.LOADING;
            BroadcastMessage("Loading", 1);
            Debug.Log("等待下一次挑战");
        }    
        break;
}
cs 复制代码
public class GameInfo
{
	public static int GAME_STATE=0;
	public static string ACC_ID="";
	public static float LOAD_PRORESS=0f;
	public static int LAST_STATE=0;
	public static PlayerModel selectModel;
	public static PlayerModel myModel;
	public static int PLAYER_STATE=PlayerStateConstans.IDLE;
}

像类中static静态变量,可以直接起到全局对象(变量)的作用(不用再实例化对象了,此时类更像是一个全局结构体),敌人和玩家是不同的模型,这点我之前写panda3d时也经历过,很清楚。

实测,可以有区别的进入"成功"和"失败"状态。

这个逆向出来的服务器处理"重复登陆","错误登录"时做的很好,而且现就可以做到"多开"。

相关推荐
李日华大战鸡红7 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
kkkkkkkkkk_Z9 小时前
新手自学嵌入式 | 学习日记:异常与中断基础、i.MX6ULL裸机开发环境搭建、GPIO模块与点灯原理
学习
m4Rk_9 小时前
【论文阅读】Agent 记忆机制(94):MemGen——在推理过程中动态生成并织入潜在记忆
论文阅读·人工智能·学习·开源·github
晓德9 小时前
0、LLM大模型安全学习系列(启)
学习·安全
Titan202410 小时前
MySQL索引学习笔记
笔记·学习·mysql
JWASX11 小时前
Java 转 go 学习 - kitex(5)
学习·golang
AOI小白新手上路11 小时前
VDMamba·AutoDL 复现笔记 · 学习笔记
笔记·学习
~kiss~11 小时前
LangGraph ~ 为图添加跨线程持久化
学习
xianrenli3812 小时前
水肺潜水学习
学习
凌云若寒13 小时前
BarTender提示#807错误:无法在拥有其他许可证的Licensing Service上激活节点锁定的 Professional 版许可证 的解决办法
运维·服务器·前端·学习·软件需求