Exemplo n.º 1
0
        public void SelectAndBuildCar()
        {
            var filterPath    = new string[Enum.GetValues(typeof(Utils.CarIndex)).Length];
            var type          = (Type)Utils.SelectProperty(typeRange.range);
            var color         = (Color)Utils.SelectProperty(colorRange.range);
            var numPassengers = Utils.SelectProperty(numPassengersRange.range);

            Debug.Log("Type: " + type + ", Color: " + color + ", Numpass: "******"Model of Car: " + selectedCar.prefabPath);

            //Type Filter Path
            Utils.FillPath(filterPath, Utils.CarIndex.Type, Enum.GetName(typeof(Type), type),
                           "Car Type Specification Error!");
            //Color Filter Path
            Utils.FillPath(filterPath, Utils.CarIndex.Color, Enum.GetName(typeof(Color), color),
                           "Car Type Specification Error!");

            _car = new Car(type, color, numPassengers, selectedCar.prefabPath,
                           Path.Combine(CarPath, Path.Combine(filterPath), selectedCar.prefabPath));
        }
Exemplo n.º 2
0
        public void AssignSeating(Passenger passenger, bool driver = false)
        {
            var seatPosition = driver ? 0 : _passengers.Count;

            passenger.AssignSeat(_positions.seats[seatPosition]);
            var filterPath = new string[2];

            //Select the animation prefab
            AnimationType[] viableAnimations = animations.Where(animation => {
                var viable = driver ? animation.seatRole == SeatRole.Driver : animation.seatRole == SeatRole.Passenger;
                return(viable);
            }).ToArray();
            Utils.RangeInt animationRange         = new Utils.RangeInt(0, viableAnimations.Length);
            int            selectedAnimationIndex = Utils.SelectProperty(animationRange);

            Debug.Log(selectedAnimationIndex + " ||| " + viableAnimations.Length);
            AnimationType selectedAnimation = viableAnimations[selectedAnimationIndex];

            Debug.Log("Animation of passenger: " + selectedAnimation.prefabPath);
            filterPath[0] = "Animators";
            filterPath[1] = driver ? "Driver" : "Passenger";
            passenger.ApplyAnimation(Path.Combine("Prefabs/Animations/", Path.Combine(filterPath),
                                                  selectedAnimation.prefabPath));
            var seating = new Tuple <Passenger, Seat>(passenger, _positions.seats[seatPosition]);

            _passengers.Add(seating);
        }
Exemplo n.º 3
0
        public Passenger SelectAndBuildPassenger(GameObject parent) {
            var gender = (Gender) Utils.SelectProperty(genderRange.range);
            Debug.Log("GENDER: " + gender);
            var age = (Age) Utils.SelectProperty(ageRange.range);
            Debug.Log("Age: " + age);
            //Select the passenger prefab
            PassengerType[] viablePassengers = passengers.Where(passenger => {
                var viable = passenger.gender == gender && passenger.age == age;
                foreach (var passengerName in _selectedPassengers) {
                    if (!viable)
                        break;
                    viable = passengerName != passenger.prefabPath;
                }

                return viable;
            }).ToArray();
            Utils.RangeInt passengerRange = new Utils.RangeInt(0, viablePassengers.Length);
            int selectedPassengerIndex = Utils.SelectProperty(passengerRange);
            Debug.Log(selectedPassengerIndex + " ||| " + viablePassengers.Length);
            PassengerType selectedPassenger = viablePassengers[selectedPassengerIndex];
            _selectedPassengers.Add(selectedPassenger.prefabPath);
            Debug.Log("Passenger of Car: " + selectedPassenger.prefabPath);

            //Gender Filter
            Utils.FillPath(_filterPath, Utils.PassengerIndex.GENDER, Enum.GetName(typeof(Gender), gender),
                "Gender Specification Error!");
            //Age Filter
            Utils.FillPath(_filterPath, Utils.PassengerIndex.AGE, Enum.GetName(typeof(Age), age),
                "Age Specification Error!");
            return new Passenger(gender, age, selectedPassenger.prefabPath, parent,
                Path.Combine(PassengerPath, Path.Combine(_filterPath), selectedPassenger.prefabPath));
        }