Esempio n. 1
0
 public void UpdateRealtime(TimeSpan delta)
 {
     HistoryRecent.RemoveAll(e => (e.ScreenTime -= delta.TotalSeconds) < 0);
     foreach (var i in Inventory)
     {
         i.UpdateRealtime(delta);
     }
 }
Esempio n. 2
0
    public void AddMessage(PlayerMessage e)
    {
        var desc = e.Desc;

        if (HistoryLog.Count == 0)
        {
            var entry = new HistoryEntry(desc);
            HistoryLog.Add(entry);
            HistoryRecent.Add(entry);
        }
        else
        {
            var last = HistoryLog.Last();
            if (last._desc.ToString() == desc.ToString())
            {
                last.times++;
                last.SetScreenTime();

                if (HistoryRecent.Any())
                {
                    if (HistoryRecent.Last() != last)
                    {
                        HistoryRecent.Remove(last);
                        HistoryRecent.Add(last);
                    }
                }
                else
                {
                    HistoryRecent.Add(last);
                }
            }
            else
            {
                var entry = new HistoryEntry(desc);
                HistoryLog.Add(entry);
                HistoryRecent.Add(entry);
            }
        }
    }