using System.Collections; using System.Collections.Generic; using AX.InputSystem; using AX.MessageSystem; using AX.NetworkSystem; using UnityEngine; public class CloneFireman : CloneBase { public override void Execute(IMessage obj) { var gameObjID = (long)obj.Sender; var data = ((CloneCmdArgs)obj.Data); if (data.cloneObjType == cloneObjType) { var hitPoint = data.hitPos; Vector3 clonedObjPos = new Vector3(hitPoint.x, hitPoint.y, hitPoint.z); // var clonedObj = EntitiesManager.Instance.CreateObj(clonePrefab, clonedObjPos, transform, gameObjID); clonedObj.name = CloneObjNameTool.Instance().GetCloneObjectName(cloneObjType); //添加消防员可选中状态 SelectedObjs.characters.Add(clonedObj); TheHeadName.GetInstance.CreateName(clonedObj.GetComponent().gameObjID,clonedObj.name,cloneObjType.ToString(), 20, Vector3.up * 3f); //设置克隆物体所在楼层等基本属性,属性从点击的对象上获取 GameObject go = SelectedObjs.selectedObj; //获取车的选中信息 CloneGameObjInfo CarInfo = go.GetComponent(); //消防员的信息 CloneGameObjInfo cloneObjInfo = clonedObj.GetComponent(); cloneObjInfo.gameObjType = cloneObjType; cloneObjInfo.UserID = CurrentUserInfo.mySelf.Id; cloneObjInfo.buildNum = CarInfo.buildNum; cloneObjInfo.floorNum = CarInfo.floorNum; cloneObjInfo.interlayerNum = CarInfo.interlayerNum; // 记录消防员 EquipManager.Instance.AddClientFireMans(clonedObj); //同步克隆 CloneSyncPersonData cloneData = new CloneSyncPersonData() { BuildNum = cloneObjInfo.buildNum, CloneID = gameObjID, CloneName = clonedObj.name, ClonePosition = clonedObjPos, CloneType = cloneObjType, FloorNum = cloneObjInfo.floorNum, InterLayerNum = cloneObjInfo.interlayerNum, UserID = cloneObjInfo.UserID }; NetworkManager.Default.SendAsync("CLONE_PERSON_SYNC", cloneData); } } }