branchsbox/magic-component-methodscancel

9 Commits over 0 Days - ∞cph!

7 Months Ago
BufferedHashSet<T>: For safely iterating over a hashset that can be modified without needing a copy Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes Sandbox.Game convars work in editor again Codegen IUpdateSubscriber and others on Components that implement those methods Scene update loop only iterates over enabled components that implement each of their methods; OnUpdate, OnFixedUpdate, OnPreRender
7 Months Ago
BufferedHashSet<T> Use BufferedHashSet<Component> to safely iterate components without a copy Name this ComponentSubscriberInterfaces, name interfaces IUpdateSubscriber etc.
7 Months Ago
Test out this iterator safe workset collection, this probably has some fancy standard name
7 Months Ago
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes New update mode, iterating over components with IWants interfaces Sandbox.Game convars work in editor again Run legacy game loop on older assemblies Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes Check Component.IsValid() just in case they've been immediately deleted
7 Months Ago
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
7 Months Ago
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
7 Months Ago
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes New update mode, iterating over components with IWants interfaces Sandbox.Game convars work in editor again Run legacy game loop on older assemblies
7 Months Ago
Use interfaces instead of attributes Unused GameObject.PreRender Component.OnStart works on components that don't implement OnUpdate
7 Months Ago
Codegen applies attributes if OnUpdate, OnFixedUpdate or OnPreRender are implemented Only call OnUpdate, OnFixedUpdate, OnPreRender on components that implement them. Also call them flat instead of recursing every GO 3 times