Пример #1
0
 public AccumulatedEffectCharge(EffectKind kind, short mechViewId, float accumulatedPercent, bool isDropped)
 {
     Kind               = kind;
     MechViewId         = mechViewId;
     AccumulatedPercent = accumulatedPercent;
     IsDropped          = isDropped;
 }
Пример #2
0
 public EffectEntry(EffectKind effectKind, string name)
 {
     Name            = name;
     EffectKind      = effectKind;
     EmitterEffect   = new EmitterEffect();
     AnimationEffect = new AnimationEffect();
     SoundEffect     = new SoundEffect();
 }
Пример #3
0
        public StaminaEffect(int amount, EffectKind kind, EventTimerTiming timing)
        {
            Amount = amount;

            Kind = kind;

            Timing = timing;
        }
Пример #4
0
 public AppliedEffect(short source,
                      short target,
                      int index,
                      EffectKind kind,
                      int endTime,
                      float value,
                      bool isEndless,
                      bool fromDrone)
 {
     Source    = source;
     Target    = target;
     Index     = index;
     Kind      = kind;
     EndTime   = endTime;
     Value     = value;
     IsEndless = isEndless;
     FromDrone = fromDrone;
 }
Пример #5
0
    public void PlayEffect(EffectKind inputEffect, Vector3 createVec3)
    {
        bool isCreate = false;

        for (int i = 0; i < effectList.Count; i++)
        {
            if (!effectList[i].gameObject.active && effectList[i].kind == inputEffect)
            {
                effectList[i].RePlay(createVec3);
                isCreate = true;
                break;
            }
        }
        if (!isCreate)
        {
            Effect tmepEffect = Instantiate(effects[(int)inputEffect], createVec3, Quaternion.identity).GetComponent <Effect>();
            tmepEffect.kind = inputEffect;
            effectList.Add(tmepEffect);
        }
    }
Пример #6
0
        private void CreateNewEffect(EffectKind effectKind)
        {
            EffectEntry   newEffect = new EffectEntry(effectKind, GetEntryName());
            TimeLineEntry entry     = AddEntry(TimeSpan.Zero, TimeSpan.FromSeconds(1), GetEntryName(), newEffect);

            entry.PropertyChanged += Entry_PropertyChanged;

            tlEffects.SelectedItem = entry;
            SetSelectedColorByEffectType(effectKind);

            loadingInternally = true;
            try
            {
                effectBuilder.EffectEntry = newEffect;
            }
            finally
            {
                loadingInternally = false;
            }
            OnPropertyChanged();
        }
        protected virtual void OnEffectKindChanged(EffectKind oldValue, EffectKind newValue)
        {
            EffectKind activeEffect = GetActiveEffect();

            if (newValue == activeEffect)
            {
                return;
            }
            if (newValue == EffectKind.Animation)
            {
                rbAnimation.IsChecked = true;
            }
            else if (newValue == EffectKind.Emitter)
            {
                rbEmitter.IsChecked = true;
            }
            else
            {
                rbSoundEffect.IsChecked = true;
            }
        }
Пример #8
0
        public SinglePassEffect(
            ResourceFactory resourceFactory,
            ShaderResources shaderResources,
            ResourceLayout inputLayout,
            Texture input1,
            Texture?input2,
            Sampler sampler,
            EffectKind effectKind,
            Framebuffer?framebuffer = null)
        {
            var textureDesc = TextureDescription.Texture2D(
                input1.Width, input1.Height, input1.MipLevels, input1.ArrayLayers,
                PixelFormat.B8_G8_R8_A8_UNorm, TextureUsage.RenderTarget | TextureUsage.Sampled
                );

            _fb = framebuffer ?? resourceFactory.CreateFramebuffer(
                new FramebufferDescription(
                    depthTarget: null,
                    colorTargets: resourceFactory.CreateTexture(ref textureDesc)
                    )
                );
            _rs = resourceFactory.CreateResourceSet(new ResourceSetDescription(
                                                        inputLayout,
                                                        input2 is null
                    ? new BindableResource[]
            {
                input1,
                sampler
            }
                    : new BindableResource[]
            {
                input1,
                input2,
                sampler
            }
                                                        ));
            _pipeline        = shaderResources.Effects.GetPipeline(effectKind);
            _ownsFramebuffer = framebuffer is null;
        }
Пример #9
0
        void SetSelectedColorByEffectType(EffectKind effectKind)
        {
            if (tlEffects.SelectedItem is TimeLineEntry timeLineEntry)
            {
                switch (effectKind)
                {
                case EffectKind.Animation:
                    timeLineEntry.Fill = animationBrush;
                    break;

                case EffectKind.Emitter:
                    timeLineEntry.Fill = emitterBrush;
                    break;

                case EffectKind.SoundEffect:
                    timeLineEntry.Fill = soundEffectBrush;
                    break;

                case EffectKind.GroupEffect:
                    timeLineEntry.Fill = groupBrush;
                    break;
                }
            }
        }
Пример #10
0
 public EffectDescription(EffectKind kind, uint nbPasses = 1u)
 => (EffectKind, NumberOfPasses) = (kind, (byte)nbPasses);
Пример #11
0
 public DerivativeEffect(EffectKind kind, int captureNumber)
 {
     Kind          = kind;
     CaptureNumber = captureNumber;
 }
Пример #12
0
 public void PlayEffect(EffectKind inputEffect)
 {
     Instantiate(effects[(int)inputEffect]);
 }