You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.7 KiB
89 lines
2.7 KiB
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
using UnityEngine; |
|
using AX.NetworkSystem; |
|
using AX.MessageSystem; |
|
using UnityEngine.UI; |
|
|
|
public struct FireDeployLeftSYNCData |
|
{ |
|
public string modeName; |
|
public string modeItemName; |
|
public bool selected; |
|
} |
|
|
|
public class FireDepolySYNCInfo |
|
{ |
|
public List<FireDeployLeftSYNCData> fireDeployLeftSYNCDatas = new List<FireDeployLeftSYNCData>(); |
|
public FireDeployCameraSYNCData fireDeployCameraSYNCData = new FireDeployCameraSYNCData(); |
|
public List<FireDeploySYNCDATA> fireDeploySYNCDATAs = new List<FireDeploySYNCDATA>(); |
|
} |
|
|
|
public class FireDeploySend : BaseButton |
|
{ |
|
public static FireDeploySend Instance; |
|
FireDepolySYNCInfo fireDepolySYNCInfo; |
|
|
|
public List<UserData> receivers = new List<UserData>(); |
|
public Transform Content; |
|
|
|
private void Start() |
|
{ |
|
Instance = this; |
|
|
|
Content = transform.parent.Find("Scroll View/Viewport/Content"); |
|
} |
|
|
|
public override void RespondFun() |
|
{ |
|
fireDepolySYNCInfo = new FireDepolySYNCInfo(); |
|
|
|
fireDepolySYNCInfo.fireDeployCameraSYNCData.targetPos = |
|
GameObject.Find("FireDeployCamera").GetComponent<FireDeployCameraManager>().target.position; |
|
fireDepolySYNCInfo.fireDeployCameraSYNCData.cameraSize = |
|
GameObject.Find("FireDeployCamera").GetComponent<Camera>().orthographicSize; |
|
|
|
fireDepolySYNCInfo.fireDeployLeftSYNCDatas.Clear(); |
|
MessageDispatcher.SendMessage("GET_DEPLOY_LEFT_SYNCDATA"); |
|
|
|
fireDepolySYNCInfo.fireDeploySYNCDATAs.Clear(); |
|
MessageDispatcher.SendMessage("GET_DEPLOY_SYNCDATA"); |
|
|
|
receivers.Clear(); |
|
foreach (Transform item in Content) |
|
{ |
|
if (item.GetComponent<Toggle>().isOn) |
|
{//作战部署信息发送给选中的中队,及他的上下级,(默认发给导调组,观察团) |
|
receivers.Add(item.GetComponent<SenderItemMessage>().receiverUser); |
|
} |
|
} |
|
|
|
foreach (UserData user in receivers) |
|
{ |
|
NetworkManager.Default.SendAsync("FIREDEPLOY_SYNC", new KeyValuePair<long, FireDepolySYNCInfo>(user.UserInfo.Id, fireDepolySYNCInfo)); |
|
} |
|
} |
|
|
|
public void AddFireDeploySYNCDATA(FireDeploySYNCDATA syncData) |
|
{ |
|
fireDepolySYNCInfo.fireDeploySYNCDATAs.Add(syncData); |
|
} |
|
|
|
public void AddFireDeployLeftSYNCData(FireDeployLeftSYNCData syncData) |
|
{ |
|
fireDepolySYNCInfo.fireDeployLeftSYNCDatas.Add(syncData); |
|
} |
|
|
|
private void Update() |
|
{ |
|
if (!CurrentUserInfo.generalCommanding) |
|
{ |
|
transform.GetComponent<Button>().interactable = false; |
|
} |
|
else |
|
{ |
|
transform.GetComponent<Button>().interactable = true; |
|
} |
|
} |
|
}
|
|
|