Exemple #1
0
        /// <summary>
        /// Always return a Rect[] of 2 length
        /// </summary>
        /// <returns></returns>
        private Rect[] GetDivideRoomSize()
        {
            int throwDice = UtilityMethod.RollDice();

            Rect[] rooms = new Rect[2];

            //Horizontal
            if (throwDice == 0)
            {
                if (rect.width / rect.height > AllowRatioDifference)
                {
                    return(GetDivideRoomSize());
                }

                float randomY = Random.Range(rect.height * 0.4f, rect.height * 0.6f);

                rooms[0] = new Rect(rect.x, rect.y, rect.width, randomY);
                rooms[1] = new Rect(rect.x, rect.y + randomY, rect.width, rect.height - randomY);
                //Vertical
            }
            else
            {
                if (rect.height / rect.width > AllowRatioDifference)
                {
                    return(GetDivideRoomSize());
                }

                float randomX = Random.Range(rect.width * 0.4f, rect.width * 0.6f);

                rooms[0] = new Rect(rect.x, rect.y, randomX, rect.height);
                rooms[1] = new Rect(rect.x + randomX, rect.y, rect.width - randomX, rect.height);
            }

            return(rooms);
        }
Exemple #2
0
        public override void GenerateObstacle(bool p_isPreBuild = false)
        {
            if (p_isPreBuild)
            {
                return;
            }

            vehicles.Clear();
            Highway_STP        hightway_stp   = (Highway_STP)terrain_stp;
            AnimatedObject_STP animatedObject = hightway_stp.vehicles[Random.Range(0, hightway_stp.vehicles.Count)];

            direction    = (UtilityMethod.RollDice() == 0) ? -1 : 1;
            timePeriod   = animatedObject._displayPeriod;
            vehicleSpeed = animatedObject.randomSpeed;

            for (int i = 0; i < hightway_stp.maxEnableNum; i++)
            {
                GameObject generatedVehicle = PoolManager.instance.ReuseObject(animatedObject._id);
                generatedVehicle.transform.SetParent(AnimatedObject.transform);
                vehicles.Add(generatedVehicle);
            }
        }