コード例 #1
0
ファイル: Sajmon.cs プロジェクト: zsacul/TeacherVR
    public override void StartEvent()
    {
        base.StartEvent();

        PC = GameObject.FindGameObjectWithTag("PCEvent");
        Message(10, description, MessageSystem.ObjectToFollow.Headset, MessageSystem.Window.W800H400);
        MonitorRenderer    = PC.transform.Find("Monitor").gameObject.GetComponent <MeshRenderer>();
        TextMeshProMonitor = PC.transform.Find("Monitor/Canvas").gameObject.GetComponentInChildren <TextMeshProUGUI>();
        color = MonitorRenderer.material.color;
        MonitorRenderer.material.color = Color.red;
        Buttons = Instantiate(ButtonsPrefab);
        // aSource = Buttons.transform.GetChild(Buttons.transform.childCount - 1).GetComponent<AudioSource>();
        Buttons.SetActive(true);
        GenerateSequence(Lvl);
        _time                   = Time.time;
        seqBufforPtr            = 0;
        stat                    = SeqStatus.waitingForInteraction;
        progress                = 0;
        TextMeshProMonitor.text = "Press any key";
    }
コード例 #2
0
ファイル: Sajmon.cs プロジェクト: zsacul/TeacherVR
    public override void CallInUpdate()
    {
        //base.CallInUpdate();

        if ((stat == SeqStatus.NotShown && _time + Start_time <= Time.time) || (stat == SeqStatus.Showing && _time + deltaTime <= Time.time))
        {
            if (stat == SeqStatus.NotShown)
            {
                stat = SeqStatus.Showing;
                canPlayerIteract();
                _time = Time.time;
            }
            else if (stat == SeqStatus.Showing)
            {
                if (seqBufforPtr < sequen.Length)
                {
                    TextMeshProMonitor.text = "Watch";
                    ShowPressing(sequen[seqBufforPtr]);
                    seqBufforPtr++;
                    _time = Time.time;
                }
                else
                {
                    stat = SeqStatus.Shown;
                    canPlayerIteract(true);
                    TextMeshProMonitor.text = "Repeat";
                    _time = Time.time;
                }
            }
        }
        if (needToCheck)
        {
            if (stat == SeqStatus.waitingForInteraction)
            {
                seqPlayerSequence = "";
                stat         = SeqStatus.NotShown;
                seqBufforPtr = 0;
            }
            else
            {
                if (seqPlayerSequence.Equals(sequen))
                {
                    GameController.Instance.Particles.CreateParticle(Particles.NaszeParticle.ThreeHundredPoints,
                                                                     new Vector3(Buttons.transform.position.x, Buttons.transform.position.y + 0.5f,
                                                                                 Buttons.transform.position.z));
                    AddPoints(300);
                    CompleteEvent();
                }
                else
                {
                    if (!(sequen[seqPlayerSequence.Length - 1].Equals(seqPlayerSequence[seqPlayerSequence.Length - 1])))
                    {
                        TextMeshProMonitor.text = "Wait";
                        GameController.Instance.Particles.CreateParticle(Particles.NaszeParticle.Small_Wrong,
                                                                         new Vector3(Buttons.transform.position.x, Buttons.transform.position.y + 0.5f,
                                                                                     Buttons.transform.position.z));
                        seqPlayerSequence = "";
                        stat = SeqStatus.NotShown;
                        canPlayerIteract();
                        seqBufforPtr = 0;
                        progress     = 0;
                    }
                    else
                    {
                        GameController.Instance.Particles.CreateParticle(Particles.NaszeParticle.Small_Good_Correct_Ok,
                                                                         new Vector3(Buttons.transform.position.x, Buttons.transform.position.y + 0.5f,
                                                                                     Buttons.transform.position.z));
                        progress += 100 / sequen.Length;
                    }
                }
            }
            needToCheck = false;
        }
    }