Esempio n. 1
0
    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag == "maze")
        {
            Destroy(gameObject);
        }

        if (other.gameObject.tag == "enemy")
        {
            //  kill enemy script here
            Destroy(other.gameObject);

            // create explosion
            GameObject explosionO = Instantiate(explosion, other.gameObject.transform.position, other.gameObject.transform.rotation) as GameObject;

            // create respown place at where enemy was killed
            GameObject respownPlaceO = Instantiate(respownPlace,
                                                   other.gameObject.transform.position, Quaternion.Euler(new Vector3(0, 0, 0))) as GameObject;

            // get each script form objects
            MultipleWays enemySc   = other.gameObject.GetComponent <MultipleWays>();
            Respown      respownSc = respownPlaceO.GetComponent <Respown>();

            // set enemy's killed position for the respown enemy's start point
            respownSc.startRoute     = enemySc.waySwitch;
            respownSc.startPlace     = enemySc.place;
            respownSc.startDirection = other.gameObject.transform.rotation;


            // after 0.6s it destroys explosion object
            Destroy(explosionO, 0.6f);
        }
    }
Esempio n. 2
0
    void respown()
    {
        // create new enemy
        GameObject newEnemyO = Instantiate(newEnemyOb, transform.position, startDirection) as GameObject;

        // get script from enemy object
        MultipleWays enemySc = newEnemyO.GetComponent <MultipleWays>();

        // set start point
        enemySc.waySwitch = startRoute;
        enemySc.place     = startPlace;

        // destory respown place object
        Destroy(gameObject);
    }