コード例 #1
0
    /// <summary>
    /// SE Event Handler for TimeChangedEvent
    /// Increments lifetype counters and checks/processes relevant triggers.
    /// </summary>
    /// <param name="tce">A TCE Event, from the TimeManager</param>
    protected virtual void HandleTimeChangedEvent(TimeChangedEvent tce)
    {
        if (tce.HourChanged)
        {
            mTemporalLifetime.Hours++;
            CheckTemporalTriggerStatus(eTemporalTriggerType.Hour, mTemporalLifetime.Hours);
        }

        if (tce.DayChanged)
        {
            mTemporalLifetime.Days++;
            CheckTemporalTriggerStatus(eTemporalTriggerType.Day, mTemporalLifetime.Days);
        }

        if (tce.MonthChanged)
        {
            mTemporalLifetime.Months++;
            CheckTemporalTriggerStatus(eTemporalTriggerType.Month, mTemporalLifetime.Months);
        }

        if (tce.YearChanged)
        {
            mTemporalLifetime.Years++;
            CheckTemporalTriggerStatus(eTemporalTriggerType.Year, mTemporalLifetime.Years);
        }
    }
コード例 #2
0
        private void OnTimeChanged(TimeChangedEvent obj)
        {
            if (Status == WorkingStatus.Idle && CustomerQueueProvider.Instance.Queue.Any())
            {
                StartWithCustomer(obj.Time, CustomerQueueProvider.Instance.Queue.Dequeue());
                Console.WriteLine($"{obj.Time:f2}: Barber ({Id}) starting to serve customer ({ServingCustomer.Id})");
            }

            if (Status == WorkingStatus.Busy &&
                obj.Time - ServiceStart > ServingCustomer.ServiceTime)
            {
                EventBusProvider.Instance.EventBus.Publish(CustomerLeftEvent.Raise(obj.Time, ServingCustomer));

                Free();
            }
        }
コード例 #3
0
        private void OnPlayerDateTimeChanged(object sender, EventArgs e)
        {
            Debug.Log("DateTimeChanged!");
            if (sender != null)
            {
                HVRDateTime      timeFromEvent = (HVRDateTime)sender;
                TimeChangedEvent tce           = new TimeChangedEvent(timeFromEvent, false, false, false, false);
                if (timeFromEvent != null)
                {
                    if (mCurrentHour != timeFromEvent.GetHour())
                    {
                        tce.HourChanged = true;
                    }

                    if (mCurrentDay != timeFromEvent.GetDay())
                    {
                        tce.DayChanged = true;
                    }

                    if (mCurrentMonth != timeFromEvent.GetMonth())
                    {
                        tce.MonthChanged = true;
                    }

                    if (mCurrentYear != timeFromEvent.GetYear())
                    {
                        tce.YearChanged = true;
                    }

                    // Store the current date values locally
                    mCurrentHour  = timeFromEvent.GetHour();
                    mCurrentDay   = timeFromEvent.GetDay();
                    mCurrentMonth = timeFromEvent.GetMonth();
                    mCurrentYear  = timeFromEvent.GetYear();

                    timeFromEvent.PrintDateTime();

                    SEEventManager.Instance.TriggerEvent(tce);
                }
            }
        }
コード例 #4
0
    /// <summary>
    /// SE Event Handler for TimeChangedEvent
    /// Manages the decrement of Resources based on time.
    /// </summary>
    /// <param name="tce">A TCE Event, from the TimeManager</param>
    protected virtual void HandleTimeChangedEvent(TimeChangedEvent tce)
    {
        if (tce.HourChanged)
        {
            ProcessResourceStoresTimeChanged(eTemporalTriggerType.Hour);
        }

        if (tce.DayChanged)
        {
            ProcessResourceStoresTimeChanged(eTemporalTriggerType.Day);
        }

        if (tce.MonthChanged)
        {
            ProcessResourceStoresTimeChanged(eTemporalTriggerType.Month);
        }

        if (tce.YearChanged)
        {
            ProcessResourceStoresTimeChanged(eTemporalTriggerType.Year);
        }
    }
コード例 #5
0
        public void start(PomidoraSettings settings)
        {
            bool started;

            lock (startObject)
            {
                started = this.started;
                if (!started)
                {
                    this.started = true;
                }
            }
            if (!started)
            {
                if (!timer.IsEnabled)
                {
                    timer.Start();
                }

                TimeSpan stopTime = PomidoraSettingsHelper.GetStopTimeFromSettings(settings);
                Task.Factory.StartNew(() => this.StartPomidoraCountDown(this.stopWatch, stopTime))
                .ContinueWith(r =>
                {
                    using (System.Media.SoundPlayer player = new System.Media.SoundPlayer(settings.PomidorkaWAV))
                    {
                        player.Play();
                        lock (startObject)
                        {
                            this.started = false;
                        }
                    }
                    TimeChangedEvent.Invoke(stopTime);
                    timer.Stop();
                });
            }
        }
コード例 #6
0
 private void timer_Tick(object sender, EventArgs e)
 {
     TimeChangedEvent.Invoke(stopWatch.Elapsed);
 }
コード例 #7
0
ファイル: HeapWindow.cs プロジェクト: dsullins/ig-memtrace
 private void OnTimeChanged(object sender, TimeChangedEvent e)
 {
     UpdateTree();
 }
コード例 #8
0
 /// <summary>
 /// Override of the TimeChangedEvent handler method.
 /// We could do something unique here, like a shimmer fx or sound fx.
 /// </summary>
 /// <param name="tce">Time Changed Event from the TimeManager</param>
 protected override void HandleTimeChangedEvent(TimeChangedEvent tce)
 {
     base.HandleTimeChangedEvent(tce);
 }