public override void Initialize() { base.Initialize(); IoCManager.InjectDependencies(this); DrawingNode = new Godot.Node2D() { Name = "EffectSystem", }; sceneTree.WorldRoot.AddChild(DrawingNode); UnshadedMaterial = new Godot.CanvasItemMaterial() { LightMode = Godot.CanvasItemMaterial.LightModeEnum.Unshaded }; ShadedMaterial = new Godot.CanvasItemMaterial(); ShadedCanvasItem = VS.CanvasItemCreate(); VS.CanvasItemSetParent(ShadedCanvasItem, DrawingNode.GetCanvasItem()); VS.CanvasItemSetMaterial(ShadedCanvasItem, ShadedMaterial.GetRid()); UnshadedCanvasItem = VS.CanvasItemCreate(); VS.CanvasItemSetParent(UnshadedCanvasItem, DrawingNode.GetCanvasItem()); VS.CanvasItemSetMaterial(UnshadedCanvasItem, UnshadedMaterial.GetRid()); }
internal DrawingHandle(Godot.RID item) { DebugTools.Assert(GameController.Mode == GameController.DisplayMode.Godot); Item = item ?? throw new ArgumentNullException(nameof(item)); }
internal void ApplyToCanvasItem(Godot.RID item) { Godot.VisualServer.CanvasItemSetMaterial(item, GodotMaterial.GetRid()); }
internal DrawingHandleScreen(Godot.RID item) : base(item) { }
internal DrawingHandleWorld(Godot.RID item) : base(item) { }
public void Dispose() { Item = null; }
internal DrawingHandle(Godot.RID item) { Item = item ?? throw new ArgumentNullException(nameof(item)); }