public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Func<Vector3> getPosition)
        {
            var spatializer = TypePoolManager.Create<AudioSpatializer>();
            spatializer.Initialize(getPosition);

            return CreateDynamicItem(getNextSettings, spatializer, null);
        }
        public AudioDynamicItem CreateDynamicItem(DynamicGetter getNextSettings, AudioSpatializer spatializer, IAudioItem parent)
        {
            var item = TypePoolManager.Create<AudioDynamicItem>();
            item.Initialize(getNextSettings, this, spatializer, parent);

            return item;
        }
        public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Transform follow)
        {
            var spatializer = TypePoolManager.Create<AudioSpatializer>();
            spatializer.Initialize(follow);

            return CreateDynamicItem(getNextSettings, spatializer, null);
        }
Example #4
0
        public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Func <Vector3> getPosition)
        {
            var spatializer = TypePoolManager.Create <AudioSpatializer>();

            spatializer.Initialize(getPosition);

            return(CreateDynamicItem(getNextSettings, spatializer, null));
        }
Example #5
0
        public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Transform follow)
        {
            var spatializer = TypePoolManager.Create <AudioSpatializer>();

            spatializer.Initialize(follow);

            return(CreateDynamicItem(getNextSettings, spatializer, null));
        }
Example #6
0
        public AudioDynamicItem CreateDynamicItem(DynamicGetter getNextSettings, AudioSpatializer spatializer, IAudioItem parent)
        {
            var item = TypePoolManager.Create <AudioDynamicItem>();

            item.Initialize(getNextSettings, this, spatializer, parent);

            return(item);
        }
        public StructureProperty(StructurePropertyInfo info, DynamicGetter getter)
        {
            _info   = info;
            _getter = getter;

            IsRootMember    = info.Parent == null;
            IsEnumerable    = !DataType.IsSimpleType() && DataType.IsEnumerableType();
            IsElement       = Parent != null && (Parent.IsElement || Parent.IsEnumerable);
            ElementDataType = IsEnumerable ? DataType.GetEnumerableElementType() : null;
            Path            = PropertyPathBuilder.BuildPath(this);
        }
        public void Initialize(DynamicGetter getNextSettings, AudioItemManager itemManager, AudioSpatializer spatializer, IAudioItem parent)
        {
            settings = TypePoolManager.Create<AudioDynamicSettings>();

            base.Initialize(settings.Identifier, itemManager, spatializer, parent);

            this.getNextSettings = getNextSettings ?? delegate { return null; };

            InitializeModifiers(settings);
            InitializeSources();
        }
Example #9
0
        public void Initialize(DynamicGetter getNextSettings, AudioItemManager itemManager, AudioSpatializer spatializer, IAudioItem parent)
        {
            settings = TypePoolManager.Create <AudioDynamicSettings>();

            base.Initialize(settings.Identifier, itemManager, spatializer, parent);

            this.getNextSettings = getNextSettings ?? delegate { return(null); };

            InitializeModifiers(settings);
            InitializeSources();
        }
        public StructureProperty(StructurePropertyInfo info, DynamicGetter getter, DynamicSetter setter = null)
        {
            _getter = getter;
            _setter = setter;

            Parent = info.Parent;
            Name = info.Name;
            DataType = info.DataType;
            IsRootMember = info.Parent == null;
            IsReadOnly = _setter == null;
            UniqueMode = info.UniqueMode;

            var isSimpleOrValueType = DataType.IsSimpleType() || DataType.IsValueType;
            IsEnumerable = !isSimpleOrValueType && DataType.IsEnumerableType();
            IsElement = Parent != null && (Parent.IsElement || Parent.IsEnumerable);
            ElementDataType = IsEnumerable ? DataType.GetEnumerableElementType() : null;

            if (IsUnique && !isSimpleOrValueType)
                throw new PineConeException(ExceptionMessages.StructureProperty_Ctor_UniqueOnNonSimpleType);

            Path = PropertyPathBuilder.BuildPath(this);
        }
Example #11
0
 /// <summary>
 /// Creates an AudioItem dynamicaly spatialized around the provided Transform that corresponds to the type of the <paramref name="settings"/>.
 /// If the Transform ever becomes <code>null</code>, the AudioItem will simply stop moving.
 /// The AudioDynamicItem will require new AudioSettingsBase when appropriate.
 /// The play behaviour of the AudioSettingsBase can be defined via the provided AudioDynamicData object.
 /// </summary>
 /// <param name="getNextSettings">Delegate that will be called when the AudioItem requires its next AudioSettingsBase.</param>
 /// <param name="follow">Transform the the AudioSource will follow.</param>
 /// <returns></returns>
 public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Transform follow)
 {
     Assert.IsNotNull(getNextSettings);
     Assert.IsNotNull(follow);
     return itemManager.CreateDynamicItem(getNextSettings, follow);
 }
Example #12
0
 public DynamicProperty(DynamicGetter getter, DynamicSetter setter)
 {
     Getter = getter;
     Setter = setter;
 }
Example #13
0
        public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings)
        {
            var spatializer = TypePoolManager.Create <AudioSpatializer>();

            return(CreateDynamicItem(getNextSettings, spatializer, null));
        }
Example #14
0
 /// <summary>
 /// Creates an AudioItem spatialized at the provided <paramref name="position"/> that corresponds to the type of the <paramref name="settings"/>.
 /// The AudioDynamicItem will require new AudioSettingsBase when appropriate.
 /// The play behaviour of the AudioSettingsBase can be defined via the provided AudioDynamicData object.
 /// </summary>
 /// <param name="getNextSettings">Delegate that will be called when the AudioItem requires its next AudioSettingsBase.</param>
 /// <param name="position">Position at which to place the AudioSource.</param>
 /// <returns></returns>
 public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Vector3 position)
 {
     Assert.IsNotNull(getNextSettings);
     return itemManager.CreateDynamicItem(getNextSettings, position);
 }
        public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings)
        {
            var spatializer = TypePoolManager.Create<AudioSpatializer>();

            return CreateDynamicItem(getNextSettings, spatializer, null);
        }
Example #16
0
 /// <summary>
 /// Creates an AudioItem dynamicaly spatialized using the <paramref name="getPosition"/> callback to set its position that corresponds to the type of the <paramref name="settings"/>.
 /// The AudioDynamicItem will require new AudioSettingsBase when appropriate.
 /// The play behaviour of the AudioSettingsBase can be defined via the provided AudioDynamicData object.
 /// </summary>
 /// <param name="getNextSettings">Delegate that will be called when the AudioItem requires its next AudioSettingsBase.</param>
 /// <param name="getPosition">Callback that will be used to update the AudioSource's position.</param>
 /// <returns></returns>
 public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Func <Vector3> getPosition)
 {
     Assert.IsNotNull(getNextSettings);
     Assert.IsNotNull(getPosition);
     return(itemManager.CreateDynamicItem(getNextSettings, getPosition));
 }
Example #17
0
 /// <summary>
 /// Creates an AudioItem dynamicaly spatialized around the provided Transform that corresponds to the type of the <paramref name="settings"/>.
 /// If the Transform ever becomes <code>null</code>, the AudioItem will simply stop moving.
 /// The AudioDynamicItem will require new AudioSettingsBase when appropriate.
 /// The play behaviour of the AudioSettingsBase can be defined via the provided AudioDynamicData object.
 /// </summary>
 /// <param name="getNextSettings">Delegate that will be called when the AudioItem requires its next AudioSettingsBase.</param>
 /// <param name="follow">Transform the the AudioSource will follow.</param>
 /// <returns></returns>
 public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings, Transform follow)
 {
     Assert.IsNotNull(getNextSettings);
     Assert.IsNotNull(follow);
     return(itemManager.CreateDynamicItem(getNextSettings, follow));
 }
Example #18
0
 public ClassAccessor(DynamicGetter dynamicGetter)
 {
     _dynamicGetter = dynamicGetter;
 }
Example #19
0
 /// <summary>
 /// Creates a non spatialized AudioDynamicItem that corresponds to the type of the <paramref name="settings"/>.
 /// The AudioDynamicItem will require new AudioSettingsBase when appropriate.
 /// The play behaviour of the AudioSettingsBase can be defined via the provided AudioDynamicData object.
 /// </summary>
 /// <param name="getNextSettings">Delegate that will be called when the AudioItem requires its next AudioSettingsBase.</param>
 /// <returns></returns>
 public IAudioItem CreateDynamicItem(DynamicGetter getNextSettings)
 {
     Assert.IsNotNull(getNextSettings);
     return(itemManager.CreateDynamicItem(getNextSettings));
 }