예제 #1
0
 void OnEnable()
 {
     finishing  = false;
     isHovering = false;
     transform.parent.Find("Seal").gameObject.SetActive(false);
     state = finish.moving;
     transform.position = first;
 }
예제 #2
0
    // 衝突した瞬間に呼ばれる
    void OnTriggerEnter(Collider other)
    {
        // GameCtrlクラスを探して、取得する
        gameRuleCtrl = GameObject.FindObjectOfType(typeof(finish)) as finish;

        // GameCtrlクラスのGameClearメソッドを呼ぶ
        gameRuleCtrl.GameClear();

        // 衝突してきた物体のGoalメソッドを呼ぶ
    }
예제 #3
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (finishing)
        {
            switch (state)
            {
            case (finish.moving):
                transform.position = Vector3.MoveTowards(transform.position, seal, speed3);
                if (transform.position == seal)
                {
                    state = finish.wait;
                    wait  = Time.time;
                }
                break;

            case (finish.wait):
                if (wait + 0.25f < Time.time)
                {
                    transform.parent.Find("Seal").gameObject.SetActive(true);
                    state = finish.down;
                    down  = transform.position;
                    wait  = Time.time;
                }
                break;

            case (finish.down):
                down.x            += 25;
                transform.position = down;
                if (wait + 0.3f < Time.time)
                {
                    MainScript.MSCRIPT.towerTemp = Instantiate(prefab);
                    GetComponentInParent <BuildManager>().Exit();
                    state = finish.done;
                }
                break;
            }
        }
        else
        {
            if (isHovering)
            {
                transform.position = Vector3.MoveTowards(transform.position, target, speed1);
            }
            else
            {
                transform.position = Vector3.MoveTowards(transform.position, og, speed2);
            }
        }
    }
예제 #4
0
        public void TestMethod17()
        {
            // ToString() test
            add a = new add(0, 1, 5);

            Assert.AreEqual("add r0 r1 r5", a.ToString());
            addi ai = new addi(0, 1, 5);

            Assert.AreEqual("addi r0 r1 5", ai.ToString());
            bz bz = new bz(1, 1);

            Assert.AreEqual("bz r1 1", bz.ToString());
            bge bge = new bge(1, 1);

            Assert.AreEqual("bge r1 1", bge.ToString());
            bnz bnz = new bnz(1, 1);

            Assert.AreEqual("bnz r1 1", bnz.ToString());
            ble ble = new ble(1, 1);

            Assert.AreEqual("ble r1 1", ble.ToString());
            finish f = new finish();

            Assert.AreEqual("finish", f.ToString());
            launch l = new launch(1);

            Assert.AreEqual("launch r1", l.ToString());
            ld ld = new ld(2, 1, 3);

            Assert.AreEqual("ld r2 r1 3", ld.ToString());
            mul m = new mul(1, 2, 3);

            Assert.AreEqual("mul r1 r2 r3", m.ToString());
            muli mi = new muli(1, 2, 3);

            Assert.AreEqual("muli r1 r2 3", mi.ToString());
            st s = new st(1, 2, 3);

            Assert.AreEqual("st r1 r2 3", s.ToString());
            sub sub = new sub(1, 2, 3);

            Assert.AreEqual("sub r1 r2 r3", sub.ToString());
            subi subi = new subi(1, 2, 3);

            Assert.AreEqual("subi r1 r2 3", subi.ToString());
        }
예제 #5
0
 void Start()
 {
     original_position = transform.TransformPoint(transform.localPosition);
     player            = GameObject.FindWithTag("MainCamera").GetComponent <Transform>();
     finish_ctrl       = GameObject.FindWithTag("finish").GetComponent <finish>();
 }
예제 #6
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "VaultObject" && !animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("vault"))
        {
            hudscript.setAction(ActionTypes.Vault);
            aVaultObject = other.GetComponent <vaultObject>();
            canVault     = true;
            animPosition = (Vector3.Distance(transform.position, aVaultObject.transform.TransformPoint(aVaultObject.curve[0])) > Vector3.Distance(transform.position, aVaultObject.transform.TransformPoint(aVaultObject.curve[aVaultObject.curve.Length - 1])));
        }
        if (other.tag == "slideObject")
        {
            hudscript.setAction(ActionTypes.Slide);
            aVaultObject = other.GetComponent <vaultObject>();
            canSlide     = true;
            animPosition = (Vector3.Distance(transform.position, aVaultObject.transform.TransformPoint(aVaultObject.curve[0])) > Vector3.Distance(transform.position, aVaultObject.transform.TransformPoint(aVaultObject.curve[aVaultObject.curve.Length - 1])));
        }
        if (other.tag == "ladder")
        {
            hudscript.setAction(ActionTypes.HoldLadder);
            aLadder  = other.GetComponent <ladder>();
            canClimb = true;
        }
        if (other.tag == "ground")
        {
            isGrounded = true;
            if (animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("_jump") || animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("falling") || animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("pullup"))
            {
                animator.SetTrigger("landing");
            }
        }
        if (other.tag == "slopeGround")
        {
            isGrounded = true;
            if (animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("_jump") || animator.GetCurrentAnimatorClipInfo(0)[0].clip.name.Contains("falling"))
            {
                animator.SetTrigger("landing");
            }

            if (Quaternion.Angle(other.transform.rotation, Quaternion.Euler(0, other.transform.rotation.eulerAngles.y, other.transform.rotation.eulerAngles.z)) > 15.0f)
            {
                aVaultObject = other.GetComponent <vaultObject>();
                if (Vector3.Distance(aVaultObject.transform.TransformPoint(aVaultObject.curve[1]), transform.position) < 5.0f)
                {
                    Vector3 apos = (aVaultObject.transform.position - transform.position), bpos = transform.forward;
                    apos.y = bpos.y = 0;
                    if (Vector3.Angle(apos, bpos) < 30 && Vector3.Angle(apos, bpos) > -30)
                    {
                        animator.SetBool("ski", true);
                        rigidbody.isKinematic = true;
                        Vector3 r = transform.rotation.eulerAngles;
                        r.x = aVaultObject.transform.rotation.eulerAngles.x;
                        rigidbody.MoveRotation(Quaternion.Euler(r));
                    }
                }
            }
        }
        if (other.tag == "holdable")
        {
            canHold      = true;
            aVaultObject = other.GetComponent <vaultObject>();
        }
        if (other.tag == "slip")
        {
            animator.SetTrigger("slip");
        }
        if (other.tag == "coin")
        {
            Destroy(other.gameObject);
            hudscript.setCoinCount(++coin);
        }
        if (other.tag == "Finish")
        {
            finish ff = other.GetComponent <finish>();
            GetComponent <AudioSource>().clip = finishmusic;
            GetComponent <AudioSource>().Play();
            ff.animator.SetTrigger("open");
            isGameDone        = true;
            Screen.lockCursor = false;
            hudscript.GameFinish();
        }
        if (other.tag == "deadzone")
        {
            hudscript.Dead();
            Screen.lockCursor = false;
        }
    }