コード例 #1
0
    protected void SwitchStyle(ButtonStyle[] styles, Color styleColor)
    {
        if (buttonBackground != null && styles != null && styles.Length > 0 && styles.Length == buttonBackground.Length)
        {
            int ii = 0;
            foreach (ButtonStyle style in styles)
            {
                NvUIImage image = buttonBackground.getImage(ii++);
                if (image == null)
                {
                    Debug.LogWarning("NvButton(" + name + "): Out of range");
                    break;
                }
                else
                {
                    image.atlas                   = style.atlas;
                    image.spriteName              = style.spriteName;
                    image.spriteColor             = styleColor;
                    image.transform.localPosition = style.Offset;

                    if (ii - 1 == 0 && buttonCollider != null)
                    {
                        buttonCollider.transform.localScale = image.transform.localScale;
                    }
                }
            }

            if (buttonCaption != null)
            {
                Vector3 pos = buttonCaption.transform.localPosition;
                pos.z = buttonBackground.deepestDepthZ + (-0.5f);
                buttonCaption.transform.localPosition = pos;
            }
        }
    }
コード例 #2
0
    protected void applyAnchor()
    {
        NvUIImage slotHead = showSlots[0];

        if (slotHead != null)
        {
            float w = m_showLabelSize.x;
            float h = m_showLabelSize.y;

            if (m_anchor == EAnchor.eAnchor_Center)
            {
                float offsetX = (w - slotHead.transform.localScale.x) / -2;

                //Debug.Log("^^^^^^^^^^^^^^^^^^^^^^^^^^m_value:  "+m_value+"  m_showLabelSize.x: "+m_showLabelSize.x+"offsetX: "+offsetX);

                foreach (NvUIImage slot in showSlots)
                {
                    if (slot.visible)
                    {
                        Vector3 originPos = slot.transform.localPosition;
                        slot.transform.localPosition = new Vector3(originPos.x + offsetX, originPos.y, originPos.z);
                    }
                }
            }
        }
    }
コード例 #3
0
    private NvUIImage buildAnImage(UIAtlas atlas, string spriteName)
    {
        if (atlas != null)
        {
            UIAtlas.Sprite sprite = atlas.GetSprite(spriteName);

            if (sprite != null)
            {
                Rect rc = sprite.outer;

                GameObject obj = new GameObject("ImageSlot (" + spriteName + ")");
                obj.transform.parent        = transform;
                obj.transform.localPosition = Vector3.zero;
                obj.transform.localRotation = Quaternion.identity;
                obj.transform.localScale    = new Vector3(rc.width, rc.height, 1.0f);
                obj.layer = gameObject.layer;

                UISprite spr = obj.AddComponent <UISprite>();
                spr.atlas = atlas;

                NvUIImage image = obj.AddComponent <NvUIImage>();
                image.spriteName = spriteName;
                return(image);
            }
        }
        return(null);
    }
コード例 #4
0
    //public event OnElementTriggered eventOnSliderChanged;

    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        m_scrollbar  = GetComponent <UIScrollBar>();
        m_background = findChild("Background") as NvUIImage;
        m_foreground = findChild("Foreground") as NvUIImage;
    }
コード例 #5
0
    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        m_slider     = GetComponent <UISlider>();
        m_background = findChild("Background") as NvUIImage;
        m_foreground = findChild("Foreground") as NvUIImage;
        m_thumb      = findChild("Thumb") as NvUIImage;
    }
コード例 #6
0
    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        Transform tr = null;

        if (buttonCaption == null)
        {
            tr = transform.FindChild("Caption");
            if (tr != null)
            {
                buttonCaption = tr.GetComponent <NvUILabel>();
            }
        }

        if (buttonCaption != null)
        {
            buttonCaption.text = m_caption;
        }

        if (buttonBackground == null)
        {
            tr = transform.FindChild("Background");
            if (tr != null)
            {
                buttonBackground = tr.GetComponent <NvUIImagelist>();
            }
        }

        if (buttonBackground != null)
        {
            foreach (ButtonStyle style in m_skin.normalStyle)
            {
                NvUIImage image = buttonBackground.addImage(style.atlas, style.spriteName);
                image.transform.localPosition = style.Offset;

                if (image != null)
                {
                    image.spriteColor = m_skin.normalColor;
                }
            }
        }

        if (buttonCollider != null && buttonBackground != null)
        {
            NvUIImage image = buttonBackground.getImage(0);
            if (image == null)
            {
                Debug.LogWarning("NvUIButton (" + name + "): the button has no properly configured skin, check it!");
            }
            else
            {
                buttonCollider.transform.localScale = image.transform.localScale;
            }
        }
    }
コード例 #7
0
    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        m_slider = gameObject.GetComponent <UISlider>();

        if (m_slider != null)
        {
            m_slider.direction     = m_direction;
            m_slider.eventReceiver = gameObject;
            m_slider.functionName  = "OnProgress";
            m_slider.thumb         = null;
            applyValue();
        }

        if (m_lblValue == null)
        {
            m_lblValue = findChild("Value") as NvUILabel;
            if (m_lblValue != null)
            {
                m_lblValue.setVisible(m_showValue);
            }
        }
        else
        {
            m_lblValue.setVisible(m_showValue);
        }

        if (m_background == null)
        {
            m_background = findChild("Background") as NvUIImage;
            if (m_background != null)
            {
                m_background.setVisible(m_showValue);
            }
        }
        else
        {
            m_background.setVisible(m_showValue);
        }

        if (m_foreground == null)
        {
            m_foreground = findChild("Foreground") as NvUIImage;
            if (m_foreground != null)
            {
                m_foreground.setVisible(m_showValue);
            }
        }
        else
        {
            m_foreground.setVisible(m_showValue);
        }
    }
コード例 #8
0
    public NvUIImage addImage(UIAtlas atlas, string spriteName)
    {
        if (spriteName != "" && atlas != null)
        {
            NvUIImage image = buildAnImage(atlas, spriteName);
            if (image != null)
            {
                image.depth       = m_Imagelist.Count;
                image.spriteColor = m_spriteColor;

                m_Imagelist.Add(image);

                return(image);
            }
        }
        return(null);
    }
コード例 #9
0
    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        int ii = 0;

        foreach (SpriteContext ctx in m_spriteContextTable)
        {
            NvUIImage image = buildAnImage(ctx.atlas, ctx.spriteName);
            if (image != null)
            {
                //image.depth = ii++;
                Vector3 pos = image.transform.localPosition;
                pos.z += transform.localPosition.z + (-1f) * ii;
                ++ii;

                image.transform.localPosition = pos;
                image.spriteColor             = m_spriteColor;
                m_Imagelist.Add(image);
            }
        }
    }
コード例 #10
0
    protected override void AwakeImpl()
    {
        base.AwakeImpl();

        m_slider = GetComponent<UISlider>();
        m_background = findChild("Background") as NvUIImage;
        m_foreground = findChild ("Foreground") as NvUIImage;
        m_thumb = findChild("Thumb") as NvUIImage;
    }
コード例 #11
0
    protected override void applyValue()
    {
        string    sNum = m_value;
        NvUIImage slot = null;

        m_showLabelSize = Vector2.zero;

        for (int ii = 0; ii < showSlots.Length; ++ii)
        {
            if (ii < sNum.Length)
            {
                if (sNum[ii] == '-')
                {
                    showSlots[ii].spriteName = spriteTable[10];
                }
                else if (sNum[ii] == '+')
                {
                    showSlots[ii].spriteName = spriteTable[11];
                }
                else if (sNum[ii] >= '0' && sNum[ii] <= '9')
                {
                    showSlots[ii].spriteName = spriteTable[(int)(sNum[ii] - '0')];
                }

                Vector3 scale = Vector3.zero;
                Vector3 pos   = Vector3.zero;

                if (slot != null)
                {
                    scale = slot.transform.localScale;
                    pos   = slot.transform.localPosition;
                }

                if (m_isFixedWidth)
                {
                    //Debug.Log("^^^^^^^^^m_isFixedWidth  showSlots: "+showSlots[ii].spriteName+"  m_fixedWidth: "+m_fixedWidth+" m_paddingWidth:"+m_paddingWidth );

                    showSlots[ii].transform.localPosition = new Vector3(pos.x + (slot == null?0:m_fixedWidth) + m_paddingWidth, pos.y, pos.z);
                }
                else
                {
                    //Debug.Log("^^^^^^^^^showSlots: "+showSlots[ii].spriteName+"  showSlots[ii].transform.localPosition: "+showSlots[ii].transform.localPosition+" pos:"+pos+" scale: "+scale+" m_paddingWidth: "+m_paddingWidth );
                    showSlots[ii].transform.localPosition = new Vector3(pos.x + scale.x + m_paddingWidth, pos.y, pos.z);
                }

                if (m_isFixedWidth)
                {
                    scale   = showSlots[ii].transform.localScale;
                    scale.x = m_fixedWidth;
                    showSlots[ii].transform.localScale = scale;
                }

                showSlots[ii].setVisible(true);
                slot = showSlots[ii];


                m_showLabelSize.x = slot.transform.localPosition.x + slot.transform.localScale.x;
                //Debug.Log("^^^^^^^^^^^^^^^^^^^^^slot: "+slot.spriteName+" m_numLabelSize.x: "+m_numLabelSize.x+"   slot.transform.localPosition.x: "+slot.transform.localPosition.x+"   slot.transform.localScale.x: "+ slot.transform.localScale.x);
                m_showLabelSize.y = m_showLabelSize.y < slot.transform.localScale.y ? slot.transform.localScale.y : m_showLabelSize.y;
            }
            else
            {
                showSlots[ii].setVisible(false);
            }
        }
    }