void Init(IHierarchyOSA hierarchyOSA, Type itemVHType) { _HierarchyOSA = hierarchyOSA; _VHType = itemVHType; _Params = _HierarchyOSA.BaseParameters as IHierarchyParams; _HierarchyOSA.ScrollPositionChanged += OnScrollPositionChanged; if (_MaxNestedHeaders > MAX_SUPPORTED_HEADERS) { Debug.Log(GetType().Name + " has MaxNestedHeaders set to " + _MaxNestedHeaders + ", but maximum allowed is " + MAX_SUPPORTED_HEADERS + ". Clamping..."); _MaxNestedHeaders = MAX_SUPPORTED_HEADERS; } else if (_MaxNestedHeaders < 0) { Debug.Log(GetType().Name + " has MaxNestedHeaders set to " + _MaxNestedHeaders + ", which is negative. Setting to 0..."); _MaxNestedHeaders = 0; } _Headers = new IHierarchyNodeViewsHolder[_MaxNestedHeaders]; for (int i = 0; i < _MaxNestedHeaders; i++) { _Headers[i] = CreateAndStoreHeader(i); } }
public void InitWithSameItemViewsHolder(IHierarchyOSA hierarchyOSA) { Init(hierarchyOSA, hierarchyOSA.GetViewsHolderType()); }
/// <summary>If the header should have a different model-to-view binding logic, use this</summary> public void InitWithCustomItemViewsHolder <TCustomItemViewsHolder>(IHierarchyOSA hierarchyOSA) where TCustomItemViewsHolder : AbstractViewsHolder, IHierarchyNodeViewsHolder { Init(hierarchyOSA, typeof(TCustomItemViewsHolder)); }