diff --git a/Assets/Scripts/Common/Disasters/Wound_Trapped/WoundedSave.cs b/Assets/Scripts/Common/Disasters/Wound_Trapped/WoundedSave.cs index fbaf39e..fe6a92c 100644 --- a/Assets/Scripts/Common/Disasters/Wound_Trapped/WoundedSave.cs +++ b/Assets/Scripts/Common/Disasters/Wound_Trapped/WoundedSave.cs @@ -66,8 +66,8 @@ public class WoundedSave : MonoBehaviour { private void OnDisable() { MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveWounded); - MessageDispatcher.AddListener("GUIDANCE_MAN_COMMAND", GuidanceWounded); - MessageDispatcher.AddListener("FRISTAID_MAN_COMMAND", FristAidWounded); + MessageDispatcher.RemoveListener("GUIDANCE_MAN_COMMAND", GuidanceWounded); + MessageDispatcher.RemoveListener("FRISTAID_MAN_COMMAND", FristAidWounded); WoundedInfo.getAllWoundedCount -= addMyWounded; WoundedInfo.getWoundedRescuedCount -= addMyRescue; RescuedValue.getAllRescuedWounded -= addMyRescue; @@ -79,8 +79,8 @@ public class WoundedSave : MonoBehaviour { private void OnDestroy() { MessageDispatcher.RemoveListener("MOVE_MAN_COMMAND", MoveWounded); - MessageDispatcher.AddListener("GUIDANCE_MAN_COMMAND", GuidanceWounded); - MessageDispatcher.AddListener("FRISTAID_MAN_COMMAND", FristAidWounded); + MessageDispatcher.RemoveListener("GUIDANCE_MAN_COMMAND", GuidanceWounded); + MessageDispatcher.RemoveListener("FRISTAID_MAN_COMMAND", FristAidWounded); WoundedInfo.getAllWoundedCount -= addMyWounded; WoundedInfo.getWoundedRescuedCount -= addMyRescue; RescuedValue.getAllRescuedWounded -= addMyRescue; @@ -91,6 +91,7 @@ public class WoundedSave : MonoBehaviour { { data = (ForcibleEntryCmdArgs)msg.Data; if (data == null) return; + if (!gameObject.GetComponent()) return; if ((gameObject.GetComponent().gameObjID != data.gameObjID)) return; //if (GameSettings.othersSettings.playState == PlayState.Playing) //{ diff --git a/Assets/Scripts/Common/InputSystem/InputManager/InputManager.cs b/Assets/Scripts/Common/InputSystem/InputManager/InputManager.cs index 4970149..f754270 100644 --- a/Assets/Scripts/Common/InputSystem/InputManager/InputManager.cs +++ b/Assets/Scripts/Common/InputSystem/InputManager/InputManager.cs @@ -946,7 +946,8 @@ public class InputManager : MonoBehaviour { if (SelectedObjs.gameObjs.Contains(hit.transform.gameObject)) { - if (SelectedObjs.selectedObj!=null&&hit.transform.gameObject!=null&& SelectedObjs.selectedObj != hit.transform.gameObject) + if (hit.transform.gameObject!=null&& hit.transform.GetComponent() + && SelectedObjs.selectedObj != hit.transform.gameObject) { if (CurrentUserInfo.generalCommanding && GameObject.Find("Main Camera").GetComponent().viewType == CameraViewState.ThirdPersonView) diff --git a/Assets/Scripts/Common/Tools/WaterCurtainHoseSkillCtrl.cs b/Assets/Scripts/Common/Tools/WaterCurtainHoseSkillCtrl.cs index eb2381e..a855e3b 100644 --- a/Assets/Scripts/Common/Tools/WaterCurtainHoseSkillCtrl.cs +++ b/Assets/Scripts/Common/Tools/WaterCurtainHoseSkillCtrl.cs @@ -82,53 +82,60 @@ public class WaterCurtainHoseSkillCtrl : MonoBehaviour { if ((i + 1) < pathPoints.Count) { + //var distance = Vector3.Distance(pathPoints[i], pathPoints[i + 1]); + //if (accumulationDis < startSprayWaterDistance) + //{ + // accumulationDis += distance; + //} + //else + //{ + // if (accumulationDis % startSprayWaterDistance == 0) + // {//正好整数段水幕水带子对象加起来为5米长 + // sprayWaterPoss.Add(pathPoints[i]); + + // var result = (int)(distance / spaceDistance); + // for (int j = 1; j <= result; j++) + // { + // var sprayWaterPos = Vector3.MoveTowards(pathPoints[i], pathPoints[i + 1], spaceDistance * j); + // sprayWaterPoss.Add(sprayWaterPos); + // } + // } + // else + // {//整数段水幕水带子对象加起来已大于5米 + // if (!flag) + // { + // var dis = accumulationDis - startSprayWaterDistance; + + // var startpos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i], startSprayWaterDistance); + + // sprayWaterPoss.Add(startpos); + + // var res = (int)(dis / spaceDistance); + // for (int j = 1; j <= res; j++) + // { + // var sprayWtPos = Vector3.MoveTowards(startpos, pathPoints[i], spaceDistance * j); + // sprayWaterPoss.Add(sprayWtPos); + // } + + // flag = true; + // } + + // var result = (int)(distance / spaceDistance); + // for (int j = 1; j <= result; j++) + // { + // var sprayWaterPos = Vector3.MoveTowards(pathPoints[i], pathPoints[i + 1], spaceDistance * j); + // sprayWaterPoss.Add(sprayWaterPos); + // } + // } + //} var distance = Vector3.Distance(pathPoints[i], pathPoints[i + 1]); - if (accumulationDis < startSprayWaterDistance) - { - accumulationDis += distance; - } - else + var result = (int)(distance / spaceDistance); + for (int j = 1; j <= result; j++) { - if (accumulationDis % startSprayWaterDistance == 0) - {//正好整数段水幕水带子对象加起来为5米长 - sprayWaterPoss.Add(pathPoints[i]); - - var result = (int)(distance / spaceDistance); - for (int j = 1; j <= result; j++) - { - var sprayWaterPos = Vector3.MoveTowards(pathPoints[i], pathPoints[i + 1], spaceDistance * j); - sprayWaterPoss.Add(sprayWaterPos); - } - } - else - {//整数段水幕水带子对象加起来已大于5米 - if (!flag) - { - var dis = accumulationDis - startSprayWaterDistance; - - var startpos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i], startSprayWaterDistance); - - sprayWaterPoss.Add(startpos); - - var res = (int)(dis / spaceDistance); - for (int j = 1; j <= res; j++) - { - var sprayWtPos = Vector3.MoveTowards(startpos, pathPoints[i], spaceDistance * j); - sprayWaterPoss.Add(sprayWtPos); - } - - flag = true; - } - - var result = (int)(distance / spaceDistance); - for (int j = 1; j <= result; j++) - { - var sprayWaterPos = Vector3.MoveTowards(pathPoints[i], pathPoints[i + 1], spaceDistance * j); - sprayWaterPoss.Add(sprayWaterPos); - } - } + var sprayWaterPos = Vector3.MoveTowards(pathPoints[i], pathPoints[i + 1], spaceDistance * j); + sprayWaterPoss.Add(sprayWaterPos); } - + } } } @@ -165,53 +172,61 @@ public class WaterCurtainHoseSkillCtrl : MonoBehaviour { if ((i - 1) > 0) { + //var distance = Vector3.Distance(pathPoints[i - 1], pathPoints[i - 2]); + //if (accumulationDis < startSprayWaterDistance) + //{ + // accumulationDis += distance; + // sprayWaterPoss.Add(pathPoints[i - 1]); + //} + //else + //{ + // if (accumulationDis % startSprayWaterDistance == 0) + // {//正好整数段水幕水带子对象加起来为5米长 + + // sprayWaterPoss.Add(pathPoints[i - 1]); + + // //加入每段根据间隔的分割点 + // var result = (int)(distance / spaceDistance); + // for (int j = 1; j <= result; j++) + // { + // var sprayWaterPos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i - 2], spaceDistance * j); + // sprayWaterPoss.Add(sprayWaterPos); + // } + // } + // else + // {//整数段水幕水带子对象加起来已大于5米 + // if (!flag) + // { + // var dis = accumulationDis - startSprayWaterDistance; + + // var startpos = Vector3.MoveTowards(pathPoints[i], pathPoints[i - 1], startSprayWaterDistance); + + // sprayWaterPoss.Add(startpos); + + // var res = (int)(dis / spaceDistance); + // for (int j = 1; j <= res; j++) + // { + // var sprayWtPos = Vector3.MoveTowards(startpos, pathPoints[i - 1], spaceDistance * j); + // sprayWaterPoss.Add(sprayWtPos); + // } + + // flag = true; + // } + + // var result = (int)(distance / spaceDistance); + // for (int j = 1; j <= result; j++) + // { + // var sprayWaterPos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i - 2], spaceDistance * j); + // sprayWaterPoss.Add(sprayWaterPos); + // } + // } + //} var distance = Vector3.Distance(pathPoints[i - 1], pathPoints[i - 2]); - if (accumulationDis < startSprayWaterDistance) - { - accumulationDis += distance; - } - else + var result = (int)(distance / spaceDistance); + for (int j = 1; j <= result; j++) { - if (accumulationDis % startSprayWaterDistance == 0) - {//正好整数段水幕水带子对象加起来为5米长 - - sprayWaterPoss.Add(pathPoints[i - 1]); - - //加入每段根据间隔的分割点 - var result = (int)(distance / spaceDistance); - for (int j = 1; j <= result; j++) - { - var sprayWaterPos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i - 2], spaceDistance * j); - sprayWaterPoss.Add(sprayWaterPos); - } - } - else - {//整数段水幕水带子对象加起来已大于5米 - if (!flag) - { - var dis = accumulationDis - startSprayWaterDistance; - - var startpos = Vector3.MoveTowards(pathPoints[i], pathPoints[i - 1], startSprayWaterDistance); - - sprayWaterPoss.Add(startpos); - - var res = (int)(dis / spaceDistance); - for (int j = 1; j <= res; j++) - { - var sprayWtPos = Vector3.MoveTowards(startpos, pathPoints[i - 1], spaceDistance * j); - sprayWaterPoss.Add(sprayWtPos); - } - - flag = true; - } - - var result = (int)(distance / spaceDistance); - for (int j = 1; j <= result; j++) - { - var sprayWaterPos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i - 2], spaceDistance * j); - sprayWaterPoss.Add(sprayWaterPos); - } - } + var sprayWaterPos = Vector3.MoveTowards(pathPoints[i - 1], pathPoints[i - 2], spaceDistance * j); + sprayWaterPoss.Add(sprayWaterPos); } } } @@ -253,7 +268,7 @@ public class WaterCurtainHoseSkillCtrl : MonoBehaviour } } - if (!isClonedWaterCurtain) + if (!isClonedWaterCurtain) {//选中的水幕水带不存在水幕粒子特效,实例化水幕 CloneGameObjInfo info = selectedWaterCurtainHose.GetComponent(); for (int i = 0; i < sprayWaterPoss.Count; i++) diff --git a/Assets/Scripts/DongYouLiQing/LeadGroup/ExitDrillButton.cs b/Assets/Scripts/DongYouLiQing/LeadGroup/ExitDrillButton.cs index 880f134..31e6b4a 100644 --- a/Assets/Scripts/DongYouLiQing/LeadGroup/ExitDrillButton.cs +++ b/Assets/Scripts/DongYouLiQing/LeadGroup/ExitDrillButton.cs @@ -45,6 +45,7 @@ public class ExitDrillButton : BaseButton user.IsReady = false; //重置房间 CurrentUserInfo.room = null; + EntitiesManager.Instance.Reset(); NetworkManager.Default.SendAsync("ROOM_LEAVE_SYNC", data); SceneManager.LoadScene(GoTo.RolesSelection.ToString()); }