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://xiahunao.cn/news/2868701.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

8:00面试,8:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到9月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

MySQL语法分类 DQL(5)分组查询

为了更好的学习这里给出基本表数据用于查询操作 create table student (id int, name varchar(20), age int, sex varchar(5),address varchar(100),math int,english int );insert into student (id,name,age,sex,address,math,english) values (1,马云,55,男,杭州,66,78),…

【django framework】ModelSerializer+GenericAPIView接口数据流

GenericAPIView数据从序列化到最终返回响应的数据流 // 以ModelSerializergenerics.CreateAPIView为例 程序终归是为了处理数据&#xff0c;怎么处理&#xff0c;以怎样的顺序和方法去处理&#xff0c;就涉及到了具体的业务流程。当我们是用了一个牛掰的框架&#xff0c;发现原…

面向对象(C# )

面向对象&#xff08;C# &#xff09; 文章目录 面向对象&#xff08;C# &#xff09;ref 和 out传值调用和引用调用ref 和 out 的使用ref 和 out 的区别 结构体垃圾回收GC封装成员属性索引器静态成员静态类静态构造函数拓展方法运算符重载内部类和分布类 继承里氏替换继承中的…

JavaWeb06-MVC和三层架构

目录 一、MVC模式 1.概述 2.好处 二、三层架构 1.概述 三、MVC与三层架构 四、练习 一、MVC模式 1.概述 MVC是一种分层开发的模式&#xff0c;其中 M&#xff1a;Model&#xff0c;业务模型&#xff0c;处理业务 V&#xff1a; View&#xff0c;视图&#xff0c;界面展…

线性回归 quickstart

构建一元一次方程 100个&#xff08;X, y &#xff09;&#xff0c;大概是’y3x4’ import numpy as npnp.random.seed(42) # to make this code example reproducible m 100 # number of instances X 2 * np.random.rand(m, 1) # column vector y 4 3 * X np.random…

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下 1. ForeverStrongCheng/OpenCV-tutorials2. Fork -> ForeverStrongCheng/R2CNN_Faster-RCNN_TensorflowReferences 访问仓库页面&#xff0c;点击 Fork 按钮创建自己的仓库。 Fork 是将 GitHub 的某个特定仓库复制到自己…

Qt 实现 Asterix 报文解析库

【写在前面】 最近工作中需要解析 Cat 21 和 Cat 62 的 ADS-B 数据 ( 自己的工作包含航空领域 )。 然后&#xff0c;因为整个 Asterix 协议类别非常之多&#xff0c;每个类别的版本也多&#xff0c;纯手工实现每个版本解析根本不现实 ( 然鹅公司之前的解析库就是这么做的且做的…

面试官:volatile如何保证可见性的,具体如何实现?

写在开头 在之前的几篇博文中&#xff0c;我们都提到了 volatile 关键字&#xff0c;这个单词中文释义为&#xff1a;不稳定的&#xff0c;易挥发的&#xff0c;在Java中代表变量修饰符&#xff0c;用来修饰会被不同线程访问和修改的变量&#xff0c;对于方法&#xff0c;代码…

前端之用HTML弄一个古诗词

将进酒 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>将进酒</title><h1><big>将进酒</big> 君不见黄河之水天上来</h1><table><tr><td ><img…

【逆向-快速定位关键代码】通过hook常用函数HashMap方法

一生要走多远的路程 经过多少年 才能走到终点 梦想需要多久的时间 多少血和泪 才能慢慢实现 天地间任我展翅高飞 谁说那是天真的预言 &#x1f3b5; Beyond《光辉岁月》 随着移动应用程序的普及&#xff0c;对于安全和隐私的关注也越来越高。安卓应用逆向…

【力扣白嫖日记】1934.确认率

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1934.确认率 表&#xff1a;Signups 列名类型user_idinttime_stampdatetime User_id是该表的主键。每一行都…

JUC之Java对象内存布局

Java对象 对象在堆中的存储布局 它保存了什么 对象指向它的类元数据的指针&#xff0c;虚拟机通过这个指针来确定这个对象是哪个类的实例 对象头有多大&#xff1f;在64位系统中&#xff0c;Mark Word占了8个字节&#xff0c;类型指针占了8个字节&#xff0c;一共是16个字…

鸿蒙开发实现弹幕功能

鸿蒙开发实现弹幕功能如下&#xff1a; 弹幕轮播组件&#xff1a;BannerScroll import type { IDanMuInfoList, IDanMuInfoItem } from ../model/DanMuData //定义组件 Component export default struct BannerScroll {//Watch 用来监视状态数据的变化&#xff0c;包括&#…

git:码云仓库提交以及Spring项目创建

git&#xff1a;码云仓库提交 1 前言 码云访问稳定性优于github&#xff0c;首先准备好码云的账户&#xff1a; 官网下载GIT&#xff0c;打开git bash&#xff1a; 查看当前用户的所有GIT仓库&#xff0c;需要查看全局的配置信息&#xff0c;使用如下命令&#xff1a; git …

Navicat 面试题及答案整理,最新面试题

Navicat 在数据库管理中的主要用途有哪些&#xff1f; Navicat 是一款数据库管理工具&#xff0c;其主要用途包括&#xff1a; 1、多数据库支持&#xff1a; Navicat 支持多种数据库连接&#xff0c;包括 MySQL、Oracle、PostgreSQL、SQLite、SQL Server 等&#xff0c;方便用…

深度强化学习(五)(蒙特卡洛与自举)

深度强化学习&#xff08;五&#xff09;&#xff08;蒙特卡洛与自举&#xff09; 一.蒙特卡洛与自举 上一节介绍了多步 TD 目标。单步 TD 目标、回报是多步 TD 目标的两种特例。如下图所示, 如果设 m 1 m1 m1, 那么多步 TD 目标变成单步 T D \mathrm{TD} TD 目标。如果设…

compile→错误: 不支持发行版本 17

错误: 不支持发行版本 17 具体错误描述如下&#xff1a; [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project big-event: Fatal error compiling: 错误: 不支持发行版本 17 -> [Help 1] [ERROR] …

Chapter 13 Techniques of Design-Oriented Analysis: The Feedback Theorem

Chapter 13 Techniques of Design-Oriented Analysis: The Feedback Theorem 从这一章开始讲负反馈Control系统和小信号建模. 13.2 The Feedback Theorem 首先介绍 Middlebrook’s Feedback Theorem 考虑下面负反馈系统 传输函数 Guo/ui G ( s ) u o u i G ∞ T 1 T G…

Artemis Finance引领Metis流动性质押,并启动积分空投活动

在以太坊可扩展性解决方案中&#xff0c; Optimism、Arbitrum等Layer2链主要面临两个问题&#xff1a;欺诈/有效性证明以及去中心化排序器Sequencers。在实际的发展过程中&#xff0c;Optimism或Arbitrum等Layer2链仍然侧重于在欺诈证明和有效性证明方面进行努力&#xff0c;在…