diff --git a/Assets/Scripts/Common/ChatSystem/FireSiteInfo/FireInfoToggle.cs b/Assets/Scripts/Common/ChatSystem/FireSiteInfo/FireInfoToggle.cs index 1c39bea..ee26c00 100644 --- a/Assets/Scripts/Common/ChatSystem/FireSiteInfo/FireInfoToggle.cs +++ b/Assets/Scripts/Common/ChatSystem/FireSiteInfo/FireInfoToggle.cs @@ -14,8 +14,8 @@ public class FireInfoToggle : BaseToggle } public override void OnDisable() { - //base.OnDisable(); - //MessageDispatcher.RemoveListener("CloseFireInfoPanel", CancelToggle); + base.OnDisable(); + MessageDispatcher.RemoveListener("CloseFireInfoPanel", CancelToggle); } public override void OnDestroy() { diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/CloneWaterHoseLines.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/CloneWaterHoseLines.cs index fa5d124..43054cc 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/CloneWaterHoseLines.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/CloneWaterHoseLines.cs @@ -167,7 +167,7 @@ public class CloneWaterHoseLines : CloneBase } Vector3 corstart = correctPoint(startHitGameobj); - + if (corstart != Vector3.zero) { hitPoint = corstart; @@ -179,7 +179,7 @@ public class CloneWaterHoseLines : CloneBase //{ // startPoint = changeStartPointWhileHitHose(startHitGameobj, hitPoint); //} - + beginLinePoint = startPoint; return; } @@ -198,12 +198,12 @@ public class CloneWaterHoseLines : CloneBase // return; //} Vector3 corend = correctPoint(endHitGameobj); - + //Debug.Log(endHitGameobj.name); if (corend != Vector3.zero) { endPoint = corend; - + } @@ -256,29 +256,7 @@ public class CloneWaterHoseLines : CloneBase //设置楼层属性 Setattribute(data.gameObjID, parentgameobj); - if (endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - startHitGameobj.GetComponent()) - { - if (endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent() || - endHitGameobj.GetComponent()) - { - LoadPromptWin.Instance.LoadTextPromptWindow("连接成功",1f); - } - var arg = new HoseConnectOrDelectData(); - arg.StartId = startHitGameobj.GetComponent().gameObjID; - arg.EndId = endHitGameobj.GetComponent().gameObjID; - arg.HoseId = parentgameobj.GetComponent().gameObjID; - arg.Isconnect = true; - MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); - } //connentFireMan(); //connentWaterCannon(); @@ -307,10 +285,32 @@ public class CloneWaterHoseLines : CloneBase EntitiesManager.Instance.DeleteObj(parentgameobj); } - + //同步 CloneInfoSync(endPoint); + if (endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + startHitGameobj.GetComponent()) + { + if (endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent() || + endHitGameobj.GetComponent()) + { + LoadPromptWin.Instance.LoadTextPromptWindow("连接成功", 1f); + } + var arg = new HoseConnectOrDelectData(); + arg.StartId = startHitGameobj.GetComponent().gameObjID; + arg.EndId = endHitGameobj.GetComponent().gameObjID; + arg.HoseId = parentgameobj.GetComponent().gameObjID; + arg.Isconnect = true; + MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); + } //如果连接到消防车、消防员或者水源上,重置信息,准备另画一条水带 if (endHitGameobj.GetComponent() || endHitGameobj.GetComponent() || diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/FireManWaterHoseManager.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/FireManWaterHoseManager.cs index b0c01e0..760d33f 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/FireManWaterHoseManager.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/Associated/FireManWaterHoseManager.cs @@ -85,7 +85,7 @@ public class FireManWaterHoseManager : MonoBehaviour } - public void OnEnable() + public void Awake() { MessageDispatcher.AddListener("WATERHOSEEXPEND", HoseExpend); MessageDispatcher.AddListener("PACK_OR_TACK_HOSE_COMMAND", PackOrTackHose); @@ -324,6 +324,12 @@ public class FireManWaterHoseManager : MonoBehaviour FireManSkillPanelController.Instance.LayWaterHoseToggle.GetComponent().isOn = true; FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; } + //var arg = new HoseConnectOrDelectData(); + //arg.StartId = hosemsg.WaterSource.GetComponent().gameObjID; + //arg.EndId = GetComponent().gameObjID; + //arg.HoseId = hosemsg.ConnectWaterHose.GetComponent().gameObjID; + //arg.Isconnect = true; + //MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); } else { @@ -530,27 +536,31 @@ public class FireManWaterHoseManager : MonoBehaviour /// 是否有水源 /// /// - public void ResetWaterSourceConnectInfo(bool connectsource, bool water, bool foam, GameObject watersource, GameObject connecthose) + public void ResetWaterSourceConnectInfo(bool connectsource, bool water, bool foam, GameObject watersource, GameObject connecthose, bool issync = false) { - IsConnentWaterSource = connectsource; - hasWaterConnect = water; - hasFoamConnect = foam; - ConnentSource = watersource; - WaterLineConnent = connecthose; - if (connecthose != null) + if (issync == false) { - IsConnentWaterLine = true; - } - if (connectsource) - { - if (FireManSkillPanelController.Instance) + IsConnentWaterSource = connectsource; + hasWaterConnect = water; + hasFoamConnect = foam; + ConnentSource = watersource; + WaterLineConnent = connecthose; + if (connecthose != null) + { + IsConnentWaterLine = true; + } + if (connectsource) { - if (SelectedObjs.selectedObj == gameObject) + if (FireManSkillPanelController.Instance) { - FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + if (SelectedObjs.selectedObj == gameObject) + { + FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + } } } } + } /// /// 重置连接水带信息 diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LAY_WATER_HOSE_SYNC.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LAY_WATER_HOSE_SYNC.cs index d5b6dde..c517f2d 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LAY_WATER_HOSE_SYNC.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LAY_WATER_HOSE_SYNC.cs @@ -78,7 +78,7 @@ public class LAY_WATER_HOSE_SYNC : NetworkMessageBehaviour } else { - GetComponent().EndLay(); + GetComponent().EndLay(true); } } } diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LayWaterHose.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LayWaterHose.cs index 2c51e65..b12bbb5 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LayWaterHose.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/LayWaterHose/LayWaterHose.cs @@ -60,10 +60,10 @@ public class LayWaterHose : MonoBehaviour /// /// 如果是本客户端 /// - public bool IsselfCurrent=true; + public bool IsselfCurrent = true; private int creatnum = 1; - // private bool setInitpoint; - // public float LastLenght; + // private bool setInitpoint; + // public float LastLenght; //private float LastLayLenght; // Use this for initialization void Start() @@ -156,12 +156,12 @@ public class LayWaterHose : MonoBehaviour // Update is called once per frame void Update() { - + //Debug.Log(flag+"//"+ agent.velocity.magnitude ); if (flag && agent.velocity.magnitude > 0) //开启“铺设水带”,并且开始寻路时才会执行 { remainlenght = GetComponent().WaterHoseLenghtRemain; - + endPoint = transform.position; //LayLenght= GetSelfConsumedLength(); if (remainlenght > 0 && remainlenght <= 0.5f) //临界带 @@ -173,7 +173,7 @@ public class LayWaterHose : MonoBehaviour LoadPromptWin.Instance.LoadTextPromptWindow("水带用完", 1f); } } - + DrawByTimespan();//按更新的铺设路线画一次水带 } @@ -323,7 +323,7 @@ public class LayWaterHose : MonoBehaviour /// /// 开始铺设水带 /// - public void StartLay() + public void StartLay(bool issync = false) { agent.SetDestination(transform.position); //if (GetComponent().OverLenght > 0) @@ -349,7 +349,7 @@ public class LayWaterHose : MonoBehaviour } //ParentLayHose = EntitiesManager.Instance.CreateObj(ParentLayHosePrefabs, Vector3.zero, // WaterHoses.transform, EntitiesManager.Instance.CreateObjID(CurrentUserInfo.mySelf.Id)); // Instantiate(ParentLayHosePrefabs, WaterHoses.transform); - ParentLayHose=Instantiate(ParentLayHosePrefabs, WaterHoses.transform); + ParentLayHose = Instantiate(ParentLayHosePrefabs, WaterHoses.transform); //ParentLayHose.GetComponent().gameObjID = EntitiesManager.Instance.CreateObjID(CurrentUserInfo.mySelf.Id); ParentLayHose.name = "LayWaterHose" + creatnum; creatnum++; @@ -358,7 +358,7 @@ public class LayWaterHose : MonoBehaviour AddInit(); endPoint = transform.position; flag = true; - + } //如果放下期间没有被别人捡起,继续铺设 else @@ -377,18 +377,25 @@ public class LayWaterHose : MonoBehaviour //更新消防员水源信息 if (ParentLayHose.GetComponent().WaterSource != null) { - gameObject.GetComponent().ResetWaterSourceConnectInfo - (true, ParentLayHose.GetComponent().ConnectWater, - ParentLayHose.GetComponent().ConnectFoam, ParentLayHose.GetComponent().WaterSource, - ParentLayHose.GetComponent().ConnectWaterHose); - if (/*FindObjectOfType()*/FireManSkillPanelController.Instance) + if (issync == false) { - FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + gameObject.GetComponent().ResetWaterSourceConnectInfo + (true, ParentLayHose.GetComponent().ConnectWater, + ParentLayHose.GetComponent().ConnectFoam, ParentLayHose.GetComponent().WaterSource, + ParentLayHose.GetComponent().ConnectWaterHose); + if (/*FindObjectOfType()*/FireManSkillPanelController.Instance) + { + FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + } } + } else { - gameObject.GetComponent().ResetWaterSourceConnectInfo(false, false, false, null, null); + if (issync == false) + { + gameObject.GetComponent().ResetWaterSourceConnectInfo(false, false, false, null, null); + } } flag = true; ParentLayHose.GetComponent().ConnectFireman = gameObject; @@ -419,12 +426,12 @@ public class LayWaterHose : MonoBehaviour FireManWaterHoseManager thisFireman = GetComponent(); ParentLayHose.GetComponent().BindWaterSource(thisFireman.hasWaterConnect, thisFireman.hasFoamConnect, thisFireman.ConnentSource, thisFireman.WaterLineConnent); } - + allInits.Clear(); AddInit(); endPoint = transform.position; flag = true; - + } } @@ -441,7 +448,7 @@ public class LayWaterHose : MonoBehaviour /// /// 消防员喷水、泡沫时铺设水带 /// - public void StartSprayingLay() + public void StartSprayingLay(bool issync = false) { agent.SetDestination(transform.position); if (!GetComponent().pathFindEnable) @@ -459,10 +466,14 @@ public class LayWaterHose : MonoBehaviour { if (ParentLayHose.GetComponent().WaterSource != null) { - gameObject.GetComponent().ResetWaterSourceConnectInfo - (true, ParentLayHose.GetComponent().ConnectWater, - ParentLayHose.GetComponent().ConnectFoam, ParentLayHose.GetComponent().WaterSource, - ParentLayHose.GetComponent().ConnectWaterHose); + if (issync == false) + { + gameObject.GetComponent().ResetWaterSourceConnectInfo + (true, ParentLayHose.GetComponent().ConnectWater, + ParentLayHose.GetComponent().ConnectFoam, ParentLayHose.GetComponent().WaterSource, + ParentLayHose.GetComponent().ConnectWaterHose); + } + if (/*FindObjectOfType()*/FireManSkillPanelController.Instance) { FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; @@ -470,7 +481,10 @@ public class LayWaterHose : MonoBehaviour } else { - gameObject.GetComponent().ResetWaterSourceConnectInfo(false, false, false, null, null); + if (issync == false) + { + gameObject.GetComponent().ResetWaterSourceConnectInfo(false, false, false, null, null); + } } //GetComponent().WaterHoseLenghtRemain = // GetComponent().NowRemainWaterHose * 20 + ParentLayHose.GetComponent().RemainLenght;//+ GetComponent().OverLenght; @@ -497,7 +511,7 @@ public class LayWaterHose : MonoBehaviour /// /// 结束铺设,放下水带 /// - public void EndLay() + public void EndLay(bool issync = false, bool isstoplayskill = true) { //endlay(); if (flag) @@ -505,7 +519,7 @@ public class LayWaterHose : MonoBehaviour flag = false; agent.SetDestination(transform.position); //停止移动 - SetLayHoseInfo(); + SetLayHoseInfo(issync, isstoplayskill); //lengthDic.Clear();//清空本次绘制存储的线 //IsTackUp = false; //TackHose = null; @@ -521,11 +535,11 @@ public class LayWaterHose : MonoBehaviour /// /// 结束铺设时设置该铺设管线信息 /// - void SetLayHoseInfo() + void SetLayHoseInfo(bool issync = false, bool isstoplayskill = true) { - // LastLenght = GetSelfConsumedLength() - ParentLayHose.GetComponent().LineLenght; - - + // LastLenght = GetSelfConsumedLength() - ParentLayHose.GetComponent().LineLenght; + + ParentLayHose.GetComponent().LineLenght = GetSelfConsumedLength(); ParentLayHose.GetComponent().UseNum = Mathf.CeilToInt(GetSelfConsumedLength() / 20); ParentLayHose.GetComponent().CreatFireman = gameObject; @@ -546,12 +560,39 @@ public class LayWaterHose : MonoBehaviour { ParentLayHose.GetComponent().BindWaterSource(false, false, null, null); } - if (GetComponent().workType==FireManSkills.SprayFoam|| + if (GetComponent().workType == FireManSkills.SprayFoam || GetComponent().workType == FireManSkills.SprayWater) { GetComponent().pathFindEnable = false; } + // StartCoroutine(closespraytoggle()); + //if (!(endPoint != Vector3.zero && Vector3.Distance(transform.position, endPoint) < 5)) + //{ + // if (FireManSkillPanelController.Instance) + // { + // FireManSkillPanelController.Instance.SprayWater.GetComponent().isOn = false; + // FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = false; + // } + //} + if (issync == false) + { GetComponent().Resert(); + } + + } + IEnumerator closespraytoggle() + { + yield return new WaitForSeconds(0.2f); + if (GetComponent().WorkType != FireManSkills.SprayFoam && + GetComponent().WorkType != FireManSkills.SprayWater || + !FireManSkillPanelController.Instance.extinguishantSelect.gameObject.activeSelf) + { + //if (FireManSkillPanelController.Instance) + { + FireManSkillPanelController.Instance.SprayWater.GetComponent().isOn = false; + FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = false; + } + } } /// /// 收起水带 @@ -654,7 +695,7 @@ public class LayWaterHose : MonoBehaviour // AddInit(); // } //} - + } @@ -719,7 +760,7 @@ public class LayWaterHose : MonoBehaviour hose.transform.parent = WaterHoses.transform; hose.transform.forward = (shuiqiang.position - transform.position).normalized;//改变朝向 float distance = Vector3.Distance(transform.position, shuiqiang.position); - hose.transform.localScale = new Vector3(25,25, distance * 78);//延长线条,连接两点 + hose.transform.localScale = new Vector3(25, 25, distance * 78);//延长线条,连接两点 } /// @@ -876,7 +917,7 @@ public class LayWaterHose : MonoBehaviour { CloneGameObjInfo hoseinfo = hose.GetComponent(); CloneGameObjInfo hitinfo = hit.transform.gameObject.GetComponent(); - + hoseinfo.buildNum = hitinfo.buildNum; hoseinfo.floorNum = hitinfo.floorNum; hoseinfo.interlayerNum = hitinfo.interlayerNum; @@ -891,18 +932,27 @@ public class LayWaterHose : MonoBehaviour } public void SetWaterInfoWhileSpray() { - if (ParentLayHose!=null&& ParentLayHose.GetComponent()!=null) + if (ParentLayHose != null && ParentLayHose.GetComponent() != null) { if (ParentLayHose.GetComponent().WaterSource != null) { - gameObject.GetComponent().ResetWaterSourceConnectInfo + if ((endPoint != Vector3.zero && Vector3.Distance(transform.position, endPoint) < 5)) + { + gameObject.GetComponent().ResetWaterSourceConnectInfo (true, ParentLayHose.GetComponent().ConnectWater, ParentLayHose.GetComponent().ConnectFoam, ParentLayHose.GetComponent().WaterSource, ParentLayHose.GetComponent().ConnectWaterHose); - if (/*FindObjectOfType()*/FireManSkillPanelController.Instance) + if (/*FindObjectOfType()*/FireManSkillPanelController.Instance) + { + FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + DrawByTimespan(); + } + } + else { - FireManSkillPanelController.Instance.SprayWater.GetComponent().interactable = true; + LoadPromptWin.Instance.LoadTextPromptWindow("距离太远,无法自动拿起管线", 1f); } + } } } diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/ExtinguishantSelectPanel.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/ExtinguishantSelectPanel.cs index 136bd84..0df0db2 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/ExtinguishantSelectPanel.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/ExtinguishantSelectPanel.cs @@ -5,31 +5,33 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class ExtinguishantSelectPanel : MonoBehaviour { +public class ExtinguishantSelectPanel : MonoBehaviour +{ private ButtonRecordByAC waterbutton; private ButtonRecordByAC foambutton; public GameObject SelectFireman; private Transform laywaterPanel; // Use this for initialization - void Start() { + void Start() + { waterbutton = transform.Find("WaterButton").GetComponent(); foambutton = transform.Find("FoamButton").GetComponent(); waterbutton.OutInterFaceButton = waterbuttonClick; foambutton.OutInterFaceButton = foambuttonClick; laywaterPanel = transform.parent.Find("LayWaterPanel"); -} + } -private void foambuttonClick() + private void foambuttonClick() { if (SelectFireman.GetComponent().ConnentSource) { WaterSource ws = SelectFireman.GetComponent().ConnentSource.GetComponent(); float remain = SelectFireman.GetComponent().CheckFoamRemain(); - if (!(remain==100||remain>0)) + if (!(remain == 100 || remain > 0)) { - LoadPromptWin.Instance.LoadTextPromptWindow("泡沫量不足",1f); + LoadPromptWin.Instance.LoadTextPromptWindow("泡沫量不足", 1f); } } @@ -41,7 +43,7 @@ private void foambuttonClick() laywaterPanel.gameObject.SetActive(true); //FindObjectOfType().SetShowEnable(); SkillTollPanel.Instance.GetComponent().SetShowEnable(); - + MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = true, ChangObjId = SelectFireman.GetComponent().gameObjID }); @@ -54,6 +56,17 @@ private void foambuttonClick() //worksync.gameObjType = SelectFireman.GetComponent().gameObjType; //NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "FIREMAN_WORKTYPECHANGE_SYNC", worksync); + + //if (SelectFireman.GetComponent()) + //{ + // var arg = new HoseConnectOrDelectData(); + // arg.StartId = SelectFireman.GetComponent().ConnentSource.GetComponent().gameObjID; + // arg.EndId = SelectFireman.GetComponent().gameObjID; + // arg.HoseId = SelectFireman.GetComponent().WaterLineConnent.GetComponent().gameObjID; + // arg.Isconnect = true; + // MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); + //} + //出水同步 SpraySyncData spraysync = new SpraySyncData(); spraysync.spraytype = SprayParticleType.Froth; @@ -65,8 +78,8 @@ private void foambuttonClick() spraysync.gameObjType = SelectFireman.GetComponent().gameObjType; NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "SPRAY_WATER_SYNC", spraysync); gameObject.SetActive(false); - - + + } private void waterbuttonClick() @@ -93,6 +106,16 @@ private void foambuttonClick() //worksync.gameObjType = SelectFireman.GetComponent().gameObjType; //NetworkManager.Default.SendAsync(/*CurrentUserInfo.mySelf.Id,*/ "FIREMAN_WORKTYPECHANGE_SYNC", worksync); //出水同步 + + //if (SelectFireman.GetComponent()) + //{ + // var arg = new HoseConnectOrDelectData(); + // arg.StartId = SelectFireman.GetComponent().ConnentSource.GetComponent().gameObjID; + // arg.EndId = SelectFireman.GetComponent().gameObjID; + // arg.HoseId = SelectFireman.GetComponent().WaterLineConnent.GetComponent().gameObjID; + // arg.Isconnect = true; + // MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); + //} SpraySyncData spraysync = new SpraySyncData(); spraysync.SendUserID = CurrentUserInfo.mySelf.Id; spraysync.spraytype = SprayParticleType.WaterStraight; diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/SPRAY_WATER_SYNC.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/SPRAY_WATER_SYNC.cs index 64e05ae..d7c26f2 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/SPRAY_WATER_SYNC.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/FiremanSkill/SprayWater/SPRAY_WATER_SYNC.cs @@ -51,7 +51,7 @@ public class SPRAY_WATER_SYNC : NetworkMessageBehaviour if (Sprayobj.GetComponent()) { Sprayobj.GetComponent().IsselfCurrent = false; - Sprayobj.GetComponent().EndLay(); + Sprayobj.GetComponent().EndLay(true); Sprayobj.GetComponent().SetBool("isInSitu", false); Hose.parent.gameObject.SetActive(false); } @@ -61,7 +61,7 @@ public class SPRAY_WATER_SYNC : NetworkMessageBehaviour Hose.gameObject.SetActive(false); } //移动水泡 - if(Sprayobj.GetComponent()) + if (Sprayobj.GetComponent()) { for (int i = 0; i < Hose.childCount; i++) { @@ -104,9 +104,10 @@ public class SPRAY_WATER_SYNC : NetworkMessageBehaviour if (sprayObj.GetComponent()) { sprayObj.GetComponent().IsselfCurrent = false; - sprayObj.GetComponent().StartSprayingLay(); + sprayObj.GetComponent().StartSprayingLay(true); sprayObj.GetComponent().SetBool("isInSitu", true); Hose.parent.gameObject.SetActive(true); + } if (sprayObj.GetComponent()) { @@ -137,8 +138,8 @@ public class SPRAY_WATER_SYNC : NetworkMessageBehaviour NowType = SprayParticleType.WaterStraight; break; } - - + + } diff --git a/Assets/Scripts/DongYouLiQing/BaseCommander/SkillPanel/FireManSkillPanelController.cs b/Assets/Scripts/DongYouLiQing/BaseCommander/SkillPanel/FireManSkillPanelController.cs index 4518fef..dccebcb 100644 --- a/Assets/Scripts/DongYouLiQing/BaseCommander/SkillPanel/FireManSkillPanelController.cs +++ b/Assets/Scripts/DongYouLiQing/BaseCommander/SkillPanel/FireManSkillPanelController.cs @@ -327,7 +327,7 @@ public class FireManSkillPanelController : MonoBehaviour arg.Value = SelectFireMan.GetComponent().FullName + "- 引导员 "; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } - else + else { SelectFireMan.GetComponent().workType = FireManSkills.None; ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); @@ -380,7 +380,7 @@ public class FireManSkillPanelController : MonoBehaviour arg.Value = SelectFireMan.GetComponent().FullName + " 水源引导 "; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } - else + else { SelectFireMan.GetComponent().workType = FireManSkills.None; ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); @@ -401,7 +401,7 @@ public class FireManSkillPanelController : MonoBehaviour arg.Value = SelectFireMan.GetComponent().FullName + "- 警戒 "; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } - else + else { SelectFireMan.GetComponent().workType = FireManSkills.None; ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); @@ -423,7 +423,7 @@ public class FireManSkillPanelController : MonoBehaviour arg.Value = SelectFireMan.GetComponent().FullName + "- 安全员 "; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } - else + else { SelectFireMan.GetComponent().workType = FireManSkills.None; ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); @@ -464,9 +464,9 @@ public class FireManSkillPanelController : MonoBehaviour arg.Value = SelectFireMan.GetComponent().FullName + "- 侦察 "; MessageDispatcher.SendMessage("CHANGE_HEAD_NAME", arg); } - else + else { - + SelectFireMan.GetComponent().workType = FireManSkills.None; ChangeUINameCmdArgs arg = new ChangeUINameCmdArgs(); arg.gameObjID = SelectFireMan.GetComponent().gameObjID; @@ -519,7 +519,7 @@ public class FireManSkillPanelController : MonoBehaviour Guidance.GetComponent().isOn = true; return; } - if (InputManager.GuidanceList.Count<=0) + if (InputManager.GuidanceList.Count <= 0) { LoadPromptWin.Instance.LoadTextPromptWindow("尚未设置引导路径,引导失败", 2f); Guidance.GetComponent().isOn = true; @@ -563,7 +563,7 @@ public class FireManSkillPanelController : MonoBehaviour private void MoveChange(bool value) { - + if (value) { if (P_safearea.childCount <= 0) @@ -722,8 +722,13 @@ public class FireManSkillPanelController : MonoBehaviour // LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); // return; //} + if (SelectFireMan.GetComponent().ConnentSource == null) + { + SprayWater.GetComponent().isOn = false; + return; + } float remain = SelectFireMan.GetComponent().CheckWaterRemain(SelectFireMan.GetComponent().WaterSourceLine); - if (!(remain>0||remain==-100)) + if (!(remain > 0 || remain == -100)) { LoadPromptWin.Instance.LoadTextPromptWindow("剩余水量不足", 1f); return; @@ -755,8 +760,15 @@ public class FireManSkillPanelController : MonoBehaviour SelectFireMan.GetComponent().StartSprayingLay(); //连接水源流量设置 - // MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = true, ChangObjId = SelectFireMan.GetComponent().gameObjID }); - + // MessageDispatcher.SendMessage("SPRAY_WATER", new flowchangeinfo() { IsAdd = true, ChangObjId = SelectFireMan.GetComponent().gameObjID }); + ////同步水源信息 + //var arg = new HoseConnectOrDelectData(); + //arg.StartId = SelectFireMan.GetComponent().ConnentSource.GetComponent().gameObjID; + //arg.EndId = SelectFireMan.GetComponent().gameObjID; + //arg.HoseId = SelectFireMan.GetComponent().WaterLineConnent.GetComponent().gameObjID; + //arg.Isconnect = true; + //MessageDispatcher.SendMessage("HOSE_CONNECT_OR_DELECT", arg); + //出水同步 SpraySyncData spraysync = new SpraySyncData(); spraysync.SendUserID = CurrentUserInfo.mySelf.Id; @@ -773,7 +785,7 @@ public class FireManSkillPanelController : MonoBehaviour } else { - + if (extinguishantSelect.gameObject.activeInHierarchy) { extinguishantSelect.gameObject.SetActive(false); @@ -783,10 +795,10 @@ public class FireManSkillPanelController : MonoBehaviour SelectFireMan.GetComponent().SetLay(value); SelectFireMan.GetComponent().DestoryPartical(); //这里面判断了能否寻路 - SelectFireMan.GetComponent().EndLay(); + SelectFireMan.GetComponent().EndLay(false, false); //SelectFireMan.GetComponent().ParticleSize = 0; //SelectFireMan.GetComponent().SelectParticleType = SprayParticleType.WaterStraight; - if (SelectFireMan.GetComponent().Flow!=0) + if (SelectFireMan.GetComponent().Flow != 0) { SelectFireMan.GetComponent().Flow = 0; } @@ -927,6 +939,7 @@ public class FireManSkillPanelController : MonoBehaviour SelectFireMan.GetComponent().EndLay(); SelectFireMan.GetComponent().workType = FireManSkills.None; + LayerWaterHoseSyncData syncarg = new LayerWaterHoseSyncData(); syncarg.SendUserID = CurrentUserInfo.mySelf.Id; syncarg.IsBegin = false; @@ -946,7 +959,7 @@ public class FireManSkillPanelController : MonoBehaviour { firemanskillcontant.GetChild(i).GetComponent().interactable = false; } - + } } public void SetSkillEnable() @@ -955,7 +968,7 @@ public class FireManSkillPanelController : MonoBehaviour { if (firemanskillcontant.GetChild(i).GetComponent()) { - firemanskillcontant.GetChild(i).GetComponent().interactable = true ; + firemanskillcontant.GetChild(i).GetComponent().interactable = true; } } }