Example #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(IHoverboardPanelState pPanelState, LayoutState pLayoutState,
                            IItemVisualSettingsProvider pItemVisualSettProv)
        {
            Vector2 dir    = pLayoutState.ItemLayout.Direction;
            Vector2 pos    = Vector2.zero;
            Vector2 posMin = Vector2.zero;
            Vector2 posMax = Vector2.zero;

            for (int i = 0; i < pLayoutState.FullItems.Length; i++)
            {
                BaseItemState       itemState  = pLayoutState.FullItems[i];
                IItemVisualSettings visualSett = pItemVisualSettProv.GetSettings(itemState.Item);
                GameObject          itemObj    = (GameObject)itemState.Item.DisplayContainer;

                UiItem uiItem = itemObj.AddComponent <UiItem>();
                uiItem.Build(pPanelState, pLayoutState, itemState, visualSett);
                uiItem.transform.localPosition = new Vector3(pos.x, 0, pos.y) * UiItem.Size;

                var itemSize = new Vector2(itemState.Item.Width, itemState.Item.Height);

                posMin = Vector2.Min(posMin, pos);
                posMax = Vector2.Max(posMax, pos + itemSize);
                pos   += Vector2.Scale(itemSize, dir);
            }

            Vector2 size = posMax - posMin;

            Bounds = new Rect(posMin.x, posMin.y, size.x, size.y);

            gameObject.transform.localPosition = Vector3.zero;
            gameObject.transform.localRotation = Quaternion.identity;
            gameObject.transform.localScale    = Vector3.one;
        }
Example #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(MenuState pMenuState, IItemVisualSettingsProvider pVisualSettingsProv)
        {
            vMenuState   = pMenuState;
            vItemObjList = new List <GameObject>();

            ReadOnlyCollection <BaseItemState> itemStates = vMenuState.GetItems();
            int   itemCount = itemStates.Count;
            float degree    = 170 + DegreeFull / 2f;
            float sizeSum   = 0;

            for (int i = 0; i < itemCount; i++)
            {
                sizeSum += itemStates[i].Item.Height;
            }

            for (int i = 0; i < itemCount; i++)
            {
                BaseItemState       itemState   = itemStates[i];
                float               itemPerc    = itemState.Item.Height / sizeSum;
                float               itemAngle   = AngleFull * itemPerc;
                float               itemDegHalf = itemAngle * ToDegrees / 2f;
                IItemVisualSettings visualSett  = pVisualSettingsProv.GetSettings(itemState.Item);

                var itemObj = new GameObject("Item" + vItemObjList.Count);
                itemObj.transform.SetParent(gameObject.transform, false);
                vItemObjList.Add(itemObj);

                UiItem uiItem = itemObj.AddComponent <UiItem>();
                uiItem.Build(vMenuState, itemState, itemAngle, visualSett);

                degree -= itemDegHalf;
                itemObj.transform.localRotation = Quaternion.AngleAxis(degree, Vector3.up);
                degree -= itemDegHalf;
            }
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(MenuState pMenu, IItemVisualSettingsProvider pVisualSettingsProv) {
			vMenuState = pMenu;
			vVisualSettingsProv = pVisualSettingsProv;

			vMenuState.OnLevelChange += HandleLevelChange;
			UpdateAfterSideChange();
		}
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(MenuState pMenuState, IItemVisualSettingsProvider pVisualSettingsProv) {
			vMenuState = pMenuState;
			vItemObjList = new List<GameObject>();

			ReadOnlyCollection<BaseItemState> itemStates = vMenuState.GetItems();
			int itemCount = itemStates.Count;
			float degree = 170 + DegreeFull/2f;
			float sizeSum = 0;

			for ( int i = 0 ; i < itemCount ; i++ ) {
				sizeSum += itemStates[i].Item.Height;
			}

			for ( int i = 0 ; i < itemCount ; i++ ) {
				BaseItemState itemState = itemStates[i];
				float itemPerc = itemState.Item.Height/sizeSum;
				float itemAngle = AngleFull*itemPerc;
				float itemDegHalf = itemAngle*ToDegrees/2f;
				IItemVisualSettings visualSett = pVisualSettingsProv.GetSettings(itemState.Item);

				var itemObj = new GameObject("Item"+vItemObjList.Count);
				itemObj.transform.SetParent(gameObject.transform, false);
				vItemObjList.Add(itemObj);

				UiItem uiItem = itemObj.AddComponent<UiItem>();
				uiItem.Build(vMenuState, itemState, itemAngle, visualSett);

				degree -= itemDegHalf;
				itemObj.transform.localRotation = Quaternion.AngleAxis(degree, Vector3.up);
				degree -= itemDegHalf;
			}
		}
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(IHoverboardPanelState pPanelState, LayoutState pLayoutState,
													IItemVisualSettingsProvider pItemVisualSettProv) {
			Vector2 dir = pLayoutState.ItemLayout.Direction;
			Vector2 pos = Vector2.zero;
			Vector2 posMin = Vector2.zero;
			Vector2 posMax = Vector2.zero;

			for ( int i = 0 ; i < pLayoutState.FullItems.Length ; i++ ) {
				BaseItemState itemState = pLayoutState.FullItems[i];
				IItemVisualSettings visualSett = pItemVisualSettProv.GetSettings(itemState.Item);
				GameObject itemObj = (GameObject)itemState.Item.DisplayContainer;

				UiItem uiItem = itemObj.AddComponent<UiItem>();
				uiItem.Build(pPanelState, pLayoutState, itemState, visualSett);
				uiItem.transform.localPosition = new Vector3(pos.x, 0, pos.y)*UiItem.Size;

				var itemSize = new Vector2(itemState.Item.Width, itemState.Item.Height);
				
				posMin = Vector2.Min(posMin, pos);
				posMax = Vector2.Max(posMax, pos+itemSize);
				pos += Vector2.Scale(itemSize, dir);
			}

			Vector2 size = posMax-posMin;
			Bounds = new Rect(posMin.x, posMin.y, size.x, size.y);

			gameObject.transform.localPosition = Vector3.zero;
			gameObject.transform.localRotation = Quaternion.identity;
			gameObject.transform.localScale = Vector3.one;
		}
Example #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(MenuState pMenu, IItemVisualSettingsProvider pVisualSettingsProv)
        {
            vMenuState          = pMenu;
            vVisualSettingsProv = pVisualSettingsProv;

            vMenuState.OnLevelChange += HandleLevelChange;
            UpdateAfterSideChange();
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(MenuState pMenu, IItemVisualSettingsProvider pVisualSettingsProv)
        {
            vMenuState          = pMenu;
            vVisualSettingsProv = pVisualSettingsProv;

            vRendererHold = new GameObject("RendererHold");
            vRendererHold.transform.SetParent(gameObject.transform, false);
            vRendererHold.transform.localRotation = Quaternion.AngleAxis(170, Vector3.up);

            vMenuState.OnLevelChange += HandleLevelChange;
            Rebuild();
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(PanelState pPanelState, IItemVisualSettingsProvider pItemVisualSettProv)
        {
            vGridStates = pPanelState.Grids;

            foreach (GridState gridState in vGridStates)
            {
                IItemGrid  itemGrid = gridState.ItemGrid;
                var        pos      = new Vector3(itemGrid.ColOffset, 0, itemGrid.RowOffset);
                GameObject gridObj  = (GameObject)itemGrid.DisplayContainer;

                UiGrid uiGrid = gridObj.AddComponent <UiGrid>();
                uiGrid.Build(gridState, pItemVisualSettProv);
                uiGrid.transform.localPosition = pos * UiItem.Size;
            }
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		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);
			}
		}
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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);
            }
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(HovercastState pState, IItemVisualSettingsProvider pItemVisualSettingsProv){
			vState = pState;
			vLeftRot = Quaternion.identity;
			vRightRot = Quaternion.AngleAxis(180, Vector3.up);

			var palmObj = new GameObject("Palm");
			palmObj.transform.SetParent(gameObject.transform, false);
			vUiPalm = palmObj.AddComponent<UiPalm>();
			vUiPalm.Build(vState.FullMenu, pItemVisualSettingsProv);

			var arcObj = new GameObject("Arc");
			arcObj.transform.SetParent(gameObject.transform, false);
			vUiArc = arcObj.AddComponent<UiArc>();
			vUiArc.Build(vState.FullMenu, pItemVisualSettingsProv);

			vState.OnSideChange += HandleSideChange;
		}
Example #12
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(HovercastState pState, IItemVisualSettingsProvider pItemVisualSettingsProv)
        {
            vState    = pState;
            vLeftRot  = Quaternion.AngleAxis(180, Vector3.up);
            vRightRot = Quaternion.identity;

            var palmObj = new GameObject("Palm");

            palmObj.transform.SetParent(gameObject.transform, false);
            vUiPalm = palmObj.AddComponent <UiPalm>();
            vUiPalm.Build(vState.FullMenu, pItemVisualSettingsProv);

            var arcObj = new GameObject("Arc");

            arcObj.transform.SetParent(gameObject.transform, false);
            vUiArc = arcObj.AddComponent <UiArc>();
            vUiArc.Build(vState.FullMenu, pItemVisualSettingsProv);

            vState.OnSideChange += HandleSideChange;
        }
Example #13
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        internal void Build(GridState pGridState, IItemVisualSettingsProvider pItemVisualSettProv)
        {
            int cols = pGridState.ItemGrid.Cols;
            int gi   = 0;

            for (int i = 0; i < pGridState.Items.Length; i++)
            {
                BaseItemState       itemState  = pGridState.Items[i];
                IItemVisualSettings visualSett = pItemVisualSettProv.GetSettings(itemState.Item);
                GameObject          itemObj    = (GameObject)itemState.Item.DisplayContainer;
                var pos = new Vector3(gi % cols, 0, (float)Math.Floor((float)gi / cols));

                UiItem uiItem = itemObj.AddComponent <UiItem>();
                uiItem.Build(itemState, visualSett);
                uiItem.transform.localPosition = pos * UiItem.Size;

                gi += (int)itemState.Item.Width;
            }

            gameObject.transform.localPosition = Vector3.zero;
            gameObject.transform.localRotation = Quaternion.identity;
            gameObject.transform.localScale    = Vector3.one;
        }
		////////////////////////////////////////////////////////////////////////////////////////////////
		/*--------------------------------------------------------------------------------------------*/
		internal void Build(MenuState pMenu, IItemVisualSettingsProvider pVisualSettingsProv) {
			vMenuState = pMenu;
			vVisualSettingsProv = pVisualSettingsProv;

			vRendererHold = new GameObject("RendererHold");
			vRendererHold.transform.SetParent(gameObject.transform, false);
			vRendererHold.transform.localRotation = Quaternion.AngleAxis(170, Vector3.up);

			////

			BaseItemState itemState = pMenu.GetPalmItem();
			IItemVisualSettings visualSett = pVisualSettingsProv.GetSettings(itemState.Item);

			var itemObj = new GameObject("BackItem");
			itemObj.transform.SetParent(vRendererHold.transform, false);

			UiItem uiItem = itemObj.AddComponent<UiItem>();
			uiItem.Build(vMenuState, itemState, (float)Math.PI*2, visualSett);

			////

			vMenuState.OnLevelChange += HandleLevelChange;
			Rebuild();
		}
Example #15
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        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);
            if (layoutState.FullItems.Length > 0) {
              BaseItemState itemState = layoutState.FullItems[0];
              IItemVisualSettings visualSett = pItemVisualSettProv.GetSettings(itemState.Item);
              ItemVisualSettingsStandard vSettings = (ItemVisualSettingsStandard)visualSett;
              Debug. Log("old pos=" + pos);
              pos.Scale(new Vector2(vSettings.ExpandSize, vSettings.ExpandSize));
              Debug. Log("new pos=" + pos);
            }
                uiLayout.transform.localPosition = new Vector3(pos.x, 0, pos.y);
            }
        }