Esempio n. 1
0
        /// <summary>
        /// Note: this method actually changes the collections
        /// </summary>
        /// <param name="adapter"></param>
        /// <returns></returns>
        public ChildGroupPack Remove(ComponentAdapter adapter)
        {
            _pack = ChildGroupPack.Read(_groupAdapter);

            //Debug.Log(string.Format("Reorder: grp:{0}, item:{1}", groupIndex, itemIndex));

            // get old group index
            var oldGroupIndex = _pack.GetGroupHostingAdapterIndex(adapter);

            // remove adapter from old group
            _pack.Groups[oldGroupIndex].Remove(adapter);

            return _pack;
        }
Esempio n. 2
0
        /// <summary>
        /// Note: this method actually changes the collections
        /// </summary>
        /// <param name="adapter"></param>
        /// <param name="groupIndex"></param>
        /// <param name="itemIndex"></param>
        /// <returns></returns>
        public ChildGroupPack Reorder(ComponentAdapter adapter, int groupIndex, int itemIndex)
        {
            _pack = ChildGroupPack.Read(_groupAdapter);

            //Debug.Log(string.Format("Reorder: grp:{0}, item:{1}", groupIndex, itemIndex));

            // get old group index
            var oldGroupIndex = _pack.GetGroupHostingAdapterIndex(adapter);

            // remove adapter from old group
            _pack.Groups[oldGroupIndex].Remove(adapter);

            // add adapter to a new group
            _pack.Groups[groupIndex].Insert(adapter, itemIndex);

            return _pack; // (ChildGroupPack)_pack.Clone();
            
            ////Debug.Log("_groupDescriptors.Count: " + _groupDescriptors.Count);
            ////Debug.Log("groupIndex: " + groupIndex);
            //ChildGroupDescriptor groupDescriptor = _groupDescriptors[groupIndex];
            ////Debug.Log("groupDescriptor: " + groupDescriptor);

            //List<ComponentAdapter> adaptersCollection = groupDescriptor.GetChildAdaptersCollection(_containerAdapter);
            ////var targetContainer = groupDescriptor.GetTargetContainer((Container)_containerAdapter.Component);

            ////Debug.Log("adaptersCollection: " + adaptersCollection);

            //if (null == adaptersCollection)
            //    return;

            ///**
            // * 1. Find the old collection containing the adapter and remove the adapter
            // * */
            //var oldCollection = GetGroupContainingAdapter(adapter);
            ////Debug.Log("Old collection: " + collection);
            //oldCollection.Remove(adapter);

            ///**
            // * 2. Insert it into a new collection at given index
            // * */

            //if (oldCollection == adaptersCollection)
            //    itemIndex = Math.Max(itemIndex, 0);

            ////Debug.Log(string.Format("Inserting to : [{0}] at index {1}", adaptersCollection, itemIndex));
            //adaptersCollection.Insert(itemIndex, adapter);

            ////Debug.Log("targetContainer: " + targetContainer);
            ////Debug.Log("newItemIndex: " + itemIndex);
            ////Debug.Log("childAdapters[newItemIndex]: " + adaptersCollection[itemIndex]);

            //if (Application.isPlaying)
            //    Flush();

            ////var comp = adaptersCollection[itemIndex].Component;

            ////if (null != targetContainer && null != comp)
            ////    targetContainer.AddContentChildAt(itemIndex, comp);

            ////            if (_depthMode)
            ////            {
            ////                ContainerAdapter.SetChildDepth(index, adapter);
            ////            }
            ////            else
            ////            {
            ////                ContainerAdapter.Reorder(index, adapter);
            ////            }
        }