public override void Shutdown() { base.Shutdown(); VS.FreeRid(ShadedCanvasItem); VS.FreeRid(UnshadedCanvasItem); UnshadedMaterial.Dispose(); ShadedMaterial.Dispose(); DrawingNode.QueueFree(); DrawingNode.Dispose(); }
public override void Shutdown() { base.Shutdown(); if (!GameController.OnGodot) { return; } VS.FreeRid(ShadedCanvasItem); VS.FreeRid(UnshadedCanvasItem); UnshadedMaterial.Dispose(); ShadedMaterial.Dispose(); DrawingNode.QueueFree(); DrawingNode.Dispose(); }
public void RemoveOverlay(string id) { if (!_overlays.TryGetValue(id, out var overlay)) { return; } overlay.Dispose(); _overlays.Remove(id); if (GameController.OnGodot) { var item = _canvasItems[overlay]; _canvasItems.Remove(overlay); VS.FreeRid(item); } }