コード例 #1
0
        public static FilmShowing CreateFilmShowing(int filmShowingID)
        {
            FilmShowing filmShowing = new FilmShowing();

            filmShowing.FilmShowingID = filmShowingID;
            return(filmShowing);
        }
コード例 #2
0
    public Customer(FilmShowing fs, int ID, Floor f, Controller c, Customer_Controller cc)
    {

        pointsToVisit = new List<Coordinate>();
        theFloor = f;
        mainController = c;
        customerController = cc;

        filmShowing = fs;

        index = ID;

        needsFood = Random.Range(0, 10) >= 5;         
        needsTickets = Random.Range(0, 10) >= 0;      // 3
        needsToilet = Random.Range(0, 10) >= 6;

        if (needsFood)
        {

            if (Controller.foodArea != null)
            {

                int rand = Random.Range(0, 15);
                if (rand < 8) { foodDesired = 0; }
                else if (rand < 13) { foodDesired = 1; }
                else { foodDesired = 2; }
            }
            else
            {
                needsFood = false;
                foodDesired = -1;
                patience -= 150;
            }
        }

        int minutesEarly = Random.Range(35, 95);

        try
        {
            int hourStart = fs.timeH;
            int minuteStart = fs.timeM;


            hourDue = hourStart - (minutesEarly / 60);
            minuteDue = minuteStart - minutesEarly - ((hourDue - hourStart) * 60);

            if (minuteDue < 0)
            {
                minuteDue += 60;
                hourDue--;
            }
        }
        catch (Exception) { }
    }
コード例 #3
0
    /// <summary>
    /// Generate new show times
    /// </summary>
    public void NewShowTimes()
    {
        customerController.allCustomers.Clear();
        filmShowings.Clear();

        for (int i = 0; i < ShopController.theScreens.Count; i++)
        {
            if (!ShopController.theScreens[i].ConstructionInProgress())
            {
                int screeningsThisDay = UnityEngine.Random.Range(2, 4); // number of films per screen per day

                for (int j = 0; j < screeningsThisDay; j++)     // screeningsThisDay
                {
                    TimeTuple showTime = GetShowTime(j);

                    FilmShowing newFilm = new FilmShowing(filmShowings.Count, i + 1, 0, showTime.hours, showTime.minutes, TileManager.floor);
                    int ticketsSold = GetTicketsSoldValue(ShopController.theScreens[i]);
                    newFilm.SetTicketsSold(ticketsSold);
                    filmShowings.Add(newFilm);

                    List<Customer> custs = newFilm.CreateCustomerList(customerController.allCustomers.Count, this);
                    customerController.allCustomers.AddRange(custs);

                }
            }
        }
    }
コード例 #4
0
 public void AddToFilmShowings(FilmShowing filmShowing)
 {
     base.AddObject("FilmShowings", filmShowing);
 }