Ejemplo n.º 1
0
    /// <summary>
    /// 添加语音
    /// </summary>
    private void AddVoiceContent(RichContent content)
    {
        GameObject icongo = NGUITools.AddChild(mWidget.gameObject, mIcon.gameObject);

        icongo.SetActive(true);
        UISprite sprite = icongo.GetComponent <UISprite>();

        sprite.spriteName = content.content;
        sprite.MakePixelPerfect();
        int width  = sprite.width;
        int height = sprite.height;

        icongo.name = "voiceobj";

        BoxCollider boxcollider = UtilTools.SafeAddComponent <BoxCollider>(icongo);

        boxcollider.size   = new Vector3(sprite.width, sprite.height, 0);
        boxcollider.center = new Vector3(sprite.width * 0.5f, -sprite.height * 0.5f, 0);

        //UISpriteAnimation anim = UtilTools.SafeAddComponent<UISpriteAnimation>(icongo);
        //anim.namePrefix = content.anim_namePrefix;
        //anim.loop = true;
        //anim.framesPerSecond = 30;

        UILinkText linkText = UtilTools.SafeAddComponent <UILinkText>(icongo);

        linkText.args        = content.args;
        linkText.linktype    = content.linktype;
        linkText.voiceObject = icongo;
        voice_args           = content.args;

        UIDragScrollView dragScrollview = UtilTools.SafeAddComponent <UIDragScrollView>(icongo);

        float dy      = height - cellHeight;
        float surplus = maxWidth - mPositionX;                  //一行剩余空间

        if (surplus >= width)
        {
            icongo.transform.localPosition = new Vector3(mPositionX, mPositionY, 0);
            if (dy > 0)
            {
                m_dy = m_dy > dy ? m_dy : dy;
            }
        }
        else
        {
            mPositionX = mLabeltemp_x;
            mPositionY = mPositionY - cellHeight - m_dy - cellHeight + NGUIText.fontSize;
            m_dy       = dy > 0 ? dy : 0;
            //iswrap = true;

            icongo.transform.localPosition = new Vector3(mPositionX, mPositionY, 0);
        }
        float iconwidth = width;

        mPositionX += iconwidth;
        SetCurrWidth(mPositionX);
    }
Ejemplo n.º 2
0
    private void CreateVoiceLink()
    {
        Transform voiceTrans = transform.FindChild("voiceobj");

        if (voiceTrans != null)
        {
            UIDragScrollView dragScrollview = UtilTools.SafeAddComponent <UIDragScrollView>(mWidget.gameObject);
            BoxCollider      boxcollider    = UtilTools.SafeAddComponent <BoxCollider>(mWidget.gameObject);
            boxcollider.size   = new Vector3(mWidget.width, mWidget.height, 0);
            boxcollider.center = new Vector3(mWidget.width * 0.5f, -mWidget.height * 0.5f, 0);
            UIButtonColor btnColor = UtilTools.SafeAddComponent <UIButtonColor>(mWidget.gameObject);
            btnColor.duration = 0.1f;
            UILinkText linkText = UtilTools.SafeAddComponent <UILinkText>(mWidget.gameObject);
            linkText.args        = voice_args;
            linkText.linktype    = LinkType.AUDIO;
            linkText.voiceObject = voiceTrans.gameObject;
        }
    }
Ejemplo n.º 3
0
    private void ParseWrapHref(string value, RichContent content)
    {
        mLabel.gameObject.SetActive(true);
        value = value.Replace("\n", "");

        NGUIText.fontSize    = mLabel.fontSize;
        NGUIText.finalSize   = mLabel.fontSize;
        NGUIText.dynamicFont = mLabel.trueTypeFont;
        NGUIText.rectWidth   = (int)(maxWidth - mPositionX);
        NGUIText.maxLines    = 10000;
        NGUIText.rectHeight  = 10000;
        string sbstr = "";

        NGUIText.WrapText(value, out sbstr);

        if (string.IsNullOrEmpty(sbstr))
        {
            SetCurrWidth(mPositionX);
            mPositionX = mLabeltemp_x;
            mPositionY = mPositionY - cellHeight - m_dy - cellHeight + NGUIText.fontSize;
            m_dy       = 0;
            //iswrap = true;
            ParseWrapHref(value, content);
            return;
        }

        GameObject labelgo = NGUITools.AddChild(mWidget.gameObject, mLabel.gameObject);

        labelgo.SetActive(true);
        UILabel label = labelgo.GetComponent <UILabel>();

        labelgo.transform.localPosition = new Vector3(mPositionX, mPositionY, 0);

        UIDragScrollView dragScrollview = UtilTools.SafeAddComponent <UIDragScrollView>(labelgo);

        UIButtonColor btnColor = UtilTools.SafeAddComponent <UIButtonColor>(labelgo);

        btnColor.duration     = 0.1f;
        btnColor.defaultColor = UtilTools.GetColorByLinkType(content);

        UILinkText linkText = UtilTools.SafeAddComponent <UILinkText>(labelgo);

        linkText.args     = content.args;
        linkText.linktype = content.linktype;
        if (content.linktype == LinkType.AUDIO)
        {
            label.color = textColor;
        }
        else
        {
            label.color = UtilTools.GetColorByLinkType(content);
        }

        int    index = sbstr.IndexOf("\n");
        string str   = "";

        if (index > -1)
        {
            str        = sbstr.Substring(0, index);
            label.text = str;

            BoxCollider boxcollider = UtilTools.SafeAddComponent <BoxCollider>(labelgo);
            boxcollider.size   = new Vector3(label.width, label.height, 0);
            boxcollider.center = new Vector3(label.width * 0.5f, -label.height * 0.5f, 0);

            SetCurrWidth(mPositionX + label.width);
            mPositionX = mLabeltemp_x;
            mPositionY = mPositionY - cellHeight - m_dy - cellHeight + NGUIText.fontSize;
            m_dy       = 0;
            //iswrap = true;
            sbstr = sbstr.Remove(0, str.Length);
            ParseWrapHref(sbstr, content);
        }
        else
        {
            str        = sbstr;
            label.text = str;

            BoxCollider boxcollider = UtilTools.SafeAddComponent <BoxCollider>(labelgo);
            boxcollider.size   = new Vector3(label.width, label.height, 0);
            boxcollider.center = new Vector3(label.width * 0.5f, -label.height * 0.5f, 0);

            int lastLabelwidth = label.width;
            mPositionX += lastLabelwidth;
            SetCurrWidth(mPositionX);
        }
    }