using UnityEngine; using UnityEngine.UI; using UniRx; using AX.ImageViewer; public class EquipmentRoomAttributePanel : UIView { //名称 public Text NameText; public InputField NameInput; //位置 public Text LocationText; public InputField LocationInput; //详情 public Text DetailsText; public InputField DetailsInput; //图片类型 public OriginalImageType ImageType; //图片面板 public Image ImagePanel; //全景开关 public Toggle ImageTypeToggle; //查看原图 public Button ViewButton; public OpenImage OpenImageFile; //保存按钮 public Button SaveButton; private string PostUrl; private string GetUrl; public override void Awake() { base.Awake(); #region DataSource Bind //名称 DataSource.Name.SubscribeToText(NameText).AddTo(gameObject); DataSource.Name.SubscribeToText(NameInput).AddTo(gameObject); NameInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Name.Value = s); //位置 DataSource.Location.SubscribeToText(LocationText).AddTo(gameObject); DataSource.Location.SubscribeToText(LocationInput).AddTo(gameObject); LocationInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Location.Value = s); //详情 DataSource.Details.SubscribeToText(DetailsText).AddTo(gameObject); DataSource.Details.SubscribeToText(DetailsInput).AddTo(gameObject); DetailsInput.OnValueChangedAsObservable().Subscribe(s => DataSource.Details.Value = s); //图片类型 DataSource.ImageType.Subscribe(data => { switch (data) { case OriginalImageType.Normal: ImageTypeToggle.isOn = false; break; case OriginalImageType.Panorama: ImageTypeToggle.isOn = true; break; } }).AddTo(gameObject); ImageTypeToggle.OnValueChangedAsObservable().Subscribe(b => { DataSource.ImageType.Value = b ? OriginalImageType.Panorama : OriginalImageType.Normal; }).AddTo(gameObject); #endregion #region Button Click //保存 SaveButton.onClick.AsObservable().Subscribe(onClick => { SaveData(); }).AddTo(gameObject); //查看原图 ViewButton.onClick.AsObservable().Subscribe(onClick => { ViewImage(); }).AddTo(gameObject); //上传图片 OpenImageFile.OnLoadTextureFinished = texture => { UploadImage(texture); }; transform.Find("TitleBar/CloseButton").GetComponent