public void UpdateTitleByItemIndex(ExampleItemModel model) { string title = "[#" + ItemIndex + "] " + model.Title; if (titleText.text != title) { titleText.text = title; } }
/// <summary>Utility getting rid of the need of manually writing assignments</summary> public void UpdateFromModel(ExampleItemModel model, Texture2D[] availableIcons) { UpdateTitleByItemIndex(model); var tex = availableIcons[model.IconIndex]; if (icon1Image.texture != tex) { icon1Image.texture = tex; } }
/// <inheritdoc/> protected override void UpdateViewsHolder(MyItemViewsHolder newOrRecycled) { // Initialize the views from the associated model ExampleItemModel model = LazyData.GetOrCreate(newOrRecycled.ItemIndex); newOrRecycled.UpdateFromModel(model, _Params.availableIcons); if (model.HasPendingSizeChange) { //Debug.Log(newOrRecycled.ItemIndex + " pendsiz"); // Height will be available before the next 'twin' pass, inside OnItemHeightChangedPreTwinPass() callback (see above) ScheduleComputeVisibilityTwinPass(_Params.freezeContentEndEdgeOnCountChange); } }
/// <inheritdoc/> protected override void UpdateViewsHolder(MyItemViewsHolder newOrRecycled) { // Initialize the views from the associated model ExampleItemModel model = LazyData.GetOrCreate(newOrRecycled.ItemIndex); newOrRecycled.UpdateFromModel(model, _Params.availableIcons); if (newOrRecycled.contentSizeFitter.enabled) { newOrRecycled.contentSizeFitter.enabled = false; } if (model.HasPendingSizeChange) { //Debug.Log(newOrRecycled.ItemIndex + " pendsiz"); // Height will be available before the next 'twin' pass, inside OnItemHeightChangedPreTwinPass() callback (see above) ScheduleViewsHolderForRebuild(newOrRecycled); } }