/// <summary> /// ポストエフェクトを全て消去する。 /// </summary> public void ClearPostEffects() { ThrowIfReleased(); CoreLayer.Draw(); postEffects.Clear(); CoreLayer.ClearPostEffects(); }
/// <summary> /// ポストエフェクトを追加する。 /// </summary> /// <param name="postEffect">ポストエフェクト</param> public void AddPostEffect(PostEffect postEffect) { ThrowIfReleased(); CoreLayer.Draw(); postEffects.Add(postEffect); CoreLayer.AddPostEffect(postEffect.CoreInstance); }
internal void Draw() { if (IsAlive) { CoreLayer.Draw(); } }
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); } } }
internal void BeginDrawing() { if (!IsAlive) { return; } Scene.CoreInstance.SetRenderTargetForDrawingLayer(); CoreLayer.BeginDrawing(); }
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)); }
internal virtual void Update() { if (!isUpdatedCurrent || !IsAlive) { return; } CoreLayer.BeginMeasureUpdateTime(); updateTimer += UpdateFrequency; while (updateTimer >= 1) { OnUpdating(); UpdateInternal(); OnUpdated(); updateTimer -= 1; } CoreLayer.EndMeasureUpdateTime(); }
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)); }