Example #1
0
        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);
            }
        }
Example #2
0
 public void InitWithSameItemViewsHolder(IHierarchyOSA hierarchyOSA)
 {
     Init(hierarchyOSA, hierarchyOSA.GetViewsHolderType());
 }
Example #3
0
 /// <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));
 }