Example #1
0
    void OnTriggerEnter(Collider col)
    {
        //Debug.Log ("xxx "+col.tag);
        if (col.tag == "Player")
        {
            if (!col.GetComponent <Controller>().flying&& (RandomVariable.getRandomFish() == 0))
            {
                //GameObject fish = GameObject.Find("Fish[" + colorIdx + "][" + fishIdx + "]");
                //fishIdx = (fishIdx + 1) % FishPool.POOL_SIZE;
                GameObject fish = FishPool.Instance.getFish();
                float      dir  = RandomVariable.getRandomValue(0, 2);
                fish.transform.position = tr.position;
                Rigidbody rb = fish.GetComponent <Rigidbody>();
                if (tr.position.x < -1)     // 洞在左側
                {
                    if (dir == 1)
                    {
                        dir = 8;
                    }
                    else if (dir == 2)
                    {
                        dir = 18f;
                    }
                    else
                    {
                        dir = 0;
                    }
                }
                else if (tr.position.x > 1) // 洞在右側
                {
                    if (dir == 1)
                    {
                        dir = -8;
                    }
                    else if (dir == 2)
                    {
                        dir = 0;
                    }
                    else
                    {
                        dir = -18f;
                    }
                }
                else                        // 洞在中間
                {
                    if (dir == 1)
                    {
                        dir = 0;
                    }
                    else if (dir == 2)
                    {
                        dir = 8;
                    }
                    else
                    {
                        dir = -8;
                    }
                }
                rb.AddForce(new Vector3(dir, 26, -15), ForceMode.Impulse);
                rb.isKinematic = false;
                rb.useGravity  = true;

                StartCoroutine(DestroySelf(rb, dir));
            }
        }
    }