+void DetermineVector3ValueAndSet(const Property::Value& property, Actor& actor, void (Actor::*member)(const Vector3&))
+{
+ Vector3 value;
+ if(GetVector3Value(property, value))
+ {
+ (actor.*member)(value);
+ }
+}
+
+template<typename ParameterType>
+void CheckValidAndSet(const Property::Value& property, Actor& actor, void (Actor::*member)(ParameterType))
+{
+ ParameterType value;
+ if(property.Get(value))
+ {
+ (actor.*member)(value);
+ }
+}
+
+template<typename ParameterType>
+void CheckValidAndSet(const Property::Value& property, Actor& actor, void (Actor::*member)(const ParameterType&))
+{
+ ParameterType value;
+ if(property.Get(value))
+ {
+ (actor.*member)(value);
+ }
+}
+
+template<typename ParameterType, typename Function>
+void CheckValidAndSet(const Property::Value& property, Function function)
+{
+ ParameterType value;
+ if(property.Get(value))
+ {
+ function(value);
+ }
+}