public override void PopulateFromJson(JObject jsonObject)
 {
     base.PopulateFromJson(jsonObject);
     m_caracSelector = IStoppableCaracIdSelectorUtils.FromJsonProperty(jsonObject, "caracSelector");
     m_modifier      = (ValueModifier)Serialization.JsonTokenValue <int>(jsonObject, "modifier", 1);
     m_value         = DynamicValue.FromJsonProperty(jsonObject, "value");
     m_source        = ISingleEntitySelectorUtils.FromJsonProperty(jsonObject, "source");
 }
        public static IStoppableCaracIdSelector FromJsonProperty(JObject jsonObject, string propertyName, IStoppableCaracIdSelector defaultValue = null)
        {
            //IL_0011: Unknown result type (might be due to invalid IL or missing references)
            //IL_0018: Invalid comparison between Unknown and I4
            JProperty val = jsonObject.Property(propertyName);

            if (val == null || (int)val.get_Value().get_Type() == 10)
            {
                return(defaultValue);
            }
            return(FromJsonToken(val.get_Value()));
        }