Esempio n. 1
0
        public PureDataMultipleItem GetPureDataSwitchItem(PureDataContainer container, List <int> childrenIds, object source)
        {
            PureDataMultipleItem switchAudioItem = new PureDataMultipleItem(container.Name, pureData);
            int stateIndex = int.MinValue;

            PureDataSubContainer[] childrenSubContainers = container.IdsToSubContainers(childrenIds);

            if (childrenSubContainers[0].parentId == 0)
            {
                stateIndex = container.switchSettings.GetCurrentStateIndex();
            }
            else
            {
                PureDataSubContainer parentSubContainer = container.GetSubContainerWithID(childrenSubContainers[0].parentId);
                stateIndex = parentSubContainer.switchSettings.GetCurrentStateIndex();
            }

            if (stateIndex != int.MinValue)
            {
                foreach (PureDataSubContainer childSubContainer in childrenSubContainers)
                {
                    if (childSubContainer.switchSettings.stateIndex == stateIndex)
                    {
                        PureDataItem childAudioItem = GetSubContainerAudioItem(container, childSubContainer, source);

                        if (childAudioItem != null)
                        {
                            switchAudioItem.AddItem(childAudioItem);
                        }
                    }
                }
            }

            return(switchAudioItem);
        }
		public PureDataContainerItemInternal GetSwitchItem(PureDataContainer container, List<int> childrenIds, object source) {
			PureDataContainerItemInternal switchAudioItem = new PureDataContainerItemInternal(container.Name, pureData);
			int stateIndex = int.MinValue;
			PureDataSubContainer[] childrenSubContainers = container.IdsToSubContainers(childrenIds);
			
			if (childrenSubContainers[0].parentId == 0) {
				stateIndex = container.switchSettings.GetCurrentStateIndex();
			}
			else {
				PureDataSubContainer parentSubContainer = container.GetSubContainerWithID(childrenSubContainers[0].parentId);
				stateIndex = parentSubContainer.switchSettings.GetCurrentStateIndex();
			}
			
			if (stateIndex != int.MinValue) {
				foreach (PureDataSubContainer childSubContainer in childrenSubContainers) {
					if (childSubContainer.switchSettings.stateIndex == stateIndex) {
						PureDataSourceOrContainerItem childAudioItem = GetSubContainerItem(container, childSubContainer, source);
						
						if (childAudioItem != null) {
							switchAudioItem.AddItem(childAudioItem);
						}
					}
				}
			}
			
			return switchAudioItem;
		}