using UniRx; using UnityEngine; public class BuildingFeature { /// <summary> ///详情 /// <summary> public string Details{get;set;} /// <summary> ///图片类型 /// <summary> public OriginalImageType ImageType{get;set;} /// <summary> ///图片地址 /// <summary> public string ImageUrl{get;set;} } public class BuildingFeatureReactive:ISetData<BuildingFeature> { /// <summary> ///Data /// <summary> private BuildingFeature Data{get;set;}= new BuildingFeature(); /// <summary> ///详情 /// <summary> public ReactiveProperty<string> Details{get;set;}= new ReactiveProperty<string>(); /// <summary> ///图片类型 /// <summary> public ReactiveProperty<OriginalImageType> ImageType{get;set;}= new ReactiveProperty<OriginalImageType>(); /// <summary> ///图片地址 /// <summary> public ReactiveProperty<string> ImageUrl{get;set;}= new ReactiveProperty<string>(); public BuildingFeatureReactive() { Details.Subscribe(value => Data.Details= value); ImageType.Subscribe(value => Data.ImageType= value); ImageUrl.Subscribe(value => Data.ImageUrl= value); } public void SetData(BuildingFeature data) { Data = data; Details.Value = data.Details; ImageType.Value = data.ImageType; ImageUrl.Value = data.ImageUrl; } public BuildingFeature GetData() { return Data; } }