Ejemplo n.º 1
0
 /// <summary>
 /// ポストエフェクトを全て消去する。
 /// </summary>
 public void ClearPostEffects()
 {
     ThrowIfReleased();
     CoreLayer.Draw();
     postEffects.Clear();
     CoreLayer.ClearPostEffects();
 }
Ejemplo n.º 2
0
 /// <summary>
 /// ポストエフェクトを追加する。
 /// </summary>
 /// <param name="postEffect">ポストエフェクト</param>
 public void AddPostEffect(PostEffect postEffect)
 {
     ThrowIfReleased();
     CoreLayer.Draw();
     postEffects.Add(postEffect);
     CoreLayer.AddPostEffect(postEffect.CoreInstance);
 }
Ejemplo n.º 3
0
 internal void Draw()
 {
     if (IsAlive)
     {
         CoreLayer.Draw();
     }
 }
Ejemplo n.º 4
0
        internal void EndDrawing()
        {
            if (!IsAlive)
            {
                return;
            }

            CoreLayer.EndDrawing();

            if (postEffects.Count > 0)
            {
                foreach (var p in postEffects)
                {
                    if (!p.IsEnabled)
                    {
                        continue;
                    }

                    Scene.CoreInstance.BeginPostEffect(p.CoreInstance);

                    var src_ = Scene.CoreInstance.GetSrcTarget();
                    var dst_ = Scene.CoreInstance.GetDstTarget();

                    RenderTexture2D src = GC.GenerateRenderTexture2D(src_, GenerationType.Get);
                    RenderTexture2D dst = GC.GenerateRenderTexture2D(dst_, GenerationType.Get);

                    p.Draw(dst, src);

                    Scene.CoreInstance.EndPostEffect(p.CoreInstance);
                }
            }
        }
Ejemplo n.º 5
0
        internal void BeginDrawing()
        {
            if (!IsAlive)
            {
                return;
            }

            Scene.CoreInstance.SetRenderTargetForDrawingLayer();
            CoreLayer.BeginDrawing();
        }
Ejemplo n.º 6
0
        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (value is CoreLayer)
            {
                CoreLayer layer = (CoreLayer)value;


                if (destinationType == typeof(string))
                {
                    return(layer.Name);
                }
            }

            return(base.ConvertTo(context, culture, value, destinationType));
        }
Ejemplo n.º 7
0
        internal virtual void Update()
        {
            if (!isUpdatedCurrent || !IsAlive)
            {
                return;
            }

            CoreLayer.BeginMeasureUpdateTime();

            updateTimer += UpdateFrequency;
            while (updateTimer >= 1)
            {
                OnUpdating();
                UpdateInternal();
                OnUpdated();
                updateTimer -= 1;
            }

            CoreLayer.EndMeasureUpdateTime();
        }
Ejemplo n.º 8
0
        public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));

            // show the list box
            if (service != null && value is CoreLayer)
            {
                CoreLayer layer = (CoreLayer)value;
                // result = null;
                // setArtBox();
                result = layer.Name;
                popupateLayers();
                service.DropDownControl(listBox);

                CoreLayer newLayer = WhiskeyEditor.MonoHelp.WhiskeyControl.Active.Level.Layers.Find(l => l.Name.Equals(result));
                value = newLayer;
            }

            return(base.EditValue(context, provider, value));
        }