setProperty method

  1. @override
Light setProperty(
  1. String propertyName,
  2. dynamic value, [
  3. int? offset
])
override

Implementation

@override
Light setProperty(String propertyName, dynamic value, [int? offset]) {
  if (propertyName == "intensity") {
    intensity = value;
  }
  else if (propertyName == "color") {
    if(value is num){
      color = Color.fromHex32(value.toInt());
      return this;
    }
    color = value;
  }
  else if(propertyName == "width") {
    width = value.toDouble();
  }
  else if(propertyName == "height") {
    height = value.toDouble();
  }
  else if(propertyName == "distance") {
    distance = value;
  }
  else if (propertyName == "angle") {
    angle = value;
  }
  else if (propertyName == "decay") {
    decay = value;
  }
  else if (propertyName == "penumbra") {
    penumbra = value;
  }
  else if (propertyName == "groundColor") {
    if(value is num){
      groundColor = Color.fromHex32(value.toInt());
      return this;
    }
    groundColor = value;
  }
  else if (propertyName == "shadow") {
    if(value is Map<String,dynamic>){
      shadow = LightShadow.fromJson(value);
      return this;
    }
    shadow = value;
  }
  else if (propertyName == "map") {
    map = value;
  }
  else if(propertyName == "sh") {
    if(value is! SphericalHarmonics3){
      throw Exception("The value must be a SphericalHarmonics3 instance");
    }
    sh = value;
  }
  else {
    super.setProperty(propertyName, value);
  }

  return this;
}