コード例 #1
0
    void OnTriggerEnter2D(Collider2D coll)
    {
        //Debug.Log ("called triggerenter");
        if (coll.gameObject.tag == "Bullet")
        {
            BulletController bc = coll.gameObject.GetComponent <BulletController>();
            if (bc.isSplitBullet)
            {
                if (isSplitBullet)
                {
                    if (bc.splitParent == this.splitParent)
                    {
                        Debug.Log("the two splits collided!");
                        //Determine lane ID and spawn aoe in appropriate lane
                        if (timerElapsed)                         //just to make sure they don't destroy each other on spawn
                        {
                            GameObject zoneCone = null;

                            Debug.Log("current track is " + GetCurrentTrackID());

                            switch (GetCurrentTrackID())
                            {
                            case 1:
                                zoneCone = GameObject.Find("ZoneCone1");
                                break;

                            case 2:
                                zoneCone = GameObject.Find("ZoneCone2");
                                break;

                            case 3:
                                zoneCone = GameObject.Find("ZoneCone3");
                                break;

                            case 4:
                                zoneCone = GameObject.Find("ZoneCone4");
                                break;

                            case 5:
                                zoneCone = GameObject.Find("ZoneCone5");
                                break;

                            case 6:
                                zoneCone = GameObject.Find("ZoneCone6");
                                break;

                            default:
                                Debug.Log("Couldn't find ZoneCone of this ID...not 1-6?");
                                break;
                            }

                            if (zoneCone != null)
                            {
                                //ZoneConeController zcc = zoneCone.GetComponent<ZoneConeController>();
                                //zcc.StartCoroutine("Detonate");
                            }
                            else
                            {
                                Debug.Log("zoneCone is null for some reason?");
                            }

                            bc.Collide();
                            Collide();
                        }
                    }
                }
                else if (!isSplitBullet)                 //your own bullets can stop split-offs!
                {
                    bc.Collide();
                    Collide();
                }
            }
        }
    }