Esempio n. 1
0
    private void Update()
    {
        switch (_states)
        {
        case States.MenuState:
            MenuTrigger?.Invoke();
            break;

        case States.GameState:
            GameTrigger?.Invoke();
            break;

        case States.PauseState:
            PauseTrigger?.Invoke();
            break;

        case States.GameOverState:
            GameOverTrigger?.Invoke();
            break;

        case States.None:
            break;

        default:
            break;
        }
    }
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //	* Redefined Method: Start
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    private void Start()
    {
        m_TTTextTimer          = new TimeTracker(m_fTextSpeedInSeconds, false);
        m_TTFaceAnimationTimer = new TimeTracker(m_fFaceAnimationSpeedInSeconds, false);
        m_TTEndOfTextWaitTimer = new TimeTracker(m_fEndOfTextWaitTimer, false);
        m_PauseTrigger         = new PauseTrigger();


        SetText(GetLabelScript().text, m_eSpeaker);
        SetScrollPosition();
        ContinueToNextFaceAnimation();
        SetupSounds();
    }
Esempio n. 3
0
 public PauseDuringAttribute(PauseTrigger trigger) => Trigger = trigger;
        public List <EventLogEntryShort> Convert(string path, Action <string> notify)
        {
            _trigger = new PauseTrigger(() => TimeSpan.FromSeconds(1));
            _notify  = notify;
            _trigger.RegisterAction(Notify);
            ConversionExceptions = new List <string>();
            var data          = new List <EventLogEntryShort>();
            var beforeCulture = Thread.CurrentThread.CurrentCulture;

            //var lineCount = 0;
            try
            {
                //bug in .net been around for ages and not fixed in 4.0
                //https://stackoverflow.com/questions/7531557/why-does-eventrecord-formatdescription-return-null#7531575
                Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
                using (var reader = new EventLogReader(path, PathType.FilePath))
                {
                    EventRecord record;
                    while ((record = reader.ReadEvent()) != null)
                    {
                        using (record)
                        {
                            string desc  = "";
                            string level = null;
                            try
                            {
                                //failes if locale is not US/?? weird
                                desc = record.FormatDescription() + "";

                                level = record.Level.HasValue ? ((EventLogEntryType)record.Level.Value).ToString() : "(unknown)";
                            }
                            catch (Exception e)
                            {
                                ConversionExceptions.Add($"Failed on line {_convertingItem} with {e}");
                            }
                            data.Add(new EventLogEntryShort
                            {
                                InstanceId = record.RecordId.GetValueOrDefault(-1),
                                Level      = level,
                                Logged     = record.TimeCreated.GetValueOrDefault(),
                                Source     = record.ProviderName,
                                Message    = desc,
                                LogName    = record.LogName,
                                User       = record.UserId?.Value + ""
                            });
                        }
                        _convertingItem++;
                    }
                }
            }
            catch (Exception e)
            {
                Trace.WriteLine($"hmmm =>{e}");
                throw;
            }
            finally
            {
                Thread.CurrentThread.CurrentCulture = beforeCulture;
                _notify.Invoke($"Finished converting log with {_convertingItem}nr of lines");
                _trigger.UnregisterAction(Notify);
                _trigger.Dispose();
            }
            return(data);
        }