private void CreateStrategy(Type strategyType) { var strategyImplementation = Activator.CreateInstance(strategyType) as IStrategyContainer; _strategyFieldValue = strategyImplementation; _serializedProperty.managedReferenceValue = _strategyFieldValue; _serializedProperty.serializedObject.ApplyModifiedProperties(); }
private void InitProperty(SerializedProperty property) { var objectType = property.serializedObject.targetObject.GetType(); _serializedProperty = property; _propertyField = objectType.GetField(property.name); _strategyFieldValue = (IStrategyContainer)_propertyField.GetValue(property.serializedObject.targetObject); _serializedProperty = property; }