예제 #1
0
    public int padsPerWater;    // 10

    void Awake()
    {
        gm = GameManager.instance;
        mm = gm.mapManager;

        if (gameObject.tag == "Road")
        {
            //Debug.Log ("generating traffic...");
            float speed = 0f;
            for (int i = 0; i < carsPerRoad; i++)
            {
                GameObject prefab = mm.carTypes [Random.Range(0, mm.carTypes.Length)];
                GameObject car    = Instantiate(prefab) as GameObject;
                car.transform.SetParent(gameObject.transform);
                car.transform.localPosition = Vector3.zero;
                // Debug.Log ("new car: " + car.transform.position + ", road: " + gameObject.transform.position);

                TrafficManager tm = car.GetComponentInChildren <TrafficManager> ();
                if (speed == 0f)
                {
                    speed = tm.randomizeSpeed();
                }
                tm.speed = speed;
            }
        }
        else if (gameObject.tag == "Grass")
        {
            Debug.Log("generating trees...");

            for (int i = 0; i < treesPerForest; i++)
            {
                GameObject prefab = mm.treeTypes [Random.Range(0, mm.treeTypes.Length)];
                GameObject tree   = Instantiate(prefab) as GameObject;
                tree.transform.SetParent(gameObject.transform);
                Vector3 pos = tree.transform.localPosition;
                pos.x = 0;
                pos.y = 0;
                tree.transform.localPosition = pos;
                // Debug.Log ("new car: " + car.transform.position + ", road: " + gameObject.transform.position);
            }
        }
        else if (gameObject.tag == "Water")
        {
            Debug.Log("generating water pads...");
            float speed = 0f;

            for (int i = 0; i < padsPerWater; i++)
            {
                GameObject prefab = mm.platformTypes [Random.Range(0, mm.platformTypes.Length)];
                GameObject pad    = Instantiate(prefab) as GameObject;
                pad.transform.SetParent(gameObject.transform);
                pad.transform.localPosition = Vector3.zero;
                // Debug.Log ("new car: " + car.transform.position + ", road: " + gameObject.transform.position);

                PlatformManager tm = pad.GetComponentInChildren <PlatformManager> ();
                if (speed == 0f)
                {
                    speed = tm.randomizeSpeed();
                }
                tm.speed = speed;
            }
        }

//		scoreController = transform.parent.GetComponentInChildren<BorderController> ();
//		if (scoreController == null) {
//			Debug.LogWarning ("couldn't find score collider, points will not count");
//		}
    }