Esempio n. 1
0
        /// <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);
                }
            }
        }
Esempio n. 2
0
 public void ReCalculate(AllCharacteristics characteristics, int profBonus)
 {
     foreach (var _skill in Skills)
     {
         Characteristic mainCharacteristic = characteristics.CharacteristicByType(_skill.Type);
         _skill.ReCalculating(mainCharacteristic, profBonus);
     }
 }
Esempio n. 3
0
 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");
 }
Esempio n. 4
0
        /// <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;
        }
Esempio n. 5
0
 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"));
 }