diff --git a/Assets/MscPublic/Assets/Scripts/MainScene/FloorControlModule/UIFloor.cs b/Assets/MscPublic/Assets/Scripts/MainScene/FloorControlModule/UIFloor.cs index 9eb3725..5a83fe8 100644 --- a/Assets/MscPublic/Assets/Scripts/MainScene/FloorControlModule/UIFloor.cs +++ b/Assets/MscPublic/Assets/Scripts/MainScene/FloorControlModule/UIFloor.cs @@ -28,7 +28,7 @@ public class UIFloor : BaseToggle public GameObject HasChild;//显示该建筑(区域)下的所有楼层 public Transform MyTarget; //private CameraManager cameraManager; - private float FollowCameraDistance = 100f; + private float FollowCameraDistance = 250f; private CameraManager cameraManager; private Transform P_AllParent; private void Start() diff --git a/Assets/Scripts/Common/Disasters/Wound_Trapped/TrappedMoveFree.cs b/Assets/Scripts/Common/Disasters/Wound_Trapped/TrappedMoveFree.cs index 0076a7e..5ac02d3 100644 --- a/Assets/Scripts/Common/Disasters/Wound_Trapped/TrappedMoveFree.cs +++ b/Assets/Scripts/Common/Disasters/Wound_Trapped/TrappedMoveFree.cs @@ -186,7 +186,7 @@ public class TrappedMoveFree : MonoBehaviour public void OnEnable() { //MessageDispatcher.AddListener("SetGuidpathIndex", AddGuidIndex); - MessageDispatcher.AddListener("MOVE_MAN_COMMAND", MoveExcute); + // MessageDispatcher.AddListener("MOVE_MAN_COMMAND", MoveExcute); MessageDispatcher.AddListener("GUIDANCE_MAN_COMMAND", GuidanceTrapped); MessageDispatcher.AddListener("FRISTAID_MAN_COMMAND", FristAidTrapped); MessageDispatcher.AddListener("TRAPPED_MOVE_FOLLOW_GUIDE_POINT_COMMAND", MoveFollowGuidPoint); @@ -203,7 +203,7 @@ public class TrappedMoveFree : MonoBehaviour public void OnDestroy() { // MessageDispatcher.RemoveListener("SetGuidpathIndex", AddGuidIndex); - MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveExcute); + //MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveExcute); MessageDispatcher.RemoveListener("GUIDANCE_MAN_COMMAND", GuidanceTrapped); MessageDispatcher.RemoveListener("FRISTAID_MAN_COMMAND", FristAidTrapped); MessageDispatcher.RemoveListener("TRAPPED_MOVE_FOLLOW_GUIDE_POINT_COMMAND", MoveFollowGuidPoint); @@ -219,7 +219,7 @@ public class TrappedMoveFree : MonoBehaviour public void OnDisable() { //MessageDispatcher.RemoveListener("SetGuidpathIndex", AddGuidIndex); - MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveExcute); + // MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveExcute); MessageDispatcher.RemoveListener("GUIDANCE_MAN_COMMAND", GuidanceTrapped); MessageDispatcher.RemoveListener("FRISTAID_MAN_COMMAND", FristAidTrapped); MessageDispatcher.RemoveListener("TRAPPED_MOVE_FOLLOW_GUIDE_POINT_COMMAND", MoveFollowGuidPoint); @@ -869,12 +869,12 @@ public class TrappedMoveFree : MonoBehaviour //引导 if (Guidance) { - + if (guidPoint.Count == 1 /*&& Vector3.Distance(transform.position, guidPoint[0]) < 2*/) { - if (TargetPosition!=guidPoint[0]) + if (TargetPosition != guidPoint[0]) { - Debug.Log("" + "sssssssss"+ ""); + Debug.Log("" + "sssssssss" + ""); TargetPosition = guidPoint[0]; if (CurrentUserInfo.room != null && CurrentUserInfo.mySelf.Id == CurrentUserInfo.room.Owner.UserInfo.Id) { @@ -913,7 +913,7 @@ public class TrappedMoveFree : MonoBehaviour } else if (guidPoint.Count > 1) { - if (!guidPoint.Contains(TargetPosition)) + if (!guidPoint.Contains(TargetPosition)) { AddGuidIndex(); } @@ -1021,11 +1021,11 @@ public class TrappedMoveFree : MonoBehaviour void AniamtorSet() { - if (Haemal <= 50) + if (Haemal <= 50) { return; } - if (nav.enabled==false) + if (nav.enabled == false) { return; } diff --git a/Assets/Scripts/DongYouLiQing/4GMap/FourthGCamCtrl.cs b/Assets/Scripts/DongYouLiQing/4GMap/FourthGCamCtrl.cs index 9a1fa0f..b18b47a 100644 --- a/Assets/Scripts/DongYouLiQing/4GMap/FourthGCamCtrl.cs +++ b/Assets/Scripts/DongYouLiQing/4GMap/FourthGCamCtrl.cs @@ -4,7 +4,8 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class FourthGCamCtrl : MonoBehaviour { +public class FourthGCamCtrl : MonoBehaviour +{ public Vector3 QuaterView = Vector3.zero; public float InitY; private static FourthGCamCtrl instance; @@ -26,15 +27,16 @@ public class FourthGCamCtrl : MonoBehaviour { private Transform target; private Vector3 preTargetPosition; private bool lookOver = false; - private float height = 3; //查看人员模式下,摄像机高度 + private float height = 1.5f; //查看人员模式下,摄像机高度 private float distance = 2; //查看人员模式下,人与摄像机之间的距离 private float dampTrace = 20.0f; //查看人员模式下,摄像机平滑追踪的变量 - private float lookingAtHeight = 3.5f; + private float lookingAtHeight = 2f; private float lookingAtDistance = 5; private bool isQuading = false; // Use this for initialization - void Start () { + void Start() + { MessageDispatcher.AddListener("OpenFourthG", EnableCamera); MessageDispatcher.AddListener("QuadrupleMode", DisableCamera); MessageDispatcher.AddListener("4GNobodySelected", NobodySelected); @@ -73,16 +75,16 @@ public class FourthGCamCtrl : MonoBehaviour { { var value = (bool)obj.Data; //如果打开了4G图传,又处于四分屏模式,则此相机禁用 - if(value ==true && isQuading == true) + if (value == true && isQuading == true) { this.enabled = false; - cam.enabled = false; + cam.enabled = false; } //如果打开了4G图传,未处于四分屏模式,则此相机激活 - else if(value==true && isQuading == false) + else if (value == true && isQuading == false) { this.enabled = true; - cam.enabled = true; + cam.enabled = true; } //如果关闭了4G图传,则禁用此相机 else @@ -100,26 +102,27 @@ public class FourthGCamCtrl : MonoBehaviour { var value = (bool)obj.Data; isQuading = value; this.enabled = !value; - cam.enabled = !value; + cam.enabled = !value; } // Update is called once per frame - void Update () { + void Update() + { //有目标人员并且相机激活时才执行 - if (target != null && cam.enabled==true) + if (target != null && cam.enabled == true) { if (!lookOver) { transform.position = new Vector3(target.position.x, transform.position.y, target.position.z); } else - { + { //相机的位置,在人员胸前 transform.position = Vector3.Lerp(transform.position, target.position + (target.forward * distance) + (Vector3.up * height), Time.deltaTime * dampTrace); //transform.LookAt(target.position); - transform.LookAt(target.position + (target.forward * lookingAtDistance) + (Vector3.up * lookingAtHeight)); + transform.LookAt(target.position + (target.forward * lookingAtDistance) + (Vector3.up * lookingAtHeight)); } - } - } + } + } /// /// 查看人员视角 /// @@ -127,7 +130,7 @@ public class FourthGCamCtrl : MonoBehaviour { private void LookOverTarget(IMessage obj) { var targetInfo = (CloneGameObjInfo)obj.Data; - target = EntitiesManager.Instance.GetEntityByID(targetInfo.gameObjID).transform; + target = EntitiesManager.Instance.GetEntityByID(targetInfo.gameObjID).transform; GetComponent().orthographic = false; //改为透视视角 lookOver = true; } @@ -141,7 +144,7 @@ public class FourthGCamCtrl : MonoBehaviour { transform.eulerAngles = QuaterView; transform.position = new Vector3(transform.position.x, InitY, transform.position.z); GetComponent().orthographic = true; //改回正交视角 - lookOver = false; + lookOver = false; } /// /// 在4G图传中有人员被选中,相机跟随该人员 @@ -150,7 +153,7 @@ public class FourthGCamCtrl : MonoBehaviour { public void SetTarget(Transform tar) { target = tar; - } + } /// /// 没有人员被选中,取消地图相机跟随 /// @@ -158,6 +161,6 @@ public class FourthGCamCtrl : MonoBehaviour { void NobodySelected(IMessage obj) { //preTargetPosition = target.position; - target = null; + target = null; } } diff --git a/Assets/Scripts/DongYouLiQing/4GMap/QuadCamera.cs b/Assets/Scripts/DongYouLiQing/4GMap/QuadCamera.cs index 9d8d0c1..971da3e 100644 --- a/Assets/Scripts/DongYouLiQing/4GMap/QuadCamera.cs +++ b/Assets/Scripts/DongYouLiQing/4GMap/QuadCamera.cs @@ -4,14 +4,15 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class QuadCamera : MonoBehaviour { +public class QuadCamera : MonoBehaviour +{ public CloneGameObjInfo info; public Transform target; private Camera myCam; - private float height = 3; //查看人员模式下,摄像机高度 + private float height = 1.5f; //查看人员模式下,摄像机高度 private float distance = 2; //查看人员模式下,人与摄像机之间的距离 private float dampTrace = 20.0f; //查看人员模式下,摄像机平滑追踪的变量 - private float lookingAtHeight = 3.5f; + private float lookingAtHeight = 2f; private float lookingAtDistance = 5; void Awake() { @@ -22,14 +23,14 @@ public class QuadCamera : MonoBehaviour { this.info = info; MessageDispatcher.AddListener("CancelQuadDisplay", DeleteThisCamera); MessageDispatcher.AddListener("OpenFourthG", DisableCameraOpenTransfer); - MessageDispatcher.AddListener("QuadrupleMode", DisableCamera); - target = EntitiesManager.Instance.GetEntityByID(info.gameObjID).transform; + MessageDispatcher.AddListener("QuadrupleMode", DisableCamera); + target = EntitiesManager.Instance.GetEntityByID(info.gameObjID).transform; } void OnDestroy() { MessageDispatcher.RemoveListener("CancelQuadDisplay", DeleteThisCamera); MessageDispatcher.RemoveListener("OpenFourthG", DisableCameraOpenTransfer); - MessageDispatcher.RemoveListener("QuadrupleMode", DisableCamera); + MessageDispatcher.RemoveListener("QuadrupleMode", DisableCamera); } /// /// 关闭四分屏模式,或四分屏模式下关闭4G图传窗口,则禁用四分屏相机,减少性能消耗 @@ -37,7 +38,7 @@ public class QuadCamera : MonoBehaviour { /// private void DisableCamera(IMessage obj) { - var value = (bool)obj.Data; + var value = (bool)obj.Data; this.enabled = value; myCam.enabled = value; } @@ -53,7 +54,7 @@ public class QuadCamera : MonoBehaviour { return; } //打开图传面板时,在四分屏模式,则相机和此脚本开启 - if (value==true && QuadrupleMode.quadingMode == true) + if (value == true && QuadrupleMode.quadingMode == true) { this.enabled = true; myCam.enabled = true; @@ -69,13 +70,13 @@ public class QuadCamera : MonoBehaviour { var deleteInfo = (CloneGameObjInfo)obj.Data; if (deleteInfo.gameObjID == info.gameObjID) { - Destroy(gameObject); + Destroy(gameObject); } else { StartCoroutine(UpdateName()); } - } + } IEnumerator UpdateName() { yield return new WaitForEndOfFrame(); @@ -84,7 +85,7 @@ public class QuadCamera : MonoBehaviour { void LateUpdate() { //有目标人员并且相机当前激活 - if (target && myCam.enabled==true) + if (target && myCam.enabled == true) { //相机的位置,在人员胸前 transform.position = Vector3.Lerp(transform.position, target.position + (target.forward * distance) + (Vector3.up * height), Time.deltaTime * dampTrace); diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/FireFightNormal.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/FireFightNormal.cs index 835e9b8..42be86d 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/FireFightNormal.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/FireFightNormal.cs @@ -60,14 +60,14 @@ public class FireFightNormal : MonoBehaviour //将该火加入到对应的火堆字典中 //因为蔓延火是在演练开始后才开始蔓延,所以能加进去 //只加蔓延火 - if (baseinfo.gameObjType==CloneObjType.SpreadedFire&& + if (baseinfo.gameObjType == CloneObjType.SpreadedFire && GetComponent()) { long mainFireId = GetComponent().fireGameObjID; SpreadFireController.fireStruckContainDic[mainFireId].Add(this); } } - void OnDisable() + void OnDisable() { if (GameSettings.othersSettings.isStartDrill) { @@ -78,7 +78,7 @@ public class FireFightNormal : MonoBehaviour { SpreadFireController.fireStruckContainDic[baseinfo.gameObjID].Remove(this); } - + } //主火(普通火)只隐藏不删除 Straightwater.Clear(); @@ -93,14 +93,28 @@ public class FireFightNormal : MonoBehaviour GetComponent()) { long mainFireId = GetComponent().fireGameObjID; - if (SpreadFireController.fireStruckContainDic.ContainsKey(mainFireId)) + if (SpreadFireController.fireStruckContainDic.ContainsKey(mainFireId)) { if (SpreadFireController.fireStruckContainDic[mainFireId].Contains(this)) { SpreadFireController.fireStruckContainDic[mainFireId].Remove(this); + if (SpreadFireController.fireStruckContainDic[mainFireId].Count < 1) + { + EntitiesManager.Instance.DeleteObj(EntitiesManager.Instance.GetEntityByID(mainFireId)); + if (GameSettings.othersSettings.mode != Mode.DisasterManagement) + { + if (CurrentUserInfo.room != null && CurrentUserInfo.mySelf.Id == CurrentUserInfo.room.Owner.UserInfo.Id) + { + BaseNetworkSyncDate arg = new BaseNetworkSyncDate(); + arg.SendUserID = CurrentUserInfo.mySelf.Id; + arg.gameObjID = mainFireId; + NetworkManager.Default.SendAsync("OBJ_DELECT_SYNC", arg); + } + } + } } } - + } Straightwater.Clear(); FrothList.Clear(); @@ -123,8 +137,8 @@ public class FireFightNormal : MonoBehaviour void OnParticleCollision(GameObject other) { - - if (CurrentUserInfo.room!=null&&CurrentUserInfo.mySelf.Id == CurrentUserInfo.room.Owner.UserInfo.Id) + + if (CurrentUserInfo.room != null && CurrentUserInfo.mySelf.Id == CurrentUserInfo.room.Owner.UserInfo.Id) { if (baseinfo.gameObjType == CloneObjType.fireNormal) { @@ -187,6 +201,7 @@ public class FireFightNormal : MonoBehaviour transform.GetChild(i).gameObject.SetActive(false); } GetComponent().enabled = false; + SpreadFireController.fireStruckContainDic[baseinfo.gameObjID].Remove(this); } } diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/SpreadFireController.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/SpreadFireController.cs index a70bdf8..be4a681 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/SpreadFireController.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/WaterFightFire/SpreadFireController.cs @@ -20,7 +20,7 @@ public class SpreadFireController : MonoBehaviour /// /// 火堆字典,每个火堆对应几个火,key为火堆(主火id),list为这堆火由哪几个火组成 /// - public static Dictionary> fireStruckContainDic = new Dictionary>(); + public static Dictionary> fireStruckContainDic = new Dictionary>(); // Use this for initialization void Start() { @@ -45,17 +45,17 @@ public class SpreadFireController : MonoBehaviour { if (GameSettings.othersSettings.isStartDrill) { - if (flag==false) + if (flag == false) { GetFireStruckList(); GetfireStruckContainDic(); flag = true; } - if (CurrentUserInfo.mySelf==null||CurrentUserInfo.room==null) + if (CurrentUserInfo.mySelf == null || CurrentUserInfo.room == null) { return; } - if (CurrentUserInfo.mySelf.Id==CurrentUserInfo.room.Owner.UserInfo.Id) + if (CurrentUserInfo.mySelf.Id == CurrentUserInfo.room.Owner.UserInfo.Id) { if (p_FireNormal.childCount > 0) { @@ -111,7 +111,7 @@ public class SpreadFireController : MonoBehaviour if (baseinfo.gameObjType == CloneObjType.fireNormal) { if (!fireNormalStruckList.Contains(baseinfo.gameObjID)) - { + { fireNormalStruckList.Add(baseinfo.gameObjID); } } @@ -138,7 +138,7 @@ public class SpreadFireController : MonoBehaviour { for (int i = 0; i < fireNormalStruckList.Count; i++) { - if (fireStruckContainDic[fireNormalStruckList[i]].Count<1) + if (fireStruckContainDic[fireNormalStruckList[i]].Count < 1) { fireStruckContainDic.Remove(fireNormalStruckList[i]); fireNormalStruckList.Remove(fireNormalStruckList[i]); @@ -155,28 +155,28 @@ public class SpreadFireController : MonoBehaviour float fireArea = 0;//该火堆的面积 float waterControlArea = 0;//该火堆总控火面积 GameObject mainfire = EntitiesManager.Instance.GetEntityByID(fireNormalStruckList[i]); - + List nowstruck = fireStruckContainDic[fireNormalStruckList[i]]; for (int j = 0; j < nowstruck.Count; j++) { //该火堆中每个火的baseinfo BaseGameObjInfo info = nowstruck[j].GetComponent(); - if (info.gameObjType==CloneObjType.fireNormal) + if (info.gameObjType == CloneObjType.fireNormal) { fireArea += info.GetComponent().fireAttribute.initialSize; } - if(info.gameObjType == CloneObjType.SpreadedFire) + if (info.gameObjType == CloneObjType.SpreadedFire) { fireArea += 10; } - if (info.GetComponent().Straightwater.Count>0) + if (info.GetComponent().Straightwater.Count > 0) { //作用在某个火的面积 for (int k = 0; k < info.GetComponent().Straightwater.Count; k++) { WaterFightFire water = info.GetComponent().Straightwater[k]; - if (water.GetComponentInParent().gameObjType == CloneObjType.fireman|| + if (water.GetComponentInParent().gameObjType == CloneObjType.fireman || water.GetComponentInParent().gameObjType == CloneObjType.FirefightingRobot) { waterControlArea += 50; @@ -188,17 +188,19 @@ public class SpreadFireController : MonoBehaviour } } } - + //如果可以控制住 - if (waterControlArea >= fireArea) + + if (waterControlArea > fireArea) { - + mainfire.GetComponent().BeController = true; } - else + else { mainfire.GetComponent().BeController = false; } + } } }