//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public LayoutState(IItemLayout pItemLayout, InteractionSettings pSettings) { ItemLayout = pItemLayout; vSettings = pSettings; DisplayStrength = 1; RefreshItems(); }
/*--------------------------------------------------------------------------------------------*/ public void Update() { foreach (LayoutState layoutState in vLayoutStates) { IItemLayout itemLayout = layoutState.ItemLayout; ((GameObject)itemLayout.DisplayContainer).SetActive(itemLayout.IsVisible); } }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public LayoutState(IItemLayout pItemLayout, InteractionSettings pSettings) { ItemLayout = pItemLayout; vSettings = pSettings; DisplayStrength = 1; FullItems = new BaseItemState[ItemLayout.Items.Length]; for ( int i = 0 ; i < ItemLayout.Items.Length ; i++ ) { var item = new BaseItemState(ItemLayout.Items[i], vSettings); FullItems[i] = item; } Items = new ReadOnlyCollection<IBaseItemState>(FullItems); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ public LayoutState(IItemLayout pItemLayout, InteractionSettings pSettings) { ItemLayout = pItemLayout; vSettings = pSettings; DisplayStrength = 1; FullItems = new BaseItemState[ItemLayout.Items.Length]; for (int i = 0; i < ItemLayout.Items.Length; i++) { var item = new BaseItemState(ItemLayout.Items[i], vSettings); FullItems[i] = item; } Items = new ReadOnlyCollection <IBaseItemState>(FullItems); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ internal void Build(PanelState pPanelState, IItemVisualSettingsProvider pItemVisualSettProv) { vLayoutStates = pPanelState.FullLayouts; foreach (LayoutState layoutState in vLayoutStates) { IItemLayout itemLayout = layoutState.ItemLayout; GameObject layoutObj = (GameObject)itemLayout.DisplayContainer; UiLayout uiLayout = layoutObj.AddComponent <UiLayout>(); uiLayout.Build(pPanelState, layoutState, pItemVisualSettProv); Vector2 pos = itemLayout.Position * UiItem.Size - uiLayout.Bounds.position - Vector2.Scale(itemLayout.Anchor, uiLayout.Bounds.size); uiLayout.transform.localPosition = new Vector3(pos.x, 0, pos.y); } }