7,945 Commits over 3,745 Days - 0.09cph!
Added conversion from null tests
Fixed conversion from null (Facepunc/sbox#1360)
Editor.ActionGraph.ActionGraph -> Editor.ActionGraphs.EditorActionGraph (Facepunch/sbox#1360)
To avoid conflict with Facepunch.ActionGraphs.ActionGraph
Editor.ActionGraph.ActionGraph -> Editor.ActionGraphs.EditorActionGraph (#1360)
To avoid conflict with Facepunch.ActionGraphs.ActionGraph
More stability when deserializing invalid graphs
Copied over WIP action graph editor
WIP dynamic action graph nodes
OnShoot example in TurretComponent
Node error messages, GetRelevantNodes, property get / set
Let TurretComponent.OnShoot handle setting the velocity
HandleConfigs
Tweak how properties appear in node creation menu
Fixed getting relevant nodes for signals
WIP property panel in action graph editor
Constant node drawing tweaks
Small action graph editor fixes
Error list panel
https://files.facepunch.com/ziks/2023-10-12/sbox-dev_75o6iDzzHZ.png
Fix error when clearing links
Stack trace integration for exceptions thrown by action jigs
Field get / set, sort nodes better
Instance method nodes
Type selection drop down
Fleshed out type selector, now checks constraints
Pure attribute for some things that should be expression nodes
Comment nodes
Node display tweaks
Icon fixes
Rerouting and other fixes
Error list title fix
Action link pulsing in editor
Jig -> Graph
Editor.ActionGraphs -> Editor.ActionGraph
To match Editor.ShaderGraph
Start on undo / redo
ActionGraphComponent
OnUpdate, OnTouch action components
Football demo using action graph
Enum constant node fixes
Action component tweaks
ColliderBaseComponent was renamed to Collider
Copy / pasting nodes
Rework comment and reroute nodes in action graph
Make comment node inspection work like ShaderGraph
Comment nodes are listed separately
Basic variable selector / creation
Rework how variables are added
Fix suggested variable nodes when dragging from an output
On node deletion, remove unreferenced variables
Show variable type in add node context menu
Some fixes after updating Facepunch.ActionGraphs
Graph nodes
WIP Create Custom Node in context menu
Fixed removing UI elements after creating a custom node
Fix up old example action graphs
Fix node positions in new custom graphs
Fixed missing connections on creating custom nodes
Support for renaming inputs / outputs of custom nodes
Update UI of custom nodes if their definition changes
ActionGraph: Better support for methods with lots of overloads
Fixed error involving Connection
Removed debug logging
Fixed jumpscare when opening "Other" in the type selection menu
Static method calls are now distinct from instance method calls
Added ToString nodes
TODO: when Object is in TypeLibrary, this will be obsolete
Clean up ActionControlWidget
Can get rid of ToString node hack
WIP setting const values for node inputs in the editor
Fix action graph component override method signatures
If graph has an icon, use it in ActionControlWidget
WIP show const values for inputs on the node UI
Fixed searching type hierarchy for accessible members
Filter instance methods a bit
Hide indexer properties from ActionGraph for now
Fixed some action graphs
Don't list ignored members when creating nodes
Test out action graph include / ignore attributes
Sort members properties first, then methods (Facepunch/sbox#1360)
Node menu category icons, reordering
Fix OnTouchComponent after rebase
Make getting / adding components simpler in ActionGraph
Fix EnumControlWidget for [Flags] enums
Before: https://files.facepunch.com/ziks/1b0411b1/flags-before.mp4
After: https://files.facepunch.com/ziks/1b0411b1/flags-after.mp4
Update Facepunch.ActionGraphs
More tests for parsing invalid graphs
Fixed parsing graphs referencing missing methods
WIP stability when deserializing a graph referencing missing types
Attributes to ignore / include members as ActionGraph nodes
Node menu category icons, reordering
Allow icons in node categories
Sort members properties first, then methods (Facepunch/sbox#1360)
NodePropertyAttribute -> ActionGraphPropertyAttribute
Don't list ignored members when creating nodes
Test out action graph include / ignore attributes
Don't inherit [ActionGraphIgnore] on types
Attributes for ignoring / including members (#1360)
Fix ActionGraphs breaking on full hotload
Fixed some nodes not invalidating on hotload
Fix ActionGraph instance upgraders not getting added
Fix possible type mismatch when upgrading ActionGraph delegates
First pass at handling ActionGraph instances during hotload
Added failing test for hotloading ActionGraph delegates
Rename Sandbox.Test/ActionJigs to Sandbox.Test/ActionGraphs
Add essential system types to TypeLibrary (#1365)
* Add some essential System.* types to TypeLibrary
* Fixed TypeLibrary.GetType<T>()
* System type tests
* Simplify reflection in NodeLibrary
* Filter methods available to ActionGraph
* Add PropertyDescription.IsIndexer
Added failing test for hotloading ActionGraph delegates
Rename Sandbox.Test/ActionJigs to Sandbox.Test/ActionGraphs
Use AddType() directly when adding intrinsic system types
Hide indexer properties from ActionGraph for now
Hide some more methods from ActionGraph
Add PropertyDescription.IsIndexer
Don't include IsFamily members from System.* types
Filter instance methods a bit
Filter methods available to ActionGraph
Don't include ones with pointer / Span<> / byref parameters
Add Nullable<> as an intrinsic type
Simplify reflection in NodeLibrary
Fixed searching type hierarchy for accessible members
Add some essential System.* types to TypeLibrary
Fixed TypeLibrary.GetType<T>()
Directly call constructor instead of using Activator.CreateInstance in TypeDescription
To make sure it's a whitelisted one
WIP show const values for inputs on the node UI
Ignore static constructor in constructor access check
Another constructor visibility check
Remove all these test particles from triggers scane
.gitignore: don't ignore shader_c
Add sprite.shader_c
AnimatedModelComponent => SkinnedModelRenderer, ModelComponent => ModelRenderer
DecalRenderer component assumes we're using the new decal shader, has some settings
Add decal test scenne
Add some simple decals
Add decal prefab
SkinnedModelRenderer derives from ModelRenderer
Added OnTagsChanged, tags cascade to child objects
Tags show differently depending on whether they're inherited or not
Fix missing player in volume fog scene
Batch component callbacks nicer
CallbackBatch deals with calling adding inside execute
Make CallbackBatch awesomer
Cleanup
Make OnValidate protected
FixedUpdate renamed to OnFixedUpdate, made protected, don't call in editor unless ExecuteInEditor
Update renamed to OnUpdate, made protected
OnStart is protected
Unit test fix
Made everything else protected
Can get rid of ToString node hack
WIP setting const values for node inputs in the editor
Merge remote-tracking branch 'origin/main' into action-editor
# Conflicts:
# code/ExampleComponents/TurretComponent.cs
# code/GameEngine/GameObject/GameTags/GameTags.cs
Fix action graph component override method signatures
If graph has an icon, use it in ActionControlWidget
Simplify TypeLibrary.Create<T> methods a bit
Do a more precise check for forbidden constructors
We were getting false positives with some widget types
First pass at adding allowed System.* members to TypeLibrary
Update MemberAccess test for system types
Fix TypeLibrary.GetType<T>()
It could return a random type that extended T, instead of T itself.
Fix asking AccessControl about MemberInfos
Fix TypeLibrary tests that assume a new library has no types in it
Better fix for TypeLibrary tests
Fix possible NRE in TypeLibrary.GetType( Type )
Simplify TypeLoader now that System types are in TypeLibrary
Tweaked MemberAccess test again
Double-check only public system members are included
Log included system types in MemberAccess test
Test for TypeDescription.Create<>() with forbidden constructors
Don't allow TypeDescription.Create<T> for types with forbidden constructors
Test for TypeDescription.Create<>() with forbidden constructors
Don't allow TypeDescription.Create<T> for types with forbidden constructors
Tweaked MemberAccess test again
Fix possible NRE in TypeLibrary.GetType( Type )
Simplify TypeLoader now that System types are in TypeLibrary