3,634 Commits over 1,095 Days - 0.14cph!
Move OpenBelowCursor to PopupWidget
Fix NRE (even though it's handled)
Build the toolbar
Fix TreeView not resolving objects for keyboard movement, open state
Tweak BaseItemWidget drop callbacks so we can handle dropping on edges differently
Fix unit test not initializing Global.Assembly
Fix physicsbody UAF in Trace
I think this completely fixes the event system duplicates
Fixed project settings layout being fucked
Don't change window background color when unfocused
Header bar
Attempt to fix duplicate events in editor (still happening though)
Add Toolbar.Title, .Movable, .Floatable
Should fix exception when opening assets
Whitelist specific attributes in System.ComponentModel.DataAnnotations, avoiding CompareAttribute
TypeLibrary uses dynamicAssembly to determine if dynamic, instead of checking for "package.*"
Add Sandbox.Utility.Parallel
Add Paint.LoadImage
Can put [EditorForAssetType] on a static method
Asset list cleanup
Set up TypeLibrary when initializing unit tests
Angles/Vector3 Json handle null
Add an env var for the engine path
Add Application static global class
Add support for game code to have unit tests
Gizmo Draw Sprite alternative
Gizmo object scope
Gizmo object selection
Add SelectionSystem
BaseItemWidget has a SelectionSystem, which can be set (allowing selection sync)
Expose ClearFlags
Don't update PanelList if not visible
Throw warning if enum property can't be shown for some reason
Add SourceFile, SourceLine to SerializedProperty
PackageLoader rewrite
* GameMenu games can have a Main method instead of a menu
* Decoupled TypeLibrary and assembly loading
* PackageLoader is responsible for loading packages into a LoadContext
* PackageLoader.Enroller is responsible for enrolling loaded assemblies into TypeLibrary etc
* A PackageLoader can have multiple Enrollers (needed for Editor)
* Round the chunks in Graphics.Draw so when drawing Triangles they don't end up hanging over the chunk boundary
* Add Draw.SolidTriangle
Change this Info to a Trace
further clean up TypeLibrary
Enable fast hotload by default
Rename PackageLoader2 to PackageLoader
Move GameAssemblyManager to clientdll
Refactor static GameAssemblyManager to instance NetworkedAssemblyManager
ClientDll uses PackageLoader
Remove all the now unused junk from TypeLibrary
Fix events not removing properly
Serverdll uses PackageLoader2, delete PackageLoader
MenuDll uses PackageManager2
Don't have assembly switch, just add and remove
switch GameMenu to use enroller
small correction to determine if EditorCompiler
Build client to staging branch
Build server to staging branch
Add tests
Unit test PackageLoader2 fast hotloading, regular
GameMenu games can have a Main method instead of a menu
Add PackageLoader2.
- Doesn't have TypeLibrary inside
- Wraps HotloadManager
- Clear separation between loading the assembly and loading into typelibrary etc
- only used by Tools + GameMenu right now
- I broke fast hotload
Round the chunks in Graphics.Draw so when drawing Triangles they don't end up hanging over the chunk boundary
Add Draw.SolidTriangle
Enable fast hotload again
Log stack traces
Handle badly defined GameResource more gracefully
Fix not correctly rebuilding .editor.dll when recompiling dependant game dll
Tools replaces and uses GameMenu PackageLoader/HotloadManager
Add TypeIcon, TypeName, TypeTitle to SerializedObject,
Clean layout separator style
Fix editor sometimes loading base tools package in the wrong order
NavigationMesh available out of game
* Supports runtime generation
* Pathfinding all in c#
* Save/Load navmesh
* Added Triangle struct
Tweak navmesh generation params that I don't understand
Add NavigationMesh.Node.Triangles/ClosestPoint/Distance
Triangle math
Create TriangleTest.cs
More connection setup
Navmesh connections in c#
Start feeding NavArea to managed
generation stub
Save/Load
Rename to NavigationMesh to avoid conflict
Draw the navmesh using Gizmo.Draw
navlib in engine2
Mixed mode navmesh base
Editor folders (#1265)
- A folder named Editor in your game project's code folder will become an Editor project
- Editor projects can access both the editor and the game addon
- Editor projects are not sandboxed
- These access the GameMenu instance - not client or server
- To avoid conflicts, some editor apis changed.
- - Cookies => EditorCookies
- - TypeLibrary => EditorTypeLibrary
- - Event=> EditorEvent
Use GameMenu Resource library if inside Tools context