unity学习(46)——服务器三次注册限制以及数据库化角色信息1--数据流程

1.先找到服务器创建角色信息代码的位置,UserBizImpl.cs中:

public PlayerModel create(string accId, string name, int job)
{PlayerModel[] playerModelArray = this.list(accId);//list是个自建函数,本质通过accId来查询if (playerModelArray != null && playerModelArray.Length > 2)//每个账号下的角色信息存放在playerModelArray中return (PlayerModel) null;PlayerModel model1;HeroConstans.heros.TryGetValue(job, out model1);if (model1 == null)return (PlayerModel) null;PlayerModel model2 = new PlayerModel(model1);model2.name = name;model2.map = 2;model2.id = Guid.NewGuid().ToString();model2.point = new Vector3(-2.21, 13.83, 7.5);//出生点model2.rotation = new Vector4(0.0, 0.0, 0.0, 0.0);//旋转CacheUtil.user.put(accId, model2);return model2;
}

2.通过this.list跳转到存放所有账号所有角色的位置,UserCache.cs中:

public PlayerModel[] list(string accId)
{List<string> stringList;this.userPlayerIds.TryGetValue(accId, out stringList);if (stringList == null)return (PlayerModel[]) null;PlayerModel[] playerModelArray = new PlayerModel[stringList.Count];for (int index = 0; index < stringList.Count; ++index)this.players.TryGetValue(stringList[index], out playerModelArray[index]);return playerModelArray;
}

很多变量如果输出的话,很麻烦,不如下断点调一下: 

3.创建当前账号下第一个角色时:

最后返回的是model2,看到这里思路已经很清楚了。 

 把当前创建的角色信息返回给客户端,估计后面有点用,但不是关键的地方

4.当创建第二个角色时: 

count变成1了,之前应该是0。

5.当创建第三个角色时:

count还是1,感觉返回的内容也没啥变化

 6.当创建第四个角色时(这个时候已经有三个了),直观可见同一个账号下的每一个角色也有自己的id,

 每个list中都有自己的数值

最后的返回内容: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/717218.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse数据引擎

ClickHouse 提供了多种索引引擎&#xff0c;每种引擎都有其特定的用途和特性。除了 MergeTree 引擎之外&#xff0c;以下是一些常见的索引引擎及其区别&#xff1a; MergeTree 引擎&#xff1a; 特点&#xff1a;有序、分布式、支持并发写入和读取。适用场景&#xff1a;适用于…

【高数】常数项级数概念与性质

下面为个人数学笔记&#xff0c;有需要借鉴即可。 一、常数项级数概念 二、常数项级数性质 三、调和级数 完。

备忘录模式(Memento Pattern)

定义 备忘录模式&#xff08;Memento Pattern&#xff09;是一种行为设计模式&#xff0c;它允许在不破坏封装性的前提下捕获一个对象的内部状态&#xff0c;并在以后将对象恢复到该状态。备忘录模式通常用于实现撤销操作&#xff08;Undo&#xff09;或历史记录&#xff08;H…

蓝桥杯(3.3)

1208. 翻硬币 import java.util.Scanner;public class Main {public static void turn(char[] a,int i) {if(a[i] *) a[i] o;else a[i] *;}public static void main(String[] args) {Scanner sc new Scanner(System.in);char[] a sc.next().toCharArray();char[] b sc.n…

python如何设置虚拟环境|方法有哪几种

原文连接&#xff1a; python设置虚拟环境- Python学习导航 为什么需要虚拟环境&#xff1f; 在使用Python语言时&#xff0c;通过pip&#xff08;pip3&#xff09;来安装第三方包&#xff0c;但是由于pip的特性&#xff0c;系统中只能安装每个包的一个版本。但是在实际项目开…

c++之旅——第三弹

大家好啊&#xff0c;这里是c之旅第三弹&#xff0c;跟随我的步伐来开始这一篇的学习吧&#xff01; 如果有知识性错误&#xff0c;欢迎各位指正&#xff01;&#xff01;一起加油&#xff01;&#xff01; 创作不易&#xff0c;希望大家多多支持哦&#xff01; 一.命名空间;…

项目设计:基于Qt和百度AI的车牌识别系统(嵌入式ARM)

基于Qt和百度AI智能云实现的智能车牌识别系统&#xff0c;具体可实现为停车场管理系统、智能计费停车系统…等。 1.系统实现思路及框架 1.1实现思路 要实现一个车牌识别系统&#xff0c;有多种方法&#xff0c;例如用opencv图像算法实现&#xff0c;或用第三方算法接口&#x…

输出梯形 C语言

解析&#xff1a;这个输出图形的题就是一个找规律加数学计算&#xff0c;我们发现每行比上一行多两个*&#xff0c;最后一行的*表达式为h&#xff08;h-1&#xff09;*2&#xff0c;即3*h-2&#xff0c;那么每一行就是一个先输出最后一行&#xff0d;当前行*个数个空格&#xf…

pytorch 图像数据集管理

目录 1.数据集的管理说明 2.数据集Dataset类说明 3.图像分类常用的类 ImageFolder 1.数据集的管理说明 pytorch使用Dataset来管理训练和测试数据集&#xff0c;前文说过 torchvision.datasets.MNIST 这些 torchvision.datasets里面的数据集都是继承Dataset而来&#xff0c…

【Qt】QTextEdit/QPlainTextEdit 实现 Tab 键多行缩进与反缩进

【Qt】QTextEdit/QPlainTextEdit 实现 Tab 键多行缩进与反缩进 文章目录 I - 主要原理II - 代码实现2.1 - 自定义类2.2 - 实现 Tab 缩进2.3 - 实现反缩进III - 参考链接I - 主要原理 由于 QTextEdit 和 QPlainTextEdit ,都无法实现多行选中缩进与反缩进,选中多行后,按下缩进…

[Redis]——Redis命令手册set、list、sortedset

&#x1f333;List类型常见命令 LPUSH / RPUSH [KEY] [element] …… 向列表左侧或者右侧插入一个或多个元素 LPOP / RPOP [key] 删除左边或者右边第一个元素 LRANGE [key] start end 返回索引start到end的元素&#xff08;索引从0开始&#xff09; BLPOP / BRPOP [key] [等…

【C++】类的默认成员函数(上)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、默认成员函数二、构造函数构造函数的概念及特性 三、析构函数析构函数的特性…

续简单学生管理系统、包装类--day18

Day18 一、删除的思考题 思考题&#xff1a;删除功能可以省略第一步吗&#xff1f;不可以 有第一步判断学生信息合法性&#xff0c;如果信息不合法会直接结束返回 如果没有第一步&#xff0c;将会在第二步判断是否有该学生query循环匹配查找&#xff0c;数据量大情况&#xff…

蓝桥杯倒计时 43天 - 前缀和,单调栈

最大数组和 算法思路&#xff1a;利用前缀和化简 for 循环将 n^2 简化成 nn&#xff0c;以空间换时间。枚举每个 m&#xff0c;m是删除最小两个数&#xff0c;那k-m就是删除最大数&#xff0c;m<k&#xff0c;求和最大的值。暴力就是枚举 m-O(n)&#xff0c;计算前 n-(k-m)的…

PCSA时钟控制集成之时钟门控级别

这一部分描述了&#xff1a; • 时钟门控的级别。 • 实现最大效果的时钟门位置。 • 实现有效和高效时钟门控的集成方法。 时钟树是由时钟缓冲器构建的&#xff0c;这些缓冲器在时钟源&#xff08;时钟输入或PLL&#xff09;与时钟终端&#xff08;寄存器或RAM&#xff09…

ULN2003(COM的作用)

单路内部电路原理图 三极管多级放大电路&#xff0c;最大可达到500ma&#xff1b; 典型应用&#xff1a; ULN2003属于灌电流驱动方式&#xff1b;输入与输出电平反向&#xff0c;下拉4K电阻&#xff0c;为解决单片机上电IO瞬间不稳定&#xff1b; COM端 1.可悬空&#xff1a…

Java面题总结7

spring事务什么时候会失效 1:发生自调用&#xff0c;类里面使用this调用本类的方法&#xff08;&#xff09;此时这个this对象不是代理类&#xff0c;而是UserService对象本身 2&#xff1a;方法不是public 3&#xff1a;数据库不支持事务 4&#xff1a;没有被spring管理 …

git标签操作

一.标签管理 1.理解标签 标签 tag &#xff0c;可以简单的理解为是对某次 commit 的⼀个标识&#xff0c;相当于起了⼀个别名,当我们需要回退到某个重要版本时&#xff0c;直接使⽤标签就能很快定位到 2.创建标签 ⾸先&#xff0c;切换到需要打标签的分⽀上,然后&#xf…

经典目标检测网络Yolo——原理部分

目标检测问题 分为两个子问题: 找到图片中哪些位置、哪些区域含有目标对象识别这些区域中的目标对象是什么基于CNN的目标检测算法能够很好的解决第二个问题,在一张图片仅含一个对象,且该对象占据了整张图片绝大部分面积时,基于CNN的对象识别算法具有很高的准确率。 一种定…

操作系统(1)——学习导论(Ⅱ)

目录 小程一言专栏链接: [link](http://t.csdnimg.cn/6grrU) 学习导论&#xff08;Ⅱ&#xff09;操作系统-赏前人佳作大型操作系统大型操作系统的一些特点和功能举例 服务器操作系统服务器操作系统特点和功能举例 多处理器操作系统举例 个人计算机操作系统举例 掌上计算机操作…