unity学习(57)——选择角色界面--删除角色2

1.客户端添加点击按钮所触发的事件,在selectMenu界面中增加myDelete函数,当点击“删除角色”按钮时触发该函数的内容。

public void myDelete()
{string message = nowPlayer.id;//string m = Coding<StringDTO>.encode(message);NetWorkScript.getInstance().sendMessage(Protocol.USER, 0, 6, message);Debug.Log(message);
}

2.服务器也成功接受到来自客户端的内容,这里有瑕疵,此时是明文通信。

3.完善remove函数中的内容,这个大改了,从最终的测试结果来看是成功的:

public PlayerModel[] remove(string accId, string playerId)
{//确实到这里的,但是逻辑需要大改Console.WriteLine("remove:");Console.WriteLine(accId);Console.WriteLine(playerId);if (this.userPlayerIds.ContainsKey(accId))//当前账号是否注册{List<string> stringList1;this.userPlayerIds.TryGetValue(accId, out stringList1);//得到当前账号下所有的角色信息if (stringList1 != null && stringList1.Contains(playerId)){stringList1.Remove(playerId);//删除或者怎加以后还要写入,类似的操作不久前刚做过的//借鉴之前put中的相关操作,其实可以很快完成的//写userPlayerIds.txt//List<string> stringList;List<string> stringList_out;this.userPlayerIds.TryRemove(accId, out stringList_out);//删旧的bool ur=this.userPlayerIds.TryAdd(accId, stringList1);//写新的--//原来账号下三个角色,此时应该就剩下2个了if (ur)//这次应该没问题了{StreamWriter file = new StreamWriter("userPlayerIds.txt");string json = JsonConvert.SerializeObject(this.userPlayerIds);Console.WriteLine("userPlayerIds.TryAdd:" + json);file.Write(json);file.Close();Console.WriteLine("userPlayerIds删除完成");}//到此位置删除 并 文件写入 userPlayerIds//下面删除players.txt中的内容bool ur1=this.players.TryRemove(playerId, out PlayerModel _);//这里直接删就行,不用删完再加了if (ur1)//这次应该没问题了{StreamWriter file = new StreamWriter("players.txt");string json = JsonConvert.SerializeObject(this.players);Console.WriteLine("userPlayerIds.TryAdd:" + json);file.Write(json);file.Close();Console.WriteLine("players删除完成");}}}//返回playermodel数组--自己改的List<string> stringList;this.userPlayerIds.TryGetValue(accId, out stringList);//创建第一个角色,这里是空的--之前注册角色的id(PlayerIds)--专属名词调试几遍就会了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;}

4.返回值的部分也需要做对应的修改:command用1,直接更新列表

 5.最后成功删除角色:

6.补充

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

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

相关文章

RabbitMQ 模拟实现【四】:虚拟主机设计

文章目录 虚拟主机设计虚拟主机分析交换机和虚拟主机之间的从属关系核心 API发布消息订阅消息应答消息消费者管理类 虚拟主机设计 虚拟主机分析 类似于 MySQL 的 database&#xff0c;把交换机&#xff0c;队列&#xff0c;绑定&#xff0c;消息…进⾏逻辑上的隔离&#xff0…

如何实现Git Push之后自动部署到服务器?

在平时个人开发的过程中是不是有这样的烦恼&#xff1a; 项目开发完成&#xff0c;Push之后 登录服务器&#xff0c;手动git pull&#xff0c;然后运行部署命令 这真的很烦诶&#xff01; 那么能不能Git push之后&#xff0c;远端服务器自动 Git pull 然后运行部署命令呢&a…

2024阿里技术官重磅推出“Java进阶必备宝典” 5大专题 6000字解析

5.JVM实战 CPU占用过高案例实战 内存占用过高案例实战 15种方式编写高效优雅Java程序实战 6.JVM底层技术 亿级流量高井发下GC预估与调优 JHSDB工具透视L ambda底层实现 JVM(HotSpot)核心源码解读 JVM核心模块(GC算法)手写实战 核心三&#xff1a;网络编程与高效IO 1.网络…

还是了解下吧,大语言模型调研汇总

大语言模型调研汇总 一. Basic Language ModelT5GPT-3LaMDAJurassic-1MT-NLGGopherChinchillaPaLMU-PaLMOPTLLaMABLOOMGLM-130BERNIE 3.0 Titan 二. Instruction-Finetuned Language ModelT0FLANFlan-LMBLOOMZ & mT0GPT-3.5ChatGPTGPT-4AlpacaChatGLMERNIE BotBard 自从Cha…

IO Watch:用 Arduino UNO 制造的可编程手表

MAKER:mblaz/译:趣无尽 Cherry(转载请注明出处) 关于手表的项目,之前我们已经介绍过一款《Arduino + 3D 打印 DIY 电子手表》。本期的项目同样的一款基于 Arduino UNO 的可编程的手表,相比之下制造门槛更高一些。同时它更成熟、实用,外形也很有设计感,非常的漂亮! 这…

探索谷歌的秘密花园:Google文件系统GFS之旅(Google File System)

文章目录 &#x1f3d8;️GFS系统架构GFS系统节点类型GFS实现机制 &#x1f34e;GFS特点采用中心服务器模式不缓存数据在用户态下实现只提供专用接口 容错机制⚒️Master容错机制&#x1f504; Chunk Server容错 &#x1f6e0; 系统管理技术 &#x1f3d8;️GFS系统架构 大型分…

IDEA开启Run Dashboard

1、Run Dashboard是什么&#xff0c;为什么要使用 Run Dashboard 是 IntelliJ IDEA 中的一个工具窗口&#xff0c;用于管理和监视项目中正在运行的应用程序和配置。它提供了一种集中管理运行和调试过程的方式&#xff0c;可以让开发人员更方便地查看和控制正在运行的应用程序。…

kubernetes-污点和容忍

kubernetes-污点和容忍 kubernetes-污点和容忍1、什么是污点(Taint)2、什么是容忍度(Toleration)3、为什么master节点上不跑业务pod4、这种打污点让我想到了通过nodename可以指定node节点5、怎么打污点5.1、基本用法5.2、查了一下chat5.3、effect污点效果的三种状态5.4、打标签…

SQLite—免费开源数据库系列文章目录

SQLite系列相关文章较多特开本文为了便于读者阅读特写了本索引和目录之用本文将不断更新中有需要的读者可以收藏本文便于导航到各个专题( 持续更新中......)。收藏一篇等于收藏一个系列文章 简介类&#xff1a; SQLite——世界上部署最广泛的免费开源数据库&#xff08;简介&…

一站式数据采集物联网平台:智能化解决方案,让数据管理更高效、更安全

JVS物联网平台的定位 JVS是企业信息化的“一站式解决方案”&#xff0c;其中包括了基础的数字化底座、各种企业级能力、企业内常见的应用&#xff0c;如下图所示&#xff1a; 整体平台能力层有三大基础能力&#xff1a; 低代码用于业务的定义;数据分析套件用于数据的自助式分…

渗透某巨型企业某个系统的奇葩姿势

前言 这个月都在做一个巨型合作企业的渗透测试&#xff0c;这个系统本无方式getshell&#xff0c;得亏我心够细&#xff0c;想的多&#xff0c;姿势够骚。 文中重码&#xff0c;且漏洞已修复。 过程 找到getshell点 目标系统功能很少&#xff0c;基本上就是一个展示页面&a…

C# EPPlus导出dataset----Excel2绘制图像

一、生成折线图方法 /// <summary> ///生成折线图 /// </summary> /// <param name="worksheet">sheet页数据 </param> /// <param name="colcount">总列数</param> /// &l…