/// <private/> public virtual void ReplaceDisplay(Slot slot, DisplayData displayData, int displayIndex = -1) { if (displayIndex < 0) { displayIndex = slot.displayIndex; } if (displayIndex < 0) { displayIndex = 0; } slot.ReplaceDisplayData(displayData, displayIndex); var displayList = slot.displayList; // Copy. if (displayList.Count <= displayIndex) { displayList.ResizeList(displayIndex + 1); for (int i = 0, l = displayList.Count; i < l; ++i) { // Clean undefined. displayList[i] = null; } } if (displayData != null) { var rawDisplayDatas = slot.rawDisplayDatas; DisplayData rawDisplayData = null; if (rawDisplayDatas != null) { if (displayIndex < rawDisplayDatas.Count) { rawDisplayData = rawDisplayDatas[displayIndex]; } } displayList[displayIndex] = this._GetSlotDisplay(null, displayData, rawDisplayData, slot); } else { displayList[displayIndex] = null; } slot.displayList = displayList; }
/** * @private */ protected void _ReplaceSlotDisplay(BuildArmaturePackage dataPackage, DisplayData displayData, Slot slot, int displayIndex) { if (displayIndex < 0) { displayIndex = slot.displayIndex; } if (displayIndex < 0) { displayIndex = 0; } slot.ReplaceDisplayData(displayData, displayIndex); var displayList = slot.displayList; // Copy. if (displayList.Count <= displayIndex) { displayList.ResizeList(displayIndex + 1); for (int i = 0, l = displayList.Count; i < l; ++i) { // Clean undefined. displayList[i] = null; } } if (displayData != null) { var rawDisplayDatas = slot.rawDisplayDatas; DisplayData rawDisplayData = null; if (rawDisplayDatas != null) { if (displayIndex < rawDisplayDatas.Count) { rawDisplayData = rawDisplayDatas[displayIndex]; } } displayList[displayIndex] = this._GetSlotDisplay(dataPackage, displayData, rawDisplayData, slot); } else { displayList[displayIndex] = null; } slot.displayList = displayList; }