diff --git a/Assets/Temp/Scripts/Microwaveweapon.cs b/Assets/Temp/Scripts/Microwaveweapon.cs index 81da8e35..5af781d1 100644 --- a/Assets/Temp/Scripts/Microwaveweapon.cs +++ b/Assets/Temp/Scripts/Microwaveweapon.cs @@ -211,7 +211,7 @@ public class Microwaveweapon : MonoBehaviour { if (miceopos!=null) { - microblog.MicrowaveDisplay(micdistance / 10); + microblog.MicrowaveDisplay(micdistance); Closeattack(miceopos); } } @@ -270,7 +270,7 @@ public class Microwaveweapon : MonoBehaviour //接收激光下发的位置 Vector3 vector =new Vector3(float.Parse(data[2]), float.Parse(data[3]),float.Parse(data[4])); microwavemoder.transform.DOLookAt(vector, 0.1f).SetEase(Ease.Linear).OnComplete(() => { - microblog.MicrowaveDisplay(micdistance / 10); + microblog.MicrowaveDisplay(micdistance); StartCoroutine(Offlaserstrike()); }); diff --git a/Assets/Zion/Scripts/Adam/DeviceManager.cs b/Assets/Zion/Scripts/Adam/DeviceManager.cs index edcd4682..9ca2f67c 100644 --- a/Assets/Zion/Scripts/Adam/DeviceManager.cs +++ b/Assets/Zion/Scripts/Adam/DeviceManager.cs @@ -162,6 +162,15 @@ public class DeviceManager : MonoSingleton { equipmentCommon.GetComponent().InterferingFrequency = info[2]; } + else if (info[0] == "KeyTarget") + { + HighPriorityTarget highPriorityTarget= HighPriorityTarget.HighPriorityTargets.Find(x => x.Number == info[1]); + if(highPriorityTarget) + { + Vector3 Pos=new Vector3(float.Parse(info[3]), float.Parse(info[4]), float.Parse(info[5])); + highPriorityTarget.BeAssaulted(Pos, false); + } + } else { if (equipmentCommon) diff --git a/Assets/Zion/Scripts/HighPriorityTarget.cs b/Assets/Zion/Scripts/HighPriorityTarget.cs index 7603fb2d..a366424f 100644 --- a/Assets/Zion/Scripts/HighPriorityTarget.cs +++ b/Assets/Zion/Scripts/HighPriorityTarget.cs @@ -1,5 +1,4 @@ -using DG.Tweening; -using System.Collections; +using AdamSync; using System.Collections.Generic; using UnityEngine; @@ -16,8 +15,10 @@ public class HighPriorityTarget : MonoBehaviour /// 重点设备完整度 /// public static float EquipmentIntegrity = 1; - - + /// + /// 编号 + /// + public string Number; #region 单体保护目标属性 /// /// 单体保护目标属性血量 @@ -59,18 +60,37 @@ public class HighPriorityTarget : MonoBehaviour /// /// 被攻击 /// - public void BeAssaulted(Vector3 Pos) + /// 被攻击时触发点位置 + /// 是否向外发送同步消息 + public void BeAssaulted(Vector3 Pos, bool isSend, int hp = 0) { - HP -= 10; - GameObject Bao = Instantiate(explodePrefab, transform); - Bao.transform.localPosition = Pos; - Bao.transform.SetParent(null); - Bao.SetActive(true); + + if (isSend) + { + HP -= 10; + GameObject Bao = Instantiate(explodePrefab, transform); + Bao.transform.localPosition = Pos; + Bao.transform.SetParent(null); + Bao.SetActive(true); + string nowData = GetSyncDis(Pos); + Debug.Log(nowData); + _ = SyncCreateRoom.SendMessageAsync(string.Format("send2room {0}", nowData)); + } + else + { + HP = hp; + } if (HP < 50) { ModerFull.SetActive(false); ModerDamage.SetActive(true); } + + } + + protected string GetSyncDis(Vector3 pos) + { + return string.Format("{0},{1},{2},{3},{4},{5}", "KeyTarget", Number, HP, pos.x, pos.y, pos.z); } }