update 0.6.4.1
This commit is contained in:
@@ -2,6 +2,9 @@
|
||||
|
||||
## [Unrealse]
|
||||
|
||||
* 添加win10+右下角消息框
|
||||
* 修复文件对话框中筛选器格式
|
||||
|
||||
## [0.6.4] 2026-08-10
|
||||
|
||||
* 将XericLibrary提供的数据类型命名空间移动到Runtime下。这可能会带来一些兼容性问题,但现在Type成员太多了,再不调整这个遗留问题就不好解决了。
|
||||
|
||||
Binary file not shown.
@@ -32,6 +32,9 @@ Material:
|
||||
- _GridExp: 0.001
|
||||
- _GridLineThreshold: 0.99
|
||||
- _GridOverlayPower: 5
|
||||
- _LineShapeScale: 1.1
|
||||
- _LodTransitionEnd: 1
|
||||
- _LodTransitionStart: -0.8
|
||||
- _LodTransthd: 200
|
||||
- _OverlayerMult: 1
|
||||
- _Stencil: 0
|
||||
@@ -41,9 +44,10 @@ Material:
|
||||
- _StencilWriteMask: 255
|
||||
- _UseUIAlphaClip: 0
|
||||
m_Colors:
|
||||
- _CellCenter: {r: 0.5, g: 0.5, b: 0, a: 0}
|
||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _GridBackgroundColor: {r: 0.8666667, g: 0.8862745, b: 0.93333334, a: 1}
|
||||
- _GridColor: {r: 0.654902, g: 0.67058825, b: 0.7019608, a: 1}
|
||||
- _Transform: {r: 3.9294846, g: 3.360261, b: -3.844681, a: -3.152498}
|
||||
- _GridColor: {r: 0.8666667, g: 0.8862745, b: 0.93333334, a: 1}
|
||||
- _Transform: {r: 9.787723, g: 8.369877, b: -4.381715, a: -3.846801}
|
||||
- _Vector0: {r: 0.95, g: 1, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace XericLibrary.Runtime.Blueprint.QuickGraph
|
||||
private void OnStyleChanged(QuickGraphRenderStyleSnapshot snapshot) { ApplyGeometry(snapshot.Wire, true); Graph?.MarkAllElementsDirty(); }
|
||||
private void ApplyGeometry(QuickGraphWireRenderStyle style, bool force) { if (Graph == null || (!force && _revision == _styles.Snapshot.Revision)) return; Graph.SetWireGeometrySettings(new BlueprintWireGeometrySettings { SourceHandleLength = style.SourceHandle, TargetHandleLength = style.TargetHandle, WireWidth = style.Width, HitTestRadius = style.HitRadius }); foreach (var wire in Graph.Wires) Graph.UpdateWireGeometry(wire); _revision = _styles.Snapshot.Revision; }
|
||||
protected override BlueprintCurveRenderer BuildChunkRenderer(GameObject go) => go.AddComponent<BlueprintCurveRenderer>(); protected override void ClearChunkData(BlueprintCurveRenderer renderer) => renderer.ClearAll(); protected override void SetChunkDirty(BlueprintCurveRenderer renderer) => renderer.RebuildAll(); protected override bool AcceptsElement(IBlueprintElement element) => element is BlueprintWire;
|
||||
protected override void AppendElementData(BlueprintCurveRenderer renderer, IBlueprintElement element, ulong chunkID) { if (!(element is BlueprintWire wire)) return; if (wire.SourcePort == null || wire.TargetPort == null || wire.SourcePort.OwnerNode == null || wire.TargetPort.OwnerNode == null) { ReportInvalidWire(wire); return; } var style = _styles.Snapshot.Wire; wire.GetControlPoints(out var a, out var b, out var c, out var d); var submit = CurrentElementSubmission; var points = new[] { submit.ToChunkLocal(a), submit.ToChunkLocal(b), submit.ToChunkLocal(c), submit.ToChunkLocal(d) }; Color32 src = style.UseNodeColorGradient ? wire.SourcePort.OwnerNode.NodeColor : style.Color; Color32 dst = style.UseNodeColorGradient ? wire.TargetPort.OwnerNode.NodeColor : style.Color; var arrow = new ArrowHeadData { shape = style.ArrowShape, reversed = style.ArrowReversed, progress = style.ArrowProgress, width = style.ArrowWidth, height = style.ArrowHeight, depthCompensation = style.ArrowDepth, color = dst }; renderer.AddCurve(new CurveCacheEntry { startColor = src, endColor = dst, tessellationSegments = Mathf.RoundToInt(style.Tessellation * Graph.CurrentLodSettings.WireTessellationMultiplier) }, points, new[] { style.Width, style.Width, style.Width, style.Width }, new[] { arrow }); }
|
||||
protected override void AppendElementData(BlueprintCurveRenderer renderer, IBlueprintElement element, ulong chunkID) { if (!(element is BlueprintWire wire)) return; if (wire.SourcePort == null || wire.TargetPort == null || wire.SourcePort.OwnerNode == null || wire.TargetPort.OwnerNode == null) { ReportInvalidWire(wire); return; } var style = _styles.Snapshot.Wire; bool useNodeColorGradient = wire.GetStyleValue<bool>(QuickGraphStylePaths.WireUseNodeColorGradient); Color wireColor = wire.GetStyleValue<Color>(QuickGraphStylePaths.WireColor); wire.GetControlPoints(out var a, out var b, out var c, out var d); var submit = CurrentElementSubmission; var points = new[] { submit.ToChunkLocal(a), submit.ToChunkLocal(b), submit.ToChunkLocal(c), submit.ToChunkLocal(d) }; Color32 src = useNodeColorGradient ? wire.SourcePort.OwnerNode.NodeColor : wireColor; Color32 dst = useNodeColorGradient ? wire.TargetPort.OwnerNode.NodeColor : wireColor; var arrow = new ArrowHeadData { shape = style.ArrowShape, reversed = style.ArrowReversed, progress = style.ArrowProgress, width = style.ArrowWidth, height = style.ArrowHeight, depthCompensation = style.ArrowDepth, color = dst }; renderer.AddCurve(new CurveCacheEntry { startColor = src, endColor = dst, tessellationSegments = Mathf.RoundToInt(style.Tessellation * Graph.CurrentLodSettings.WireTessellationMultiplier) }, points, new[] { style.Width, style.Width, style.Width, style.Width }, new[] { arrow }); }
|
||||
private void ReportInvalidWire(BlueprintWire wire) { if (!_invalidWireWarningLogged.Add(wire.ElementId)) return; var missing = new List<string>(); if (wire.SourcePort == null) missing.Add("SourcePort"); else if (wire.SourcePort.OwnerNode == null) missing.Add("SourcePort.OwnerNode"); if (wire.TargetPort == null) missing.Add("TargetPort"); else if (wire.TargetPort.OwnerNode == null) missing.Add("TargetPort.OwnerNode"); Debug.LogWarning($"[WireCanvasRenderTool] 跳过无效 wire: GraphId={Graph.GraphId}, WireId={wire.ElementId}, missing={string.Join(", ", missing)}。"); }
|
||||
public override void OnDestroy() { if (_styles != null) _styles.Changed -= OnStyleChanged; _styles?.Dispose(); _styles = null; _invalidWireWarningLogged.Clear(); base.OnDestroy(); }
|
||||
}
|
||||
|
||||
Binary file not shown.
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user