コード例 #1
0
        /// <inheritdoc />
        public override void OnDestroy()
        {
            _preview = null;
            Emitters.Clear();

            base.OnDestroy();
        }
コード例 #2
0
        /// <inheritdoc />
        public override void Dispose()
        {
            if (_preview != null)
            {
                _preview.Dispose();
                _preview = null;
            }

            base.Dispose();
        }
コード例 #3
0
        /// <inheritdoc />
        public override void OnDestroy()
        {
            _preview = null;
            if (Emitters != null)
            {
                Emitters.Clear();
                Emitters = null;
            }

            base.OnDestroy();
        }
コード例 #4
0
        /// <inheritdoc />
        public override void Dispose()
        {
            if (IsDisposing)
            {
                return;
            }

            _preview = null;

            base.Dispose();
        }
コード例 #5
0
        /// <inheritdoc />
        public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
        {
            if (_preview == null)
            {
                _preview = new ParticleEmitterPreview(false);
                InitAssetPreview(_preview);
            }

            // Mark for initial warmup
            request.Tag = 0;
        }
コード例 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ParticleSystemTimeline"/> class.
        /// </summary>
        /// <param name="preview">The particle system preview.</param>
        public ParticleSystemTimeline(ParticleSystemPreview preview)
            : base(PlaybackButtons.Play | PlaybackButtons.Stop)
        {
            PlaybackState        = PlaybackStates.Playing;
            PropertiesEditObject = new Proxy(this);

            _preview = preview;

            // Setup track types
            TrackArchetypes.Add(ParticleEmitterTrack.GetArchetype());
            TrackArchetypes.Add(FolderTrack.GetArchetype());
        }
コード例 #7
0
        /// <inheritdoc />
        public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
        {
            if (_preview == null)
            {
                _preview = new ParticleEmitterPreview(false);
                _preview.RenderOnlyWithWindow = false;
                _preview.Task.Enabled         = false;
                _preview.PostFxVolume.Settings.Eye_Technique = EyeAdaptationTechnique.None;
                _preview.PostFxVolume.Settings.Eye_Exposure  = 0.1f;
                _preview.PostFxVolume.Settings.data.Flags4  |= 0b1001;
                _preview.Size = new Vector2(PreviewsCache.AssetIconSize, PreviewsCache.AssetIconSize);
                _preview.SyncBackbufferSize();
            }

            // Mark for initial warmup
            request.Tag = 0;
        }
コード例 #8
0
        /// <inheritdoc />
        public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
        {
            if (_preview == null)
            {
                _preview = new ParticleEmitterPreview(false);
                _preview.RenderOnlyWithWindow = false;
                _preview.Task.Enabled         = false;

                var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
                eyeAdaptation.Mode                  = EyeAdaptationMode.None;
                eyeAdaptation.OverrideFlags        |= EyeAdaptationSettings.Override.Mode;
                _preview.PostFxVolume.EyeAdaptation = eyeAdaptation;

                _preview.Size = new Vector2(PreviewsCache.AssetIconSize, PreviewsCache.AssetIconSize);
                _preview.SyncBackbufferSize();
            }

            // Mark for initial warmup
            request.Tag = 0;
        }
コード例 #9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ParticleSystemTimeline"/> class.
        /// </summary>
        /// <param name="preview">The particle system preview.</param>
        public ParticleSystemTimeline(ParticleSystemPreview preview)
            : base(PlaybackButtons.Play | PlaybackButtons.Stop)
        {
            _preview = preview;

            // Setup track types
            var icons = Editor.Instance.Icons;

            TrackArchetypes.Add(new TrackArchetype
            {
                Name   = "Folder",
                Icon   = icons.Folder64,
                Create = archetype => new FolderTrack(archetype, false),
            });
            TrackArchetypes.Add(new TrackArchetype
            {
                Name   = "Emitter",
                Create = archetype => new ParticleEmitterTrack(archetype, false),
            });
        }
コード例 #10
0
        /// <inheritdoc />
        public override void OnThumbnailDrawPrepare(ThumbnailRequest request)
        {
            if (_preview == null)
            {
                _preview = new ParticleEmitterPreview(false)
                {
                    RenderOnlyWithWindow = false,
                    AnchorPreset         = AnchorPresets.StretchAll,
                    Offsets = Margin.Zero,
                };
                _preview.Task.Enabled = false;

                var eyeAdaptation = _preview.PostFxVolume.EyeAdaptation;
                eyeAdaptation.Mode                  = EyeAdaptationMode.None;
                eyeAdaptation.OverrideFlags        |= EyeAdaptationSettingsOverride.Mode;
                _preview.PostFxVolume.EyeAdaptation = eyeAdaptation;
            }

            // Mark for initial warmup
            request.Tag = 0;
        }
コード例 #11
0
        /// <inheritdoc />
        public override void OnDestroy()
        {
            _preview = null;

            base.OnDestroy();
        }