public static CharacteristicDefinitions MakeCharacteristicDefinitionsFrom(this Table table) { var characteristicDefinitions = new CharacteristicDefinitions(); foreach (var charaDef in table.Pairs) { var key = charaDef.Key.String; var val = charaDef.Value.Table; var def = new CharacteristicDefinition(); def.cost = (int)val.Get("cost").Number; def.max = (int)val.Get("max").Number; def.min = (int)val.Get("min").Number; var rules = val.Get("rules").Table; def.rules = new CharacteristicDefinition.Rules(); def.rules.isBad = rules.Get("isBad").Boolean; def.rules.isFrozen = rules.Get("isFrozen").Boolean; def.rules.onChange = new Action <Characteristics, int>((characteristics, changeAmount) => { var tCharas = characteristics.Serialize(table.OwnerScript); rules.Get("onChange").Function.Call( tCharas, changeAmount ); characteristics.LoadValuesFromTable(tCharas); }); } return(characteristicDefinitions); }
public GattCharacteristic FindCharacteristic(CharacteristicDefinition characteristicDef) { var service = FindService(characteristicDef.ServiceDefinition); if (service == null) { return(null); } return(service.FindCharacteristic(characteristicDef.Id)); }
public Characteristic(CharacteristicDefinition _definition) { definition = _definition; value = definition.min; }