unity学习(60)——选择角色界面--MapHandler2-MapHandler.cs

1.新建一个脚本,里面有static变量loadingPlayerList

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Assets.Scripts.Model
{internal class LoadData{public static List<PlayerModel> loadingPlayerList = new List<PlayerModel>();}
}

2.因为与MAP相关的函数实在太多,之前LOGIN USER那样写不合适,在handler文件夹下,新建一个脚本文件,MapHandler.cs

3.MessageManager中的MapHandlerFk部分如下:

public void MapHandlerFk(SocketModel model)
{Debug.Log("MapHandlerFk");switch (model.command){//这头应该是1 2 4 6 8case MapProtocol.ENTER_SRES://初始化所有玩家信息--一开始进好几个Debug.Log("MapHandler-ENTER_SRES");//没问题PlayerModel[] players= Coding<PlayerModel[]>.decode(model.message);//loadplayerlistDebug.Log(model.message);LoadData.loadingPlayerList.AddRange(players);//增加多个元素Debug.Log("当前玩家进入地图");Debug.Log(SelectMenu.nowPlayer.map);Loading(SelectMenu.nowPlayer.map);//这个是2号 没有问题,到现在 为止 还没有涉及到动画break;case MapProtocol.ENTER_BRO://其他玩家进入场景--每次进一个Debug.Log("MapHandler-ENTER_BRO");//没问题PlayerModel player = Coding<PlayerModel>.decode(model.message);LoadData.loadingPlayerList.Add(player);//增加多个元素//createplayerMapHandler.getInstance().createPlayer(player);//createPlayer(player);break;}}

4.在MapHandler.cs中所有的函数如下:

 public void createPlayer(PlayerModel model){playerList.Add(model.id, model);//增加单个新角色-Assets.Model.Vector3 point = model.point;//见多自然就会了Assets.Model.Vector4 rotation = model.rotation;//下面大概率是要实例化了--通过预组件生成实例对象GameObject GO = (GameObject)GameObject.Instantiate(playerProfabs[model.job], new Vector3((float)point.X, (float)point.Y, (float)point.Z), new Quaternion((float)rotation.X, (float)rotation.Y, (float)rotation.Z, (float)rotation.W));GO.name = model.id;GO.tag = "Player";GO.transform.position = new Vector3(188f, 10f, 88f);//set position;playergoList.Add(model.id, GO);实例对象 数组 goGO.BroadcastMessage("InfoInit", model);//这个叫唤了也不一定收得到if (model.id == GameInfo.myModel.id){//make sure our camera wouln't look at other players.//GameObject tg= GameObject.Find ("Root");GO.BroadcastMessage("setTarget", GO);////BroadcastMessage ("setTarget",tg);//BroadcastMessage ("InfoInit",model);}}

到此为止没有错误了

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

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

相关文章

【蓝桥杯】小明的背包2(DP)

一.题目描述 二.问题分析 这是一个典型的动态规划问题。 我们使用一个二维数组来解决问题&#xff0c;dp[i][j]表示从第1个到第i个物品中进行选取&#xff0c;装入容积为j的背包中商品的总价值。 其实这里隐含了一个初始条件&#xff0c;即dp[i][0]0&#xff0c;即背包容量…

HTTPS(超文本传输安全协议)工作过程

一、简述HTTPS HTTPS超文本传输协议&#xff08;全称&#xff1a;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#x…

DDR协议基础进阶(三)——(基本功能、初始化、MR寄存器)

DDR协议基础进阶&#xff08;三&#xff09;——&#xff08;基本功能、初始化、MR寄存器&#xff09; 一、DDR基本功能 DDR基本功能主要包括&#xff1a; 8-bit prefetch预取——8-bit&#xff0c;是指8位数据&#xff0c;即8倍芯片位宽的数据。由于DDR内部数据传输是32bit…

Day40:安全开发-JavaEE应用SpringBoot框架JWT身份鉴权打包部署JARWAR

目录 SpringBoot-身份鉴权-JWT技术 SpringBoot-打包部署-JAR&WAR 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方组件使用等. 框架库&#xff1a;MyBatis&…

springboot项目学习-瑞吉外卖(1)

第一天任务如下&#xff1a; 建立基本架构完成登录、退出功能 注意&#xff1a;本博客没有使用网上教程里的mybatis-plus&#xff0c;使用的是mybatis&#xff1b;数据库连接池也没有使用教程里的druid&#xff0c;使用的是spring自带的连接池 基本架构 common包&#xff1a;存…

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

JUnit中的断言&#xff08;Assert&#xff09;有哪些类型&#xff1f; JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括&#xff1a; 1、assertEquals&#xff1a; 用于检查两个值是否相等。如果不相等&#xff0c;测试失败。 2、assertTrue和assertFal…

vulhub中fastjson 1.2.24 反序列化导致任意命令执行漏洞复现

fastjson在解析json的过程中&#xff0c;支持使用autoType来实例化某一个具体的类&#xff0c;并调用该类的set/get方法来访问属性。通过查找代码中相关的方法&#xff0c;即可构造出一些恶意利用链。 环境运行后&#xff0c;访问http://your-ip:8090即可看到JSON格式的输出。 …

java-ssm-jsp基于java的信访管理系统的设计与实现

java-ssm-jsp基于java的信访管理系统的设计与实现 获取源码——》公主号&#xff1a;计算机专业毕设大全 获取源码——》公主号&#xff1a;计算机专业毕设大全

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

Oracle中的PL/SQL和SQL有什么区别&#xff1f; PL/SQL和SQL在Oracle中的主要区别包括&#xff1a; 1、编程能力&#xff1a; PL/SQL是一种程序化语言&#xff0c;支持变量、条件语句和循环&#xff0c;而SQL主要用于数据查询和更新。 2、执行方式&#xff1a; PL/SQL可以执行…

阿里二面:什么情况会发生Full GC?如何避免频繁Full GC?

阿里二面&#xff1a;什么情况会发生Full GC&#xff1f;如何避免频繁Full GC&#xff1f; Minor GC、Major GC 和 Full GC区别&#xff1f; Minor GC、Major GC和Full GC是垃圾回收中的三个重要概念&#xff0c;它们描述了垃圾回收的不同阶段和范围&#xff1a; Minor GC&am…

基于Springboot和Redis实现的在线选课系统

1.项目简介 1.1 介绍 毕业设计真的就是demo吗&#xff1f;作为工作前的最后一个校园项目&#xff0c;毕业设计应当尽可能的贴近企业实战&#xff0c;业务不必很复杂&#xff0c;但要做到麻雀虽小五脏俱全。本期学长跟大家一起分享如何开发一个在线选课系统&#xff0c;需求也…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:SideBarContainer)

提供侧边栏可以显示和隐藏的侧边栏容器&#xff0c;通过子组件定义侧边栏和内容区&#xff0c;第一个子组件表示侧边栏&#xff0c;第二个子组件表示内容区。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起…