上海虹口龙之梦项目
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.
 
 
 
 

146 lines
6.2 KiB

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