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.
77 lines
2.8 KiB
77 lines
2.8 KiB
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<Text>(); |
|
type = transform.Find("Type").GetComponent<Text>(); |
|
num = transform.Find("Num").GetComponent<Text>(); |
|
water = transform.Find("WaterAmount").GetComponent<Text>(); |
|
foam = transform.Find("FoamAmount").GetComponent<Text>(); |
|
height = transform.Find("Height").GetComponent<Text>(); |
|
firemen = transform.Find("FiremenCount").GetComponent<Text>(); |
|
arriveTime = transform.Find("ArriveTime").GetComponent<Text>(); |
|
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<ArrivalTimePair>(); |
|
if(data.receiver == userData.UserInfo.Id) |
|
{ |
|
arriveTime.text = data.time; |
|
/*//如果已经到达,则删除此item,并添加到到场车辆 |
|
if (data.arrived) |
|
{ |
|
ArrivedPowerTotal.addArrivedCar(myTeam, myCarEngine); |
|
OnwayForceTotal.RemoveArrivedCar(myTeam, myCarEngine); |
|
Destroy(gameObject); |
|
}*/ |
|
} |
|
} |
|
} |
|
/// <summary> |
|
/// 中队力量到达时间信息对 |
|
/// </summary> |
|
public class ArrivalTimePair |
|
{ |
|
public long sender; //"ARRIVAL_TIME_REPLY"向sender发送 |
|
public long receiver; //"ARRIVAL_TIME_REQUEST"向reveiver发送 |
|
public string time; |
|
public bool arrived; //是否到达 |
|
} |