Пример #1
0
        //gets x number of random events of a given type
        public static List <RandomEvent> GetEvents(RandomEvent.EventType type, int number, Airline airline)
        {
            Random rnd = new Random();
            Dictionary <int, RandomEvent> rEvents = new Dictionary <int, RandomEvent>();
            List <RandomEvent>            tEvents = GetEvents(type);
            int i = 1;
            int j = 0;

            foreach (RandomEvent r in tEvents)
            {
                if (r.Start <= GameObject.GetInstance().GameTime&& r.End >= GameObject.GetInstance().GameTime)
                {
                    {
                        r.DateOccurred = MathHelpers.GetRandomDate(GameObject.GetInstance().GameTime, GameObject.GetInstance().GameTime.AddMonths(12));
                        r.Airline      = airline;
                        r.Airliner     = Helpers.AirlinerHelpers.GetRandomAirliner(airline);
                        r.Route        = r.Airliner.Routes[rnd.Next(r.Airliner.Routes.Count())];
                        r.Country      = r.Route.Destination1.Profile.Country;
                        r.Airport      = r.Route.Destination1;

                        if (r.focus == RandomEvent.Focus.Airline)
                        {
                            r.Airliner = null;
                            r.Airport  = null;
                            r.Country  = null;
                            r.Route    = null;
                        }

                        rEvents.Add(i, r);
                        i++;
                    }
                }
            }

            tEvents.Clear();

            while (j < number)
            {
                int item = rnd.Next(rEvents.Count());
                tEvents.Add(rEvents[item]);
                j++;
            }

            return(tEvents);
        }
Пример #2
0
        //returns the monthly payment for the loan

        public double getMonthlyPayment()
        {
            double basePayment = MathHelpers.GetMonthlyPayment(this.Amount, this.Rate, this.Length);

            return(basePayment * GameObject.GetInstance().Difficulty.LoanLevel);
        }
Пример #3
0
        //gets the local time for a time in a time zone
        public static DateTime ConvertDateTimeToLoalTime(DateTime time, GameTimeZone timeZone)
        {
            TimeSpan delta = GameObject.GetInstance().TimeZone.UTCOffset.Subtract(timeZone.UTCOffset);

            return(time.Subtract(delta));
        }
Пример #4
0
        public static TimeSpan ConvertTimeSpanToLocalTime(TimeSpan time, GameTimeZone timeZone)
        {
            TimeSpan delta = GameObject.GetInstance().TimeZone.UTCOffset.Subtract(timeZone.UTCOffset);

            return(time.Subtract(delta));
        }
Пример #5
0
        //converts a route time table entry to datetime with a max minutes before moving a week ahead
        public static DateTime ConvertEntryToDate(RouteTimeTableEntry entry, int maxMinutes)
        {
            int currentDay = (int)GameObject.GetInstance().GameTime.DayOfWeek;

            int entryDay = (int)entry.Day + entry.Time.Days;

            if (currentDay > entryDay)
            {
                currentDay -= 7;
            }

            int daysBetween = Math.Abs(entryDay - currentDay);

            if (daysBetween == 0 && new TimeSpan(GameObject.GetInstance().GameTime.Hour, GameObject.GetInstance().GameTime.Minute, 0) > new TimeSpan(entry.Time.Hours, entry.Time.Minutes, 0).Add(new TimeSpan(0, maxMinutes, 0)))
            {
                daysBetween = 7;
            }

            DateTime flightTime = new DateTime(GameObject.GetInstance().GameTime.Year, GameObject.GetInstance().GameTime.Month, GameObject.GetInstance().GameTime.Day, entry.Time.Hours, entry.Time.Minutes, entry.Time.Seconds).AddDays(daysBetween);


            return(flightTime);
        }