From 4cd5797462e5bd078c589437818a553ea48b467e Mon Sep 17 00:00:00 2001 From: "DESKTOP-KFV16CV\\cyt" <2268162076@qq.com> Date: Tue, 25 Aug 2020 16:51:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E8=BF=9B=E5=85=A5=E6=BC=94?= =?UTF-8?q?=E7=BB=83=E8=BD=BB=E4=BC=A4=E5=91=98=E6=8A=A5=E9=94=99=20?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E8=BD=A6=E8=BE=86=E7=9A=84=E6=B0=B4=E5=B9=95?= =?UTF-8?q?=E6=B0=B4=E5=B8=A6=E5=A6=82=E6=9E=9C=E5=8F=AA=E6=9C=89=E5=8D=95?= =?UTF-8?q?=E6=9D=A1=E6=B0=B4=E5=B8=A6=EF=BC=88=E6=B2=A1=E6=9C=89=E6=8B=90?= =?UTF-8?q?=E5=BC=AF=EF=BC=89=E4=B8=8D=E5=87=BA=E6=B0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Disasters/Wound_Trapped/WoundedSave.cs | 9 +- .../InputSystem/InputManager/InputManager.cs | 3 +- .../Common/Tools/WaterCurtainHoseSkillCtrl.cs | 195 ++++++++++-------- .../LeadGroup/ExitDrillButton.cs | 1 + 4 files changed, 113 insertions(+), 95 deletions(-) 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()); }