protected override IViewController GetTabPage(ITabPageProperties tabPageProperties) { if (tabPageProperties is BooleanTabPageProperties booleanTabPageProperties) { BooleanTabPageController booleanTabPage = InstantiateTabPage(booleanTabPagePrefab) as BooleanTabPageController; booleanTabPage.SetProperties(booleanTabPageProperties); booleanTabPage.name = $"[BooleanTabPage] {booleanTabPageProperties.value}"; booleanTabPage.UIView.ViewName = $"[BooleanTabPage] {booleanTabPageProperties.value}"; return(booleanTabPage); } else if (tabPageProperties is StringTabPageProperties stringTabPageProperties) { StringTabPageController stringTabPage = InstantiateTabPage(stringTabPagePrefab) as StringTabPageController; stringTabPage.SetProperties(stringTabPageProperties); stringTabPage.name = $"[StringTabPage] {stringTabPageProperties.value}"; stringTabPage.UIView.ViewName = $"[StringTabPage] {stringTabPageProperties.value}"; return(stringTabPage); } else if (tabPageProperties is IntegerTabPageProperties integerTabPageProperties) { IntegerTabPageController integerTabPage = InstantiateTabPage(integerTabPagePrefab) as IntegerTabPageController; integerTabPage.SetProperties(integerTabPageProperties); integerTabPage.name = $"[IntegerTabPage] {integerTabPageProperties.value}"; integerTabPage.UIView.ViewName = $"[IntegerTabPage] {integerTabPageProperties.value}"; return(integerTabPage); } else { return(null); } }
/// <summary> /// Gets and returns a tab page object based on the given <paramref name="tabProperties"/>. /// </summary> /// <param name="tabPageProperties">Properties of the tab page to get.</param> /// <returns>A tab page object.</returns> protected abstract IViewController GetTabPage(ITabPageProperties tabPageProperties);