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(); }
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(); }
protected override void HandleServerChange() { updatePrayerCooldownOperation.Trigger(); }
private void CharacterOnLogInOrCurrentServerPotentiallyChanged(object sender, PotentialServerChangeEventArgs potentialServerChangeEventArgs) { skillHistoricRefresher.Trigger(); }