public void SetValue(IList array, int index) { if (array == null) { return; } if (array.Count > index) { var value = array[index]; if (value == null) { if (isUnityObject) { return; } else { value = array[index] = TypePoolManager.Create(elementType); } } PoolUtility.InitializeFields(value, setters); } }
public void SetValue(object instance) { if (instance == null) { return; } var value = field.GetValue(instance); if (value == null) { if (isUnityObject) { return; } else { field.SetValue(instance, value = TypePoolManager.Create(type)); } } PoolUtility.InitializeFields(value, setters); }
public void InitializeFields(object instance) { PoolUtility.InitializeFields(instance, setters); }