示例#1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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);
            }
        }