Ejemplo n.º 1
0
        private void FindAndUpdate(SynchronizedObservableCollection <SkillCooldown> list, SkillCooldown sk)
        {
            var existing = list.ToSyncArray().FirstOrDefault(x => x.Skill.IconName == sk.Skill.IconName);

            if (existing == null)
            {
                list.Add(sk);
                return;
            }
            existing.Refresh(sk.Cooldown);
        }
Ejemplo n.º 2
0
 public void AddNotification(NotifyFlashMessage flash)
 {
     if (flash == null)
     {
         return;
     }
     if (flash.Balloon != null && flash.Balloon.DisplayTime >= 500)
     {
         var existing = notificationBalloons.ToSyncArray().FirstOrDefault(x => x.TitleText == flash.Balloon.TitleText && x.Icon == flash.Balloon.Icon);
         if (existing == null)
         {
             if (!SnappedToBottom)
             {
                 notificationBalloons.Add(flash.Balloon);
             }
             else
             {
                 notificationBalloons.Insert(0, flash.Balloon);
             }
         }
         else
         {
             if (flash.Balloon.EventType == EventType.Whisper)
             {
                 if (!SnappedToBottom)
                 {
                     notificationBalloons.Add(flash.Balloon);
                 }
                 else
                 {
                     notificationBalloons.Insert(0, flash.Balloon);
                 }
             }
             else
             {
                 existing.UpdateBody(flash.Balloon.BodyText);
                 existing.Refresh();
             }
         }
         Topmost = false;
         Topmost = true;
         if (!IsVisible)
         {
             ShowWindow();
         }
     }
     if (!BasicTeraData.Instance.WindowData.MuteSound && flash.Sound != null)
     {
         Task.Run(() => flash.Sound.Play());
     }
 }
        public static XDocument BuildCharacterFile(SynchronizedObservableCollection <Character> list)
        {
            var root = new XElement(CharactersTag, new XAttribute(EliteTag, SessionManager.IsElite));

            list.ToSyncArray().ToList().ForEach(c =>
            {
                var xChar = BuildGeneralDataXelement(c);
                xChar.Add(BuildDungeonDataXelement(c));
                xChar.Add(BuildGearDataXelement(c));
                xChar.Add(BuildBuffsXelement(c));
                xChar.Add(BuildInventoryDataXelement(c));
                root.Add(xChar);
            });

            return(new XDocument(new XDeclaration("1.0", "utf-8", "yes"), root));
        }
        private static bool FindAndUpdate(SynchronizedObservableCollection <Cooldown> list, Cooldown sk)
        {
            var existing = list.ToSyncArray().FirstOrDefault(x => x.Skill.IconName == sk.Skill.IconName);

            if (existing == null)
            {
                list.Add(sk);
                return(true);
            }

            if (existing.Mode == CooldownMode.Pre && sk.Mode == CooldownMode.Normal)
            {
                existing.Start(sk);
                return(true);
            }
            else
            {
                existing.Refresh(sk.Skill.Id, sk.Duration, sk.Mode);
                return(true);
            }
        }