网上演练贵港万达广场(人员密集)
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

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;
}
}
}