예제 #1
0
    protected override void OnShow()
    {
        writer.enabled = true;
        writer.ResetToBeginning();
        if (dataList.Count > 0)
        {
            string text = dataList[index].SpeakList[dataIndex];
            if (text.Length > 60)
            {
                addText = text.Substring(60, text.Length - 60);
                text    = text.Substring(0, 60);
            }
            nameLabel.text  = dataList[index].name;
            speakLabel.text = text;
        }
        else if (data != null)
        {
            string[] sArray  = data.SpeakList[data.index].Split(':');
            string[] sArray2 = sArray[1].Split('*');
            string   text    = sArray2[0];

            if (text.Length > 60)
            {
                addText = text.Substring(60, text.Length - 60);
                text    = text.Substring(0, 60);
            }
            nameLabel.text = sArray2[1];
            //m_Sprite.spriteName = sArray[0];
            speakLabel.text = text;
        }

        IEnumeratorManager.Instance.StartCoroutine(SetAcitveSpeakLabel_Delay());
    }
예제 #2
0
    private void ShowTextAfterTp()
    {
        writer.enabled = true;
        canUseE        = true;
        if (data.cout > 0)
        {
            //if (dataList[0].spriteName != eventSpriteName)
            //{
            //    eventSpriteName = dataList[0].spriteName;
            //}
            string text = data.SpeakList[data.index];
            if (text.Contains("*"))
            {
                string[] sArrary = text.Split('*');
                text = sArrary[0];
            }
            if (text.Length > 60)
            {
                addText = text.Substring(60, text.Length - 61);
                text    = text.Substring(0, 60);
            }
            //nameLabel.text = dataList[index].name;
            speakLabel.text = text;
        }
        //else if (data != null)
        //{
        //    string text = data.SpeakList[data.index];

        //    if (text.Length > 40)
        //    {

        //        addText = text.Substring(40, text.Length - 41);
        //        text = text.Substring(0, 40);
        //    }
        //    //nameLabel.text = data.name;
        //    speakLabel.text = text;

        //}
        if (bg_GameObject.activeSelf == false)
        {
            bg_GameObject.SetActive(true);
            TweenAlpha ta = bg_GameObject.GetComponent <TweenAlpha>();
            ta.enabled = true;
            ta.ResetToBeginning();
        }
        writer.ResetToBeginning();
        IEnumeratorManager.Instance.StartCoroutine(SetAcitveSpeakLabel_Delay());
        curData = data;
    }
예제 #3
0
    protected override void OnShow()
    {
        AudioManager.Instance.PlayEffect_Source("waterAudio");
        AudioClip audioClip = ResourcesManager.Instance.LoadAudioClip(effectAudioName);

        if (audioClip != null)
        {
            typeWriter.printOneCharHader = PlayEffectAduio;
        }
        else
        {
            typeWriter.printOneCharHader = null;
        }
        typeWriter.gameObject.SetActive(false);
        typeWriter.enabled = false;
        typeWriter.ResetToBeginning();
        UILabel label = typeWriter.GetComponent <UILabel>();

        if (positionEnum == SubtitlePositionEnum.bottom)
        {
            label.transform.localPosition = new Vector3(label.transform.localPosition.x, -375, label.transform.localPosition.z);
        }
        else if (positionEnum == SubtitlePositionEnum.top)
        {
            label.transform.localPosition = new Vector3(label.transform.localPosition.x, 409.78f, label.transform.localPosition.z);
        }

        label.text = data.SpeakList[data.Index];
        typeWriter.charsPerSecond = perChar;
        typeWriter.enabled        = true;
        typeWriter.gameObject.SetActive(true);
        handerIsActive = false;
    }
예제 #4
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            label.text = "目的 [n]探索激光显微技术(laser capture microdissection system, LCM)捕获口腔上皮细胞," +
                         "并进行STR-DNA分型检测的方法。方法 用VERITAS显微切割仪红外低能激光显微捕获一定数量口腔上皮细胞," +
                         "进行Profiler Plus试剂盒STR复合扩增,检测DNA基因型。" +
                         "结果 7~8个口腔上皮细胞能成功获得STR-DNA分型。3~4个口腔上皮细胞不能成功获得STR-DNA分型。" +
                         "结论 激光显微捕获作为一种分离单个细胞的新技术,对于微量口腔上皮细胞的STR-DNA分型是可行的。特异性高\n" +
                         @"首次报导的PCR所用的DNA聚合酶是大肠杆菌的DNAPolymerase I的Klenow大片段,其酶活性在90℃会变性失活,需每次PCR循环都要重新加入Klenow大片段,同时引物是在37℃延伸(聚合)易产生模板—引物之间的碱基错配、致特异性较差,1988年Saiki等从温泉水中分离到的水生嗜热杆菌中提取的热稳定的Taq DNA聚合酶,在热变性处理时不被灭活,不必在每次循环扩增中再加入新酶,可以在较高温度下连续反应,显著地提高PCR产物的特异性,序列分析证明其扩增的DNA序列与原模板DNA一致。
扩增过程中,单核苷酸的错误参入程度很低、其错配率一般只有约万分之一,足可以提供特异性分析,选用各型病毒相对的特异寡核苷酸引物。PCR能一次确定病毒的多重感染。如用HPV11和HPV16型病毒引物检测病妇宫颈刮片细胞可以发现部分病人存在HPV11和HPV16两型的双重感染。
高度敏感
理论上PCR可以按2n倍数扩增DNA十亿倍以上,实际应用已证实可以将极微量的靶DNA成百万倍以上地扩增到足够检测分析量的DNA。能从100万个细胞中检出一个靶细胞,或对诸如病人口液等只含一个感染细胞的标本或仅含0.01pg的感染细胞的特异性片段样品中均可检测。
无放射性
一般在2小时内约可完成30次以上的循环扩增,加上用电泳分析。只需3 - 4小时便可完成,不用分离提纯病毒,DNA粗制品及总RNA均可作为反应起始物,可直接用临床标本如血液、体液、尿液、洗液、脱落毛发、细胞、活体组织等粗制的DNA的提取液来扩增检测,省去费时繁杂的提纯程序,扩增产物用一般电泳分析即可,不一定用同位素,无放射性易于推广。
简便
扩增产物可直接供作序列分析和分子克隆,摆脱繁琐的基因方法,可直接从RNA或染色体DNA中或部分DNA已降解的样品中分离目的基因,省去常规方法中须先进行克隆后再作序列分析的冗繁程序。已固定的和包埋的组织或切片亦可检测。如在PCR引物端事先构建一个内切酶位点,扩增的靶DNA可直接克隆到M13,PUC19等相应酶切位点的载体中。
可扩增物质
先按通常方法用寡脱氧胸苷引物和逆转录酶将mRNA转变成单链cDNA,再将得到的单链cDNA进行PCR扩增,即使mRNA转录片段只有100ngcDNA中的0.01 %,也能经PCR扩增1ng有242碱基对长度的特异片段,有些外显子分散在一段很长的DNA中,难以将整段DNA大分子扩增和做序列分析。若以mRNA作模板,则可将外显子集中,用PCR一次便完成对外显子的扩增并进行序列分析。";
            typewriter.ResetToBeginning();
        }
        if (Input.GetKeyDown(KeyCode.B))
        {
            //scrollView.UpdatePosition();
            //scrollView.OnPan(new Vector2(0f, 1000f));
        }
        if (label.height != lastHeight)
        {
            scrollView.ResetPosition();
            scrollView.SetDragAmount(0f, 1f, false);
            lastHeight = label.height;
        }
    }
예제 #5
0
    public void Play()
    {
        Debug.Log("talk In");
        if (typewritter.isActive)
        {
            typewritter.Finish();
            Debug.Log("talk");
        }
        else
        {
            _idx++;

            if (_idx < dic_sample.Count)
            {
                lb_typer.text = dic_sample[_idx].arg;
                typewritter.ResetToBeginning();
                setSprite();
            }
            else
            {
                colTalk.enabled = false;
                spriteClear();
                DissMiss();
            }
        }
    }
예제 #6
0
    public void NextSpeech()
    {
        if (CommuCurrentSpeech < targetCustomer.CommuMax)
        {
            if (EndMessage)
            {
                CommuCurrentSpeech++;
                UISetting();
                NowFirstTalking = true;
                typeEffect.ResetToBeginning();
                StartCoroutine("BossPopUpSprite");
                EndMessage = false;
                targetCustomer.CommuCurrentIndex++;
            }
            else
            {
                typeEffect.Finish();
                EndMessage = true;
            }
        }
        else
        {
            if (EndMessage)
            {
                CustomerSpeech.SpeechStart(true);

                CustomerSpeech.BossItemGiv(targetCustomer);
                CustomerSpeech.BossItemGiv(targetCustomer);

                StopTime.StartCoroutine("TimeFlow");
                TimeManager.nowFlow = true;
                UIVisible(false);
                CommuCurrentSpeech = 0;
                NowFirstTalking    = false;
                EndMessage         = false;
            }
            else
            {
                typeEffect.Finish();
                EndMessage = true;
            }
        }
    }
예제 #7
0
 public void ShowChatInfo(string info)
 {
     if (info != null)
     {
         mChatInfo.text = info;
         SetVisible(true);
         mTypewriterEffect.ResetToBeginning();
         mTypewriterEffect.enabled = true;
         mTweener.Restart();
     }
 }
예제 #8
0
 public void show(DavinciController.ActionCallback callback)
 {
     //labelTurn.text = nickName + "[99ff00] TURN [-]";
     isNext = true;
     if (effect == null)
     {
         effect = labelTurn.gameObject.GetComponent <TypewriterEffect>();
     }
     effect.ResetToBeginning();
     this.callback = callback;
     this.gameObject.SetActive(true);
 }
예제 #9
0
 static public int ResetToBeginning(IntPtr l)
 {
     try {
         TypewriterEffect self = (TypewriterEffect)checkSelf(l);
         self.ResetToBeginning();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
예제 #10
0
 static int ResetToBeginning(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         TypewriterEffect obj = (TypewriterEffect)ToLua.CheckObject(L, 1, typeof(TypewriterEffect));
         obj.ResetToBeginning();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
예제 #11
0
 void StartTypewriting(UILabel label)
 {
     if (writingLabel != null)
     {
         writingEffect.Finish();
     }
     lastHeight        = 0f;
     writingLabel      = label;
     writingScrollView = writingLabel.transform.parent.GetComponent <UIScrollView>();
     writingEffect     = writingLabel.GetComponent <TypewriterEffect>();
     writingEffect.ResetToBeginning();
     btnMask.SetActive(true);
     EventDelegate.Add(writingEffect.onFinished, OnEndTypewriting, true);
 }
예제 #12
0
    // 根据当前索引来更新显示文本(直接打印机显示文字效果)
    void UpdateText(int text_idx)
    {
        if (text_idx >= talkContentsList.Count)
        {
            return;
        }

        int lang_id = talkContentsList[text_idx];
//        string str = Lang.STR(lang_id);
        string str = "test";

        descLab.text = str;
        descTypeEffect.ResetToBeginning();
    }
예제 #13
0
    IEnumerator EndAnim()
    {
        yield return(null);

        switch (ClickCount)
        {
        case 1:
            Type1.enabled = true;
            firstSlide    = false;
            break;

        case 2:
            Ending1.SetTrigger("StartCartoon1");
            Type2.enabled = true;
            break;

        case 3:
            Ending2.SetTrigger("StartCartoon2");
            Type3.enabled = true;
            break;

        case 4:
            Type4.enabled = true;
            break;

        case 5:
            Text5.text    = "[앞으로는 얼굴 볼일 없게 합시다잉]";
            Type5.enabled = true;
            Type5.ResetToBeginning();
            break;

        case 7:
            Text6.text    = "라임은 빚을 모두 갚았습니다!...fin";
            Type6.enabled = true;
            Type6.ResetToBeginning();
            Ending3.SetTrigger("StartCartoon3");

            break;

        case 8:
            takedNum = 0;
            StartCoroutine("EndScreenFadeOut");
            break;
        }
    }
예제 #14
0
    private IEnumerator DoAddMessage(string name, string msg, StoryDirector.POS tail_dir, StoryDirector.MSG_TYPE msg_type)
    {
        typewriter = null;
        Transform table_t     = GetCtrl(UI.TBL_MESSAGE);
        string    prefab_name = "StoryMessageItem0";

        if (msg_type == StoryDirector.MSG_TYPE.MONOLOGUE)
        {
            prefab_name = "StoryMessageItem1";
        }
        Transform message_item_t = Realizes(prefab_name, table_t, true);

        message_item_t.SetSiblingIndex(0);
        UIWidget message_item_w = message_item_t.GetComponent <UIWidget>();

        lastMessageItem   = message_item_t;
        balloon           = base.GetComponent <UISprite>(message_item_t, (Enum)UI.SPR_BALLOON);
        tailLeft          = FindCtrl(message_item_t, UI.SPR_TAIL_L);
        tailRight         = FindCtrl(message_item_t, UI.SPR_TAIL_R);
        tailCenter        = FindCtrl(message_item_t, UI.SPR_TAIL_C);
        nameLabel         = base.GetComponent <UILabel>(message_item_t, (Enum)UI.LBL_NAME);
        messageLabel      = base.GetComponent <UILabel>(message_item_t, (Enum)UI.LBL_MESSAGE);
        initBaseHeight    = message_item_w.height;
        messageLabel.text = " ";
        initMessageHeight = messageLabel.height;
        messageHeight     = initMessageHeight;
        string temp = string.Empty;

        if (messageLabel.Wrap(msg, out temp))
        {
            msg = WordWrap.Convert(messageLabel, msg);
        }
        SetLastMessageFocus(true);
        SetMessageDragEnabled(false);
        if (msg_type == StoryDirector.MSG_TYPE.NORMAL)
        {
            if (tailLeft != null && tail_dir != StoryDirector.POS.LEFT)
            {
                tailLeft.get_gameObject().SetActive(false);
            }
            if (tailRight != null && tail_dir != StoryDirector.POS.RIGHT)
            {
                tailRight.get_gameObject().SetActive(false);
            }
            if (tailCenter != null && tail_dir != StoryDirector.POS.CENTER)
            {
                tailCenter.get_gameObject().SetActive(false);
            }
            nameLabel.text = name;
        }
        UIWidget next_arrow_w = base.GetComponent <UIWidget>((Enum)UI.SPR_NEXT);

        next_arrow_w.get_gameObject().SetActive(false);
        List <UITweener> tweens = new List <UITweener>();

        message_item_t.GetComponentsInChildren <UITweener>(tweens);
        while (tweens.Find((UITweener o) => o.get_enabled()) != null)
        {
            yield return((object)null);
        }
        SoundManager.PlaySystemSE(SoundID.UISE.POPUP, 1f);
        messageLabel.text         = msg;
        typewriter                = messageLabel.get_gameObject().AddComponent <TypewriterEffect>();
        typewriter.charsPerSecond = StoryDirector.SPEED_TYPEWRITER;
        typewriter.ResetToBeginning();
        while (typewriter.isActive)
        {
            yield return((object)null);
        }
        yield return((object)null);

        next_arrow_w.get_gameObject().SetActive(true);
        Vector3[] message_corners    = message_item_w.worldCorners;
        Vector3[] next_arrow_corners = next_arrow_w.worldCorners;
        ((UIRect)next_arrow_w).SetAnchor(null);
        next_arrow_w.cachedTransform.set_position(new Vector3((next_arrow_corners[0].x + next_arrow_corners[2].x) * 0.5f, message_corners[0].y - (next_arrow_corners[1].y - next_arrow_corners[0].y) * 0.5f, next_arrow_corners[0].z));
        SetMessageDragEnabled(true);
        Object.Destroy(typewriter);
        typewriter    = null;
        messageHeight = 0;
        messageNum++;
        coroutine = null;
    }
예제 #15
0
    private IEnumerator OpenQuestion()
    {
        sm.SetBGM("puzzle");
        //恢复默认位置
        QLabel.transform.localPosition       = Vector3.zero;
        QLabel.GetComponent <UILabel>().text = "Question " + reasoningEvent.num;
        QLabel.SetActive(false);
        //3 Question框打开
        questionContainer.SetActive(true);
        float t = 0, alpha = 0;

        while (t < 1)
        {
            t = Mathf.MoveTowards(t, 1, 1 / 0.5f * Time.deltaTime);
            float scale = 2 - t;
            if (t < 0.5)
            {
                alpha = t * 2;
            }
            questionContainer.transform.localScale            = new Vector3(scale, scale, 1);
            questionContainer.GetComponent <UIWidget>().alpha = alpha;
            yield return(null);
        }
        yield return(new WaitForSeconds(0.2f));

        //显示question 并闪烁
        QLabel.SetActive(true);
        for (int i = 0; i < 4; i++)
        {
            QLabel.GetComponent <UILabel>().color = Color.gray;
            yield return(new WaitForSeconds(0.1f));

            QLabel.GetComponent <UILabel>().color = Color.white;
            yield return(new WaitForSeconds(0.1f));
        }
        //移动Qustion到指定位置
        t = 0;
        while (t < 1)
        {
            t = Mathf.MoveTowards(t, 1, 1 / 0.2f * Time.deltaTime);
            float x = t * -360;
            QLabel.transform.localPosition = new Vector3(x, QLabel.transform.localPosition.y);
            yield return(null);
        }
        //4 题目显示
        questionLabel.GetComponent <UILabel>().text = reasoningEvent.question;
        questionLabel.SetActive(true);
        TypewriterEffect te = questionLabel.GetComponent <TypewriterEffect>();

        te.ResetToBeginning();
        while (te.isActive)
        {
            yield return(null);
        }
        yield return(new WaitForSeconds(0.5f));

        //5 选项依次显示
        StartCoroutine(ifevi ? ShowEvidence() : ShowChoice());
        //6 *血条展示
        hpmpManager.gameObject.SetActive(true);
        hpmpManager.ShowBar(true, false);
    }
예제 #16
0
 void Start()
 {
     m_LeftEffect.ResetToBeginning();
     m_RightEffect.ResetToBeginning();
 }
예제 #17
0
    void DialogUpdate(Local.StringLocalDialogInfo info)
    {
        string Name = info.NPCNameRIGHT;

        //string talkername = "";

        if (Name.Equals("0"))
        {
            Name = "";
        }

        if (Name.Contains("PLAYER"))
        {
            Name = Name.Replace("PLAYER", NetData.instance.Nickname);
        }
        //오른쪽
        if (string.IsNullOrEmpty(Name) || info.TalkPosition == 0)
        {
            Labels[(int)labelT.MyName].gameObject.SetActive(false);
        }
        else
        {
            Labels[(int)labelT.MyName].gameObject.SetActive(true);
            Labels[(int)labelT.MyName].text = Name;
        }

        if (info.TalkPosition == 2)         // right
        {
            Labels[(int)labelT.MyName].depth = 5;
        }
        else
        {
            Labels[(int)labelT.MyName].depth = -5;
        }

        Name = info.NPCNameLEFT;

        if (Name.Equals("0"))
        {
            Name = "";
        }


        if (Name.Contains("PLAYER"))
        {
            Name = Name.Replace("PLAYER", NetData.instance.Nickname);
        }
        //왼쪽

        if (string.IsNullOrEmpty(Name) || info.TalkPosition == 0)
        {
            Labels[(int)labelT.TargetName].gameObject.SetActive(false);
        }
        else
        {
            Labels[(int)labelT.TargetName].gameObject.SetActive(true);
            Labels[(int)labelT.TargetName].text = Name;
        }

        if (info.TalkPosition == 1)         // left
        {
            Labels[(int)labelT.TargetName].depth = 5;
        }
        else
        {
            Labels[(int)labelT.TargetName].depth = -5;
        }

        string talk = info.String;

        if (talk.Contains("\\\\\n"))
        {
            talk = talk.Replace("\\\\\n", "\n");
        }
        else if (talk.Contains("\\\\n"))
        {
            talk = talk.Replace("\\\\n", "\n");
        }
        else if (talk.Contains("\\\n"))
        {
            talk = talk.Replace("\\\n", "\n");
        }
        else if (talk.Contains("\\n"))
        {
            talk = talk.Replace("\\n", "\n");
        }

        typewriterEffect.ResetToBeginning(SceneManager.instance.IsPlaySoundFx, string.Format("{0}", talk));
    }