Exemplo n.º 1
0
    IEnumerator beatens()
    {
        /*GameObject NEWatkpreft = Instantiate(healthObj) as GameObject;
         *      NEWatkpreft.transform.SetParent(canvas.transform, false);
         *      NEWatkpreft.GetComponent<RectTransform>().anchoredPosition = new Vector3(Random.Range(-20f, 20f), Random.Range(-20f, 20f), 0);
         *      healthText = NEWatkpreft.GetComponentInChildren<Text>();
         *      healthText.text = "-" + damageInt;*/

        bulletsPool.addDamageInt = damageInt;
        bulletsPool.Fire();

        flash.SetTrigger("flash");
        playerController.SpineSister.GetComponent <Renderer>().material.SetFloat("_FillPhase", 0.5f);
        if (playerController.ChapterName == "0")
        {
            playerController.SpineBother.GetComponent <Renderer>().material.SetFloat("_FillPhase", 0.5f);
        }
        yield return(new WaitForSeconds(.5f));

        playerController.SpineSister.GetComponent <Renderer>().material.SetFloat("_FillPhase", 0f);
        if (playerController.ChapterName == "0")
        {
            playerController.SpineBother.GetComponent <Renderer>().material.SetFloat("_FillPhase", 0f);
        }

        //Destroy(NEWatkpreft,.5f);
    }
Exemplo n.º 2
0
    IEnumerator damageActive()
    {
        damageBulletsPool.Fire();

        if (enemyName != "0")
        {
            enemy1.state.SetAnimation(0, "death", false);
            enemy1.state.AddAnimation(0, "idle", true, 0f);
            if (enemyInt == 2)
            {
                enemy2.state.SetAnimation(0, "death", false);
                enemy2.state.AddAnimation(0, "idle", true, 0f);
            }
        }
        else
        {
            enemy1.state.SetAnimation(0, "death", false);
            enemy1.state.AddAnimation(0, "stun", true, 0f);
            if (enemyInt == 2)
            {
                enemy2.state.SetAnimation(0, "death", false);
                enemy2.state.AddAnimation(0, "stun", true, 0f);
            }
        }
        yield return(null);
    }
Exemplo n.º 3
0
 IEnumerator missActive()
 {
     missBulletsPool.Fire();
     enemy1.state.SetAnimation(0, "death", false);
     enemy1.state.AddAnimation(0, "idle", true, 0f);
     yield return(null);
 }
Exemplo n.º 4
0
    //---------------------碰撞-----------------------
    void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.name == "BossEnemy")         //觸碰到敵人
        {
            TakeDamage(10);
            damageBulletsPool.addDamageInt = 10;
            W1_beaten.SetActive(true);
            damageBulletsPool.Fire();
            StartCoroutine("Bossbeaten");
        }

        if (col.gameObject.name == "AtkParticle")         //序章-玩家受到小BOSS攻擊
        {
            //TakeDamage(BossAtk);
            TakeDamage(10);
            damageBulletsPool.addDamageInt = 10;
            damageBulletsPool.Fire();
            W1_beaten.SetActive(true);
            StartCoroutine("Bossbeaten");
        }

        if (col.gameObject.name == "F1(Clone)") //框框球攻擊
        {
            TakeDamage(5);
            damageBulletsPool.addDamageInt = 5;
            damageBulletsPool.Fire();
            StartCoroutine("Bossbeaten");
        }

        if (col.gameObject.name == "F2") //框框範圍攻擊
        {
            TakeDamage(25);
            damageBulletsPool.addDamageInt = 25;
            damageBulletsPool.Fire();
            F2_beaten.SetActive(true);
            StartCoroutine("Bossbeaten");
        }

        if (col.tag == "EndPoint")  //序章-結束點
        {
            if (ChapterName == "0")
            {
                dg_GameManager.win();
            }
            else if (ChapterName == "1")
            {
                if (StaticObject.sBE1 == 1)                 //BE1迷失森林
                {
                    gameManager.lose();
                }
                else                  //HE1離開森林
                {
                    gameManager.win();
                }
            }
            else if (ChapterName == "2")
            {
                if (StaticObject.sBE2 == 1)
                {
                    gameManager.lose();
                }
                else                  //BE2被遺忘的事
                {
                    gameManager.win();
                }
            }
            else if (ChapterName == "4")
            {
                if (StaticObject.sBE2 == 1)  //BE3萬籟俱寂的等待
                {
                    gameManager.lose();
                }
                else  //HE2真實的世界 +彩蛋
                {
                    gameManager.win();
                }
            }
        }

        if (HealthSlider.value < 100)
        {
            if (col.gameObject.name == "BloodStation")             //補血站
            {
                addBlood = true;
                lineParticle.SetActive(true);
            }

            if (col.tag == "heart")              //補血愛心
            {
                addBulletsPool.addDamageInt = 10;
                addBulletsPool.Fire();
                curHealth += 10;
                Destroy(col.gameObject);
            }
        }

        if (col.tag == "vine")         //進入藤蔓
        {
            activeClimb = col.gameObject.GetComponent <ActiveClimb>();
        }

        if (col.tag == "NPC")         //觸碰到NPC
        {
            npcTalk = col.gameObject.GetComponent <NpcTalk>();
        }

        if (col.tag == "pickUpObj")         //拾取物件
        {
            activePickUp = col.gameObject.GetComponent <ActivePickUp>();

            if (col.gameObject.name == activePickUp.PickUpObjName) //形石
            {
                activePickUp.PickUpObjBool = true;
            }
        }

        if (col.gameObject.name == "redFairy" || col.gameObject.name == "blueFairy")         //觸碰到紅藍精靈
        {
            npcTalk = GameObject.Find("NPC_Statue").GetComponent <NpcTalk>();
        }

        if (col.gameObject.name == "redFlower" || col.gameObject.name == "blueFlower")        //觸碰到紅藍花
        {
            npcTalk = GameObject.Find("NPC_Bobby").GetComponent <NpcTalk>();
        }

        if (col.gameObject.name == "rightClock" || col.gameObject.name == "falseClock")         //觸碰到時鐘
        {
            npcTalk = GameObject.Find("NPC_Dida").GetComponent <NpcTalk>();
        }

        if (col.gameObject.name == "rightKey" || col.gameObject.name == "falseKey") //觸碰到鑰匙
        {
            npcTalk = GameObject.Find("Door").GetComponent <NpcTalk>();
        }

        if (col.gameObject.name == "Teleportation") //傳送陣
        {
            StartCoroutine("Teleportation");
        }
    }