Ejemplo n.º 1
0
        public SkillLevelTrigger(string characterName, TriggerEntity triggerEntity, ISoundManager soundManager,
                                 ITrayPopups trayPopups, IWurmApi wurmApi, ILogger logger)
            : base(triggerEntity, soundManager, trayPopups, wurmApi, logger)
        {
            if (characterName == null)
            {
                throw new ArgumentNullException("characterName");
            }
            this.characterName = characterName;
            this.logger        = logger;
            skillEntryParser   = new SkillEntryParser(wurmApi);
            LockedLogTypes     = new[] { LogType.Skills };

            SkillFeedback = "(no data)";

            skillHistoricRefresher = new TriggerableAsyncOperation(RefreshSkill);

            character = wurmApi.Characters.Get(characterName);
            character.LogInOrCurrentServerPotentiallyChanged += CharacterOnLogInOrCurrentServerPotentiallyChanged;

            skillHistoricRefresher.Trigger();
        }
Ejemplo n.º 2
0
 void SetMeditationSkill(float newValue, bool triggerCooldownUpdate = true)
 {
     Logger.Info(string.Format("{0} meditation skill is now {1} on {2}", Character, newValue, ServerGroupId));
     View.UpdateSkill(newValue);
     if (newValue < 20f)
     {
         if (meditState != MeditationStates.Unlimited)
         {
             cooldownUpdateOperation.Trigger();
             meditState = MeditationStates.Unlimited;
         }
     }
     else
     {
         if (meditState != MeditationStates.Limited)
         {
             cooldownUpdateOperation.Trigger();
             meditState = MeditationStates.Limited;
         }
     }
     meditationSkill = newValue;
     FlagAsChanged();
 }
Ejemplo n.º 3
0
 protected override void HandleServerChange()
 {
     updatePrayerCooldownOperation.Trigger();
 }
Ejemplo n.º 4
0
 private void CharacterOnLogInOrCurrentServerPotentiallyChanged(object sender, PotentialServerChangeEventArgs potentialServerChangeEventArgs)
 {
     skillHistoricRefresher.Trigger();
 }