예제 #1
0
    /// <summary>
    /// 動物の生成
    /// </summary>
    void Generate()
    {
        for (int i = 0; i < laneArray.Length; ++i)
        {
            // 生成時間カウント
            laneArray[i].elapsedTime += Time.deltaTime;

            if (laneArray[i].elapsedTime > laneArray[i].nextGenerateTime)
            {
                int animalIndex = animalGenerateOrder[animalGeneratCurrentIndex];

                GameObject animalObject = Instantiate(animalData[animalIndex].animalPrefab, laneArray[i].generatePos, Quaternion.Euler(new Vector3(0, 90, 0)));
                animalObject.transform.parent = transform;
                PlayerAnimationController playerAnimationController = animalObject.GetComponent <PlayerAnimationController>();
                playerAnimationController.AnimationSwitch(PlayerAnimationController.AnimationType.Run);
                Animal animal = new Animal(animalObject, animalIndex);
                animalList.Add(animal);

                laneArray[i].elapsedTime      = 0.0f;
                laneArray[i].nextGenerateTime = animalData[animalIndex].nextTime;
                if (animalGeneratCurrentIndex < animalGenerateOrder.Length - 1)
                {
                    ++animalGeneratCurrentIndex;
                }
                else
                {
                    AnimalGeneratRandom();
                }
            }
        }
    }