Artemis.Modules.Games.Witcher3.Witcher3Model.Update C# (CSharp) Метод

Update() публичный Метод

public Update ( ) : void
Результат void
        public override void Update()
        {
            var gameDataModel = (Witcher3DataModel) DataModel;
            // Witcher effect is very static and reads from disk, don't want to update too often.
            if (_updateSw.ElapsedMilliseconds < 500)
                return;
            _updateSw.Restart();

            if (_witcherSettings == null)
                return;

            var reader = new StreamReader(
                File.Open(_witcherSettings, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
            var configContent = reader.ReadToEnd();
            reader.Close();

            var signRes = _configRegex.Match(configContent);
            var parts = signRes.Value.Split('\n').Skip(1).Select(v => v.Replace("\r", "")).ToList();
            parts.RemoveAt(parts.Count - 1);

            // Update sign
            var sign = parts.FirstOrDefault(p => p.Contains("ActiveSign="));
            if (sign != null)
            {
                var singString = sign.Split('=')[1];
                switch (singString)
                {
                    case "ST_Aard":
                        gameDataModel.WitcherSign = WitcherSign.Aard;
                        break;
                    case "ST_Yrden":
                        gameDataModel.WitcherSign = WitcherSign.Yrden;
                        break;
                    case "ST_Igni":
                        gameDataModel.WitcherSign = WitcherSign.Igni;
                        break;
                    case "ST_Quen":
                        gameDataModel.WitcherSign = WitcherSign.Quen;
                        break;
                    case "ST_Axii":
                        gameDataModel.WitcherSign = WitcherSign.Axii;
                        break;
                }
            }

            // Update max health
            var maxHealth = parts.FirstOrDefault(p => p.Contains("MaxHealth="));
            if (maxHealth != null)
            {
                var healthInt = int.Parse(maxHealth.Split('=')[1].Split('.')[0]);
                gameDataModel.MaxHealth = healthInt;
            }
            // Update health
            var health = parts.FirstOrDefault(p => p.Contains("Health="));
            if (health != null)
            {
                var healthInt = int.Parse(health.Split('=')[1].Split('.')[0]);
                gameDataModel.Health = healthInt;
            }
            // Update stamina
            var stamina = parts.FirstOrDefault(p => p.Contains("Stamina="));
            if (stamina != null)
            {
                var staminaInt = int.Parse(stamina.Split('=')[1].Split('.')[0]);
                gameDataModel.Stamina = staminaInt;
            }
            // Update stamina
            var toxicity = parts.FirstOrDefault(p => p.Contains("Toxicity="));
            if (toxicity != null)
            {
                var toxicityInt = int.Parse(toxicity.Split('=')[1].Split('.')[0]);
                gameDataModel.Toxicity = toxicityInt;
            }
            // Update vitality
            var vitality = parts.FirstOrDefault(p => p.Contains("Vitality="));
            if (vitality != null)
            {
                var vitalityInt = int.Parse(vitality.Split('=')[1].Split('.')[0]);
                gameDataModel.Vitality = vitalityInt;
            }
        }