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.
147 lines
6.2 KiB
147 lines
6.2 KiB
1 year ago
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
using UniRx;
|
||
|
|
||
|
public class BuildingInformationPanel : UIView<Information,InformationReactive>
|
||
|
{
|
||
|
#region Variables
|
||
|
//单位名称
|
||
|
public Text NameText;
|
||
|
public InputField NameInput;
|
||
|
//单位地址
|
||
|
public Text AddressText;
|
||
|
public InputField AddressInput;
|
||
|
//单位坐标
|
||
|
public Text CoordsText;
|
||
|
public InputField CoordsInput;
|
||
|
//楼层数
|
||
|
public Text FloorsText;
|
||
|
public InputField FloorsInput;
|
||
|
//占地面积
|
||
|
public Text FloorAreaText;
|
||
|
public InputField FloorAreaInput;
|
||
|
//建筑面积
|
||
|
public Text BuildingAreaText;
|
||
|
public InputField BuildingAreaInput;
|
||
|
//建筑高度
|
||
|
public Text HeightText;
|
||
|
public InputField HeightInput;
|
||
|
//建筑结构
|
||
|
public Text StructureText;
|
||
|
public InputField StructureInput;
|
||
|
//使用性质
|
||
|
public Text PropertyText;
|
||
|
public InputField PropertyInput;
|
||
|
//耐火等级
|
||
|
public Text GradeText;
|
||
|
public InputField GradeInput;
|
||
|
//企业法人
|
||
|
public Text JuridicalPersonText;
|
||
|
public InputField JuridicalPersonInput;
|
||
|
//法人电话
|
||
|
public Text JuridicalPersonPhoneText;
|
||
|
public InputField JuridicalPersonPhoneInput;
|
||
|
//消防负责人
|
||
|
public Text FireHeadText;
|
||
|
public InputField FireHeadInput;
|
||
|
//负责人电话
|
||
|
public Text FireHeadPhoneText;
|
||
|
public InputField FireHeadPhoneInput;
|
||
|
|
||
|
public Button SaveButton;
|
||
|
#endregion
|
||
|
public override void Awake()
|
||
|
{
|
||
|
base.Awake();
|
||
|
|
||
|
#region DataSource Bind
|
||
|
DataSource.Name.SubscribeToText(NameText).AddTo(gameObject);
|
||
|
DataSource.Name.SubscribeToText(NameInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Address.SubscribeToText(AddressText).AddTo(gameObject);
|
||
|
DataSource.Address.SubscribeToText(AddressInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Coords.SubscribeToText(CoordsText).AddTo(gameObject);
|
||
|
DataSource.Coords.SubscribeToText(CoordsInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Floors.SubscribeToText(FloorsText).AddTo(gameObject);
|
||
|
DataSource.Floors.SubscribeToText(FloorsInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.FloorArea.SubscribeToText(FloorAreaText).AddTo(gameObject);
|
||
|
DataSource.FloorArea.SubscribeToText(FloorAreaInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.BuildingArea.SubscribeToText(BuildingAreaText).AddTo(gameObject);
|
||
|
DataSource.BuildingArea.SubscribeToText(BuildingAreaInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Height.SubscribeToText(HeightText).AddTo(gameObject);
|
||
|
DataSource.Height.SubscribeToText(HeightInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Structure.SubscribeToText(StructureText).AddTo(gameObject);
|
||
|
DataSource.Structure.SubscribeToText(StructureInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Property.SubscribeToText(PropertyText).AddTo(gameObject);
|
||
|
DataSource.Property.SubscribeToText(PropertyInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.Grade.SubscribeToText(GradeText).AddTo(gameObject);
|
||
|
DataSource.Grade.SubscribeToText(GradeInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.JuridicalPerson.SubscribeToText(JuridicalPersonText).AddTo(gameObject);
|
||
|
DataSource.JuridicalPerson.SubscribeToText(JuridicalPersonInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.JuridicalPersonPhone.SubscribeToText(JuridicalPersonPhoneText).AddTo(gameObject);
|
||
|
DataSource.JuridicalPersonPhone.SubscribeToText(JuridicalPersonPhoneInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.FireHead.SubscribeToText(FireHeadText).AddTo(gameObject);
|
||
|
DataSource.FireHead.SubscribeToText(FireHeadInput).AddTo(gameObject);
|
||
|
|
||
|
DataSource.FireHeadPhone.SubscribeToText(FireHeadPhoneText).AddTo(gameObject);
|
||
|
DataSource.FireHeadPhone.SubscribeToText(FireHeadPhoneInput).AddTo(gameObject);
|
||
|
|
||
|
NameInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Name.Value = s).AddTo(gameObject);
|
||
|
AddressInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Address.Value = s).AddTo(gameObject);
|
||
|
CoordsInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Coords.Value = s).AddTo(gameObject);
|
||
|
FloorsInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Floors.Value = s).AddTo(gameObject);
|
||
|
FloorAreaInput.OnValueChangedAsObservable().Subscribe(s => DataSource.FloorArea.Value = s).AddTo(gameObject);
|
||
|
BuildingAreaInput.OnValueChangedAsObservable().Subscribe(s => DataSource.BuildingArea.Value = s).AddTo(gameObject);
|
||
|
HeightInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Height.Value = s).AddTo(gameObject);
|
||
|
StructureInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Structure.Value = s).AddTo(gameObject);
|
||
|
PropertyInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Property.Value = s).AddTo(gameObject);
|
||
|
GradeInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Grade.Value = s).AddTo(gameObject);
|
||
|
JuridicalPersonInput.OnValueChangedAsObservable().Subscribe(s => DataSource.JuridicalPerson.Value = s).AddTo(gameObject);
|
||
|
JuridicalPersonPhoneInput.OnValueChangedAsObservable().Subscribe(s => DataSource.JuridicalPersonPhone.Value = s).AddTo(gameObject);
|
||
|
FireHeadInput.OnValueChangedAsObservable().Subscribe(s => DataSource.FireHead.Value = s).AddTo(gameObject);
|
||
|
FireHeadPhoneInput.OnValueChangedAsObservable().Subscribe(s => DataSource.FireHeadPhone.Value = s).AddTo(gameObject);
|
||
|
#endregion
|
||
|
|
||
|
#region Button Click
|
||
|
SaveButton.OnClickAsObservable()
|
||
|
.Subscribe(_ =>
|
||
|
{
|
||
|
SaveData();
|
||
|
});
|
||
|
transform.Find("TitleBar/CloseButton").GetComponent<Button>().OnClickAsObservable()
|
||
|
.Subscribe(_ => Hide());
|
||
|
#endregion
|
||
|
}
|
||
|
|
||
|
public override void Show()
|
||
|
{
|
||
|
base.Show();
|
||
|
GetData();
|
||
|
GetComponent<AttributePanelControl>().ResetPanel();
|
||
|
}
|
||
|
|
||
|
//获取数据
|
||
|
private void GetData()
|
||
|
{
|
||
|
string url = HttpManager.Instance.GetBuildingBasicInfos;
|
||
|
HttpManager.Instance.Get<Information>(url, data => DataSource.SetData(data));
|
||
|
}
|
||
|
//保存数据
|
||
|
private void SaveData()
|
||
|
{
|
||
|
string url = HttpManager.Instance.GetBuildingBasicInfos;
|
||
|
HttpManager.Instance.Post(url, DataSource.GetData());
|
||
|
}
|
||
|
}
|