using AX.Network.Protocols; using AX.NetworkSystem; using AX.Serialization; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class OnwayForceItem : MonoBehaviour { public Text team; public Text type; public Text num; public Text water; public Text foam; public Text height; public Text firemen; public Text arriveTime; public UserData userData; private string myTeam; private FireCarEngine myCarEngine; public void Set(string team,int i, FireCarEngine engine) { myTeam = team; myCarEngine = engine; this.team = transform.Find("Team").GetComponent(); type = transform.Find("Type").GetComponent(); num = transform.Find("Num").GetComponent(); water = transform.Find("WaterAmount").GetComponent(); foam = transform.Find("FoamAmount").GetComponent(); height = transform.Find("Height").GetComponent(); firemen = transform.Find("FiremenCount").GetComponent(); arriveTime = transform.Find("ArriveTime").GetComponent(); this.team.text = team; type.text = engine.TypeName; num.text = i.ToString(); water.text = engine.WaterAmount.ToString(); foam.text = engine.FoamAmount.ToString(); height.text = engine.Height.ToString(); firemen.text = engine.PassengerCapacity.ToString(); NetworkMessageDispatcher.AddListener("ARRIVAL_TIME_REPLY", SetArrivalTime); userData = CurrentUserInfo.room.FindMidTeamUserIDByName(team); if(userData != null) { NetworkManager.Default.SendRequestAsync("ARRIVAL_TIME_REQUEST", new ArrivalTimePair() { sender = CurrentUserInfo.mySelf.Id, receiver = userData.UserInfo.Id, time = "",arrived=false}); } } private void OnDestroy() { NetworkMessageDispatcher.RemoveListener("ARRIVAL_TIME_REPLY", SetArrivalTime); } void SetArrivalTime(BinaryMessage message) { var data = message.Body.Deserialize(); if(data.receiver == userData.UserInfo.Id) { arriveTime.text = data.time; /*//如果已经到达,则删除此item,并添加到到场车辆 if (data.arrived) { ArrivedPowerTotal.addArrivedCar(myTeam, myCarEngine); OnwayForceTotal.RemoveArrivedCar(myTeam, myCarEngine); Destroy(gameObject); }*/ } } } /// /// 中队力量到达时间信息对 /// public class ArrivalTimePair { public long sender; //"ARRIVAL_TIME_REPLY"向sender发送 public long receiver; //"ARRIVAL_TIME_REQUEST"向reveiver发送 public string time; public bool arrived; //是否到达 }