Beispiel #1
0
    public override void Rendering()
    {
        /***** rendering *****/
        // make renderer gameobject
        rendererObj = new GameObject("Renderer");
        rendererObj.transform.SetParent(_parentObj.transform, false);

        // center pivot position setting
        centerObj = new GameObject("Center");
        centerObj.transform.SetParent(rendererObj.transform, false);
        centerObj.transform.localPosition = new Vector3(_width / 2, _height / 2, 0);

        // build arc item background ui
        backgroundObj = new GameObject("Background");
        backgroundObj.transform.SetParent(rendererObj.transform, false);
        focusingObj = new GameObject("Focusing");
        focusingObj.transform.SetParent(rendererObj.transform, false);
        selectingObj = new GameObject("Selecting");
        selectingObj.transform.SetParent(rendererObj.transform, false);

        _uiStickItemBg = backgroundObj.AddComponent <UIStickItem> ();
        _uiStickItemBg.Build(_sSettings);
        _uiStickItemBg.UpdateMesh(_width, _height, 0.0f, 0.0f, _backgroundColor);

        _uiStickItemFs = focusingObj.AddComponent <UIStickItem> ();
        _uiStickItemFs.Build(_sSettings);

        _uiStickItemSt = selectingObj.AddComponent <UIStickItem> ();
        _uiStickItemSt.Build(_sSettings);

        // build item label ui
        labelObj = new GameObject("Label");
        labelObj.transform.SetParent(rendererObj.transform, false);
        labelObj.transform.localPosition = new Vector3(_sSettings.ItemWidth / 2 - 0.1f, _sSettings.ItemHeight / 2, 0);
        labelObj.transform.localRotation = Quaternion.FromToRotation(Vector3.back, Vector3.down);
        labelObj.transform.localScale    = new Vector3(1, 1, 1);

        UIItemLabel _uiItemLabel = labelObj.AddComponent <UIItemLabel>();

        _uiItemLabel.SetAttributes(_label, _sSettings.TextFont, _sSettings.TextSize, _sSettings.TextColor, (_sSettings.ItemWidth - 0.2f) * 500.0f);
        _uiItemLabel.SetTextAlignment(_textAlignment);

        // rotate text for easy read
        if (_textRotation == TextRotationType.Left)
        {
            _uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, 90.0f));
        }
        else if (_textRotation == TextRotationType.Upsidedown)
        {
            _uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, 180.0f));
        }
        else if (_textRotation == TextRotationType.Right)
        {
            _uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, -90.0f));
        }

        // each types ui
        switch (_itemType)
        {
        case (ItemType.Parent):
            GameObject labelHasChildObj = new GameObject("HasChildArrow");
            labelHasChildObj.transform.SetParent(rendererObj.transform, false);
            if (_direction == StickShortcutDirection.Horizontal)
            {
                labelHasChildObj.transform.localPosition = new Vector3(_sSettings.ItemWidth / 2, _sSettings.ItemHeight * 0.9f, 0);
                labelHasChildObj.transform.localRotation = Quaternion.FromToRotation(Vector3.down, Vector3.forward);
                labelHasChildObj.transform.localScale    = new Vector3(0.6f, 0.6f, 0.6f);
            }
            else if (_direction == StickShortcutDirection.Vertical)
            {
                labelHasChildObj.transform.localPosition = new Vector3(_sSettings.ItemWidth * 0.9f, _sSettings.ItemHeight / 2, 0);
                labelHasChildObj.transform.localRotation = Quaternion.FromToRotation(Vector3.down, Vector3.forward);
                labelHasChildObj.transform.localScale    = new Vector3(1, 1, 1);
            }

            UIHasChild uiLabelHasChild = labelHasChildObj.AddComponent <UIHasChild>();
            uiLabelHasChild.SetAttributes((_direction == StickShortcutDirection.Horizontal)?"▲":"▶", _sSettings.TextFont, _sSettings.TextSize, _sSettings.TextColor);

            break;

        case (ItemType.NormalButton):

            break;

        default:
            break;
        }
    }
	public override void Rendering() {
		/***** rendering *****/
		// make renderer gameobject
		rendererObj = new GameObject ("Renderer");
		rendererObj.transform.SetParent (_parentObj.transform, false);

		// center pivot position setting
		centerObj = new GameObject("Center");
		centerObj.transform.SetParent (rendererObj.transform, false);
		centerObj.transform.localPosition = new Vector3 (_width/2, _height/2, 0);
		
		// build arc item background ui
		backgroundObj = new GameObject ("Background");
		backgroundObj.transform.SetParent (rendererObj.transform, false);
		focusingObj = new GameObject ("Focusing");
		focusingObj.transform.SetParent (rendererObj.transform, false);
		selectingObj = new GameObject ("Selecting");
		selectingObj.transform.SetParent (rendererObj.transform, false);

		_uiStickItemBg = backgroundObj.AddComponent<UIStickItem> ();
		_uiStickItemBg.Build (_sSettings);
		_uiStickItemBg.UpdateMesh (_width, _height, 0.0f, 0.0f, _backgroundColor);

		_uiStickItemFs = focusingObj.AddComponent<UIStickItem> ();
		_uiStickItemFs.Build (_sSettings);
		
		_uiStickItemSt = selectingObj.AddComponent<UIStickItem> ();
		_uiStickItemSt.Build (_sSettings);

		// build item label ui
		labelObj = new GameObject ("Label");
		labelObj.transform.SetParent (rendererObj.transform, false);
		labelObj.transform.localPosition = new Vector3(_sSettings.ItemWidth/2-0.1f, _sSettings.ItemHeight/2, 0);
		labelObj.transform.localRotation = Quaternion.FromToRotation(Vector3.back, Vector3.down);
		labelObj.transform.localScale = new Vector3(1, 1, 1);

		UIItemLabel _uiItemLabel = labelObj.AddComponent<UIItemLabel>();
		_uiItemLabel.SetAttributes (_label, _sSettings.TextFont, _sSettings.TextSize, _sSettings.TextColor, (_sSettings.ItemWidth-0.2f)*500.0f);
		_uiItemLabel.SetTextAlignment (_textAlignment);

		// rotate text for easy read
		if (_textRotation == TextRotationType.Left) {
			_uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, 90.0f));
		} else if (_textRotation == TextRotationType.Upsidedown) {
			_uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, 180.0f));
		} else if (_textRotation == TextRotationType.Right) {
			_uiItemLabel.RotateText(new Vector3(0.0f, 0.0f, -90.0f));
		} 

		// each types ui
		switch (_itemType) {
		case (ItemType.Parent) :
			GameObject labelHasChildObj = new GameObject ("HasChildArrow");
			labelHasChildObj.transform.SetParent (rendererObj.transform, false);
			if (_direction == StickShortcutDirection.Horizontal) {
				labelHasChildObj.transform.localPosition = new Vector3(_sSettings.ItemWidth/2, _sSettings.ItemHeight*0.9f, 0);
				labelHasChildObj.transform.localRotation = Quaternion.FromToRotation(Vector3.down, Vector3.forward);
				labelHasChildObj.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f);

			} else if (_direction == StickShortcutDirection.Vertical) {
				labelHasChildObj.transform.localPosition = new Vector3(_sSettings.ItemWidth*0.9f, _sSettings.ItemHeight/2, 0);
				labelHasChildObj.transform.localRotation = Quaternion.FromToRotation(Vector3.down, Vector3.forward);
				labelHasChildObj.transform.localScale = new Vector3(1, 1, 1);
			}

			UIHasChild uiLabelHasChild = labelHasChildObj.AddComponent<UIHasChild>();
			uiLabelHasChild.SetAttributes ((_direction == StickShortcutDirection.Horizontal)?"▲":"▶", _sSettings.TextFont, _sSettings.TextSize, _sSettings.TextColor);
			
			break;
		case (ItemType.NormalButton) :
			
			break;
		default :
			break;
		}


	}