示例#1
0
 private void HandleInteractiveElementUpdatedMessage(IAccount account, InteractiveElementUpdatedMessage message)
 {
     if (AutoGather && message.InteractiveElement.OnCurrentMap)
     {
         Launched = true;
         account.PerformAction(() => Gather(), 1000);
     }
 }
示例#2
0
 private void HandleInteractiveElementUpdatedMessage(IAccount account, InteractiveElementUpdatedMessage message)
 {
     if (!AutoGather || !message.InteractiveElement.OnCurrentMap)
     {
         return;
     }
     Launched = true;
     account.PerformAction(Gather, 1000);
 }
示例#3
0
 public void UpdateInteractiveElement(InteractiveElementUpdatedMessage update)
 {
     if (!update.InteractiveElement.OnCurrentMap)
     {
         return;
     }
     InteractiveElements.Remove(
         InteractiveElements.Find(x => x.ElementId == update.InteractiveElement.ElementId));
     InteractiveElements.Add(update.InteractiveElement);
 }
示例#4
0
        private void HandleMapComplementaryInformationsDataMessage(InteractiveElementUpdatedMessage message, ConnectedHost source)
        {
            if (Interactives == null)
            {
                return;
            }

            ElementModel value;

            if (Interactives.TryGetValue(message.interactiveElement.elementId, out value))
            {
                value.Update(message.interactiveElement);
            }

            OnUpdated();
        }
示例#5
0
        public void Update(InteractiveElementUpdatedMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }
            InteractiveObject element = GetInteractive(message.interactiveElement.elementId);

            if (element != null)
            {
                element.Update(message.interactiveElement);
            }
            else
            {
                AddInteractive(new InteractiveObject(this, message.interactiveElement));
            }
        }
示例#6
0
        public static void InteractiveElementUpdatedMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            InteractiveElementUpdatedMessage msg = (InteractiveElementUpdatedMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            if (account.House != null)
            {
                InteractiveElement e = msg.InteractiveElement;
                account.House.ElementIdd = e.ElementId;
                List <InteractiveElementSkill> EnabledSkills = e.EnabledSkills;
                account.House.SkillInstanceID = EnabledSkills[1].SkillInstanceUid;
                account.House.UseHouse();
            }
            account.MapData.UpdateInteractiveElement(msg.InteractiveElement);
        }
示例#7
0
 private void HandleInteractiveElementUpdatedMessage(IAccount account, InteractiveElementUpdatedMessage message)
 {
     lock (CheckLock)
     {
         if (!message.InteractiveElement.OnCurrentMap)
         {
             return;
         }
         var interactiveElement = InteractiveElements.GetValue(message.InteractiveElement.ElementId);
         if (interactiveElement != null)
         {
             InteractiveElements.Remove((int)interactiveElement.Id);
         }
         InteractiveElements.Add(message.InteractiveElement.ElementId,
                                 new InteractiveElement((uint)message.InteractiveElement.ElementId,
                                                        message.InteractiveElement.ElementTypeId, message.InteractiveElement.EnabledSkills.ToList(),
                                                        message.InteractiveElement.DisabledSkills.ToList()));
     }
 }
示例#8
0
文件: Map.cs 项目: Teles1/Cookie
 private void HandleInteractiveElementUpdatedMessage(IAccount account, InteractiveElementUpdatedMessage message)
 {
     lock (CheckLock)
     {
         if (!message.InteractiveElement.OnCurrentMap)
         {
             return;
         }
         if (!InteractiveElements.ContainsKey(message.InteractiveElement.ElementId))
         {
             InteractiveElements.Add(message.InteractiveElement.ElementId, new InteractiveElement((uint)message.InteractiveElement.ElementId, message.InteractiveElement.ElementTypeId,
                                                                                                  message.InteractiveElement.EnabledSkills, message.InteractiveElement.DisabledSkills));
         }
         else
         {
             InteractiveElements[message.InteractiveElement.ElementId] = new InteractiveElement((uint)message.InteractiveElement.ElementId, message.InteractiveElement.ElementTypeId,
                                                                                                message.InteractiveElement.EnabledSkills, message.InteractiveElement.DisabledSkills);
         }
     }
 }
示例#9
0
        public static void InteractiveElementUpdatedMessageTreatment(Message message, byte[] packetDatas, AccountUC account)
        {
            InteractiveElementUpdatedMessage msg = (InteractiveElementUpdatedMessage)message;

            using (BigEndianReader reader = new BigEndianReader(packetDatas))
            {
                msg.Deserialize(reader);
            }
            if (account.House != null)
            {
                InteractiveElement e = msg.interactiveElement;
                account.House.ElementIdd = e.elementId;
                InteractiveElementSkill[] EnabledSkills = e.enabledSkills;
                account.House.SkillInstanceID = EnabledSkills[1].skillInstanceUid;
                account.House.UseHouse();
            }
            if (account.Map.InteractiveElements.Count > 0)
            {
                account.Map.InteractiveElements.Remove(msg.interactiveElement.elementId);
                account.Map.InteractiveElements.Add(msg.interactiveElement.elementId, new Core.Map.Elements.InteractiveElement((uint)msg.interactiveElement.elementId, msg.interactiveElement.elementTypeId, new List <InteractiveElementSkill>(msg.interactiveElement.enabledSkills), new List <InteractiveElementSkill>(msg.interactiveElement.disabledSkills)));
            }
        }
示例#10
0
 public static Task HandleInteractiveElementUpdatedMessage(Account account, InteractiveElementUpdatedMessage message)
 => Task.Run(() => account.Game.Map.Update(message));
示例#11
0
 private void InteractiveElementUpdatedMessageHandler(DofusClient client,
                                                      InteractiveElementUpdatedMessage message)
 {
     client.Account.Character.MapData.UpdateInteractiveElement(message);
 }
示例#12
0
 private void InteractiveElementUpdatedMessageHandler(DofusClient Client, InteractiveElementUpdatedMessage Message)
 {
     //
 }
 public void HandleInteractiveElementUpdatedMessage(Bot bot, InteractiveElementUpdatedMessage message)
 {
     bot.Character.Map.Update(message);
 }