5,124 Commits over 1,552 Days - 0.14cph!
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
Lets make this all easier on everyone by allowing only one Editor folder
Don't bother loading menu addon into tools
█▅▅▅ ▇▄▇ █▆▌▌▅▊▄.█▌▌▅▌▊█▄▌▊ ▉▌ ▆▍▋█▋ ▄▄▆█▅█▆▊▆▄ ▅▇█▅█▅▅▉▊▆▍█
█▅█▇█ ▊█▌▇▋▌▄ ▋▄█ ▉▇▇▊█▉▊ / ▇▊▇█▄▋▅ █▄▆▌ ▊▊▅ ▍▋▍▊ ▅█▊▇▉█ █▇ ▋▉▆ ▆▉▉▌▌▌▌
▄▍▉▋▋ ▍▊▉▆▅█▆▊ ▊█▄▇▅▍▍ ▄▌▄ ▋▍▊▅▌▊▆▋ + ▋ ▇▅▊ ▄▄▇ ▋▊▋▄▆▆▍█
▍▊▌▉▆ ▋▌▌ ▋▅▍▌ ▋▅▋▋▌▍▇ + ▊▍█▍▇ ▍▍▇▆▅ ▍▊ ▌▋▉ ▊▉▄▄ & ▄▍▌█ ▇▉▅▆
▊▊▍ ▄▅▆▌▇█ █▊█▊▆! - ▇▊▋▋█▄ ▅▆█▆▋▌▌▇
▋▉▄▇▆://▋▆▋▇▅.▌▇▍▇▅▆▌▊█.▌▊▆/▋▊▄▄▅█/▆▋▇▇█▉▊▌/█▆▅▍▄▊▇▊_▍▅.▅▋▄
▆▇▅▇▄▋█ ▌█▇▆▊ ▌▉ ▊▋▉ ▍█ ▋▆▋ ▊█▉▋▍▍ ▄▊▍▌▇▇ ▄█▆▍▇. ▋▅▄▄ ▍▌▆▅▅▊ ▌█▅▋!
▍▌█▊▊▋ ▆▌▉▋ ▋██▆▉█▆ ▉▉▉▊▉▅▋▊▊▆▊
▋▆▆▆▌ ▅██ ▉▋▉▆▅▍▊ ▆▆▉█ ▄▉▊█▆▌▉▄ ▇▊▊▄ ▄▉▉ ▄▆██ ▊▆▋▄ ▍▉▍▇█ ▋▍▍ █▅▅▅ ▄▅▋▄█▆ ▅▄▋▌▋▉▊▉ ▌▇▌ ▋▍▅▆█ ▋▍ ▆▉▅▆█▋ ▆▌▌▇ `[█▌▉█( "▄▇▅▋▇▄", "▌█▊▌▍ ▊▅▊▆▄▌▊", "█▌▌▌▅▌▊_▄▊▌▋▇▄" )]` ▍▋█ ▋▉▍▉ ▅▊ ▅▌▍▆▇ ▋▊▉▉▋█▌█▋ ▉▆▆▆▅▆ ▇▍▊▇▌▍▌ ▊▍▋▄ ▇█▋ ▊▄▍ ▍▉▌▇▅▆▍ ▌▅▉▄▌▉▇ ▋▇▌▆▆▅.
▉▇█ ▌▍▉▌▋▄█▋▄▉ ▆▇▋▆▍▆▊▋ █▊█▌▌██ ▇▍ ▉██▌▇▉▅▄▇▊█▅▋▋▋▍▇▆ & ▍▍▅_▍▄▉█▅▋
* ▍▄▅ ▄██▅▌▆▊▊▌::▋▊▅▉▊▆▉▊▍(), ▊▌▉▆█▇▌▊█::▌█▆▋▅▄▆▉▄▋▊▌▉▇▊▇▆( ▇▍▇ █▇▍ )
* █▌▇▆▉▌▍▄▇▆▌▌▅▊▍█▅▆: ▄▆▋▄▄▅█ ▌▌▆▄▌▆▍█▉▌ ▍▌▋▋▊▄▊▇▊
* ▋▉█ / ▋▆▌_▋▅▇▅▅█: ▌▆▋▊▄▋▄ █▍▌▇▊▌▄▊█ ▉█▆ ▅▊▇▇▍▇ ▅▍▅▄▅▉ ▇▇▇▅▉▄▄▊▆ ▉▌▋▌▆▌ ▌.▆
* ▆▇▊▍▍▄▋█▌▌▇▍▋▍▇▌▆▍▇ █▌▄▇█▋▍ ▉▌▊▉▊▉ ▆▋▌ ▋▉▊
█▆▊▋▋▆ ▋▋█▉█▌▊▆██▇ ▆▍ ▅▅▍ ▉▍▌▇▅▋ ▊▍▅▊▇▊▉▄ ▌▅▆▅▋▄▉▍
! ▇▋▌█▅▌█▊▋▇█: █▋▊▍█▅▄▄ ██▌▉▄▋ █▉▅▍▌▇ ▄█▊▊▄ █▊ ▊▌'▉ ▉▍▍▅▄▇ ▅▆▌▍▋▄▄█ █▅▌ ▊▋▆▆▊▌▍▇ ▄▅▄▌▍
| | █▇▅▌▍▍ | ▊▌▊▄█▍▅▌▊ | ▍▇▅▅▌▊▄ |
|---------------|---------|-----------|---------|
| ▍▊▆▌▄▍▋.*/* | ✅ | ✅ | ✅ |
| ▄▆▄█▌▉▇.*/* | ✅ | ✅ | ❌ |
| ▍▅▉▉▉▍.*/* | ❌ | ❌ | ❌ |
▄▊▋▇▉▍▇█▊▍▍ ▄▇██▉▊▄▌▊ (#▅▉▌▇)
▉▆▇▆▄ ▅▊▉▆▋▍ '▆▌▍▇▅▉' ▇▇▆▄ ▇▉▄▍█▉-█▋▌▋█▌▇
▌▇▉▄▇ > ▉▇█▋▉█▅▊▊▋▋
▄▌▅▉▇▅ > ▊▆▇▊▉▆▌█▍██▉
Switch TypeLibrary to EditorTypeLibrary
Init Sandbox.Client last so it gets all appropriate the callbacks
Tool projects can access Sandbox.Game, shuffled editor namespaces to avoid conflicts
Publishing a package ignores Editor folders properly
Load the editor.dll in tools
Load Sandbox.Tools in same context as Sandbox.GameMenu
PackageLoader can have a parent
GameMenu's PackageLoader has Tools as its parent
Fix NativeRenderWidget camera not scaling camera size for DPI
Sandbox.Tools references Sandbox.GameMenu, Sandbox.Game
Tweak how assemblies are registered in TypeLibrary, so we can pass assemblies from other contexts
Namespace clarification
If GameMenu fails to load, return to the main menu
UpdateEditorCompiler
Don't try to load editor assemblies, cuz that won't work
Generate csproj for editor folder