/// <summary> /// Initializes whole service object. Needs to be called before any use. It is called /// automatically by parent BleDevice object while its initialization. /// </summary> public void Initialize(BleDevice device) { try { DeviceService = device.LEDevice.GetGattService(UUID); } catch (Exception e) { DeviceService = null; } if (!IsAvailable) { return; } var props = this.GetType().GetProperties(); foreach (var property in props) { if (!property.PropertyType.IsAssignableFrom(typeof(BleCharacteristic))) { continue; } BleCharacteristic characteristic = (BleCharacteristic)property.GetValue(this); if (characteristic != null) { AllCharacteristics.Add(characteristic); characteristic.Initialize(this); } } }
public void ReCalculate(AllCharacteristics characteristics, int profBonus) { foreach (var _skill in Skills) { Characteristic mainCharacteristic = characteristics.CharacteristicByType(_skill.Type); _skill.ReCalculating(mainCharacteristic, profBonus); } }
public SavingThrows(AllCharacteristics characteristics) { SaveCharisma = new Skill(characteristics.Charisma, "CHA"); SaveWisdom = new Skill(characteristics.Wisdom, "WIS"); SaveIntelligence = new Skill(characteristics.Intelligence, "INT"); SaveConstitution = new Skill(characteristics.Constitution, "CON"); SaveDexterity = new Skill(characteristics.Dexterity, "DEX"); SaveStrength = new Skill(characteristics.Strength, "STR"); }
/// <summary> /// Disposing and cleaning after service. It is automatically called by parent's BleDevice /// Close() function. /// </summary> public async Task Close() { foreach (var ch in AllCharacteristics) { await ch.Close(); } AllCharacteristics.Clear(); DeviceService?.Dispose(); DeviceService = null; }
public AllSkills(AllCharacteristics characteristics) { Skills = new List <Skill>(); Skills.Add(new Skill(characteristics.Dexterity, "Acrobatics")); Skills.Add(new Skill(characteristics.Wisdom, "Animal Handling")); Skills.Add(new Skill(characteristics.Intelligence, "Arcana")); Skills.Add(new Skill(characteristics.Strength, "Athletic")); Skills.Add(new Skill(characteristics.Charisma, "Deception")); Skills.Add(new Skill(characteristics.Intelligence, "History")); Skills.Add(new Skill(characteristics.Wisdom, "Insight")); Skills.Add(new Skill(characteristics.Charisma, "Intimidation")); Skills.Add(new Skill(characteristics.Intelligence, "Investigation")); Skills.Add(new Skill(characteristics.Wisdom, "Medicine")); Skills.Add(new Skill(characteristics.Intelligence, "Nature")); Skills.Add(new Skill(characteristics.Wisdom, "Perception")); Skills.Add(new Skill(characteristics.Charisma, "Performance")); Skills.Add(new Skill(characteristics.Charisma, "Persuasion")); Skills.Add(new Skill(characteristics.Intelligence, "Religion")); Skills.Add(new Skill(characteristics.Dexterity, "Sleight of Hand")); Skills.Add(new Skill(characteristics.Dexterity, "Stealth")); Skills.Add(new Skill(characteristics.Wisdom, "Survival")); }