public void SetupEvents(TimeEventGroup eventGroup)
 {
     for (int day = 1; day <= 3; day++)
     {
         int curDayCopy = day;
         eventGroup.RegisterEvent(new TimeEvent(day + dayPassedEventNameTrail, () => OnDaysPassed(curDayCopy), (float)TimeManager.CityDaysToGameSec(day), false));
     }
 }
예제 #2
0
    private void SetupEventGroup()
    {
        TimeManager.Instance.CancelEventGroup(eventGroupName);

        eventGroup = new TimeEventGroup(eventGroupName, GameManager.Instance.Player.Trip.CurrentTransport.MaxTimeInSeconds);
        //eventGroup = new TimeEventGroup(eventGroupName, 40);
        TimeEvent endEvent          = new TimeEvent("absoluteEnd", OnAbsoluteEnd, 0f, true);
        TimeEvent tenSecRemainEvent = new TimeEvent("tenSecRemain", On10SecondsRemain, Mathf.Max(5f, initImageSearchAtSecondsRemain), true);

        eventGroup.RegisterEvent(endEvent);
        eventGroup.RegisterEvent(tenSecRemainEvent);

        TimeManager.Instance.RegisterEventGroup(eventGroup);
    }
예제 #3
0
    private void StartTimeEvents(bool withPackages)
    {
        TimeManager.Instance.CancelEventGroup(eventGroupName);

        float maxStaySeconds = cityOptionsTime;

        if (withPackages)
        {
            int maxDays = packageHandler.packages.AsQueryable().Select(p => p.days).Max();
            maxStaySeconds = (float)TimeManager.CityDaysToGameSec(maxDays) + cityOptionsTime;
        }

        eventGroup = new TimeEventGroup(eventGroupName, maxStaySeconds);
        eventGroup.RegisterEvent(new TimeEvent("forceTravel", ForceTravel, 0, true));

        if (withPackages)
        {
            eventGroup.RegisterEvent(new TimeEvent("chooseNextTravel", ShowCityOptions, cityOptionsTime, true));
            packageHandler.SetupEvents(eventGroup);
        }

        TimeManager.Instance.RegisterEventGroup(eventGroup);
        eventGroup.Start();
    }
예제 #4
0
 public void CancelEventGroup(string name)
 {
     TimeEventGroup foundGroup = eventGroups.Find(g => g.name.Equals(name));
     if (foundGroup != null)
         eventGroups.Remove(foundGroup);
 }
예제 #5
0
 public void RegisterEventGroup(TimeEventGroup group)
 {
     if(group != null)
         eventGroups.Add(group);
 }