public NetworkActivityObject(bool working, FollowerType followerType, string leaderName, bool useMovementSkill, Keys movementSkillKey, List <FollowerSkill> followerSkills, FollowerAggressiveness propagateFollowerAggressiveness, long propagateEnterInstance) { Working = working; FollowerMode = followerType; LeaderName = leaderName; UseMovementSkill = useMovementSkill; MovementSkillKey = movementSkillKey; LastChangeTimestamp = ((DateTimeOffset)DateTime.UtcNow).ToUnixTimeMilliseconds(); FollowerSkills = followerSkills; PropagateFollowerAggressiveness = propagateFollowerAggressiveness; PropagateEnterInstance = propagateEnterInstance; }
private void ProcessNetworkActivityResponse(NetworkActivityObject activityObj) { if (activityObj == null) { return; } Settings.LeaderName.Value = activityObj.LeaderName; Settings.UseMovementSkill.Value = activityObj.UseMovementSkill; _currentFollowerMode = activityObj.FollowerMode; _followerAggressivenessMode = activityObj.PropagateFollowerAggressiveness; _followerShouldWork = activityObj.Working; _enterInstanceValue = activityObj.PropagateEnterInstance; if (activityObj.Working) { _followerCoroutine.Resume(); } else { _followerCoroutine.Pause(); } if (activityObj.FollowerSkills != null && activityObj.FollowerSkills.Any()) { List <SkillSettings> settingsSkills = new List <SkillSettings>() { Settings.SkillOne, Settings.SkillTwo, Settings.SkillThree }; foreach (FollowerSkill skill in activityObj.FollowerSkills.OrderBy(o => o.Position)) { SkillSettings settingsSkill = settingsSkills[skill.Position - 1]; settingsSkill.Enable.Value = skill.Enable; settingsSkill.SkillHotkey.Value = skill.Hotkey; settingsSkill.UseAgainstMonsters.Value = skill.UseAgainstMonsters; settingsSkill.CooldownBetweenCasts.Value = skill.Cooldown.ToString(); settingsSkill.Priority.Value = skill.Priority; settingsSkill.Position.Value = skill.Position; settingsSkill.Range.Value = skill.Range; } } return; }