网上演练
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

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; //是否到达
}