456 Commits over 245 Days - 0.08cph!
Grey out interpolation icon when disabled
Disable extra network settings when Network Mode is not set to Network Object. Radio Options no longer interactive when disabled
Change Network Orphaned -> "Orphaned Mode" and Network Interpolation -> "Interpolation"
Combed Network Mode, Network Interpolation, and Advanced Network Settings into one condensed menu
https://files.facepunch.com/CarsonKompon/2024/July/22_12-45-ClearcutGlobefish.mp4
Added [Icon] attributes to NetworkOrphaned and OwnerTransfer enums
Move Interpolation Icon to be the same as the other options. Remove unnecessary code and comments.
Give Network Options button ToolTip
Show Prefab Variable button before Nullable button in ControlSheet
Add Box Gizmo to Hitbox Component
Tick correct session in SceneViewWidget. Fixes occasional `Error calling 'tool.frame' on 'Editor.SceneViewWidget'`
Hook up File -> Open Scene (Resolve TODO)
Call MapInstance.OnCreateObject for all objects instead of just those that weren't supported. Allows users to add/remove behaviour to any loaded map object.
Fix the Top 2D View (so X is horizontal and Y is vertical)
Fix ShortcutOverrides not loading properly
Use CodeToString(ButtonCode) instead of the weird enum parsing I was doing.
Fix typo "ChildrentWantMouseInput" -> "ChildrenWantMouseInput"
Make Mouse.OverridingVisibility internal
Added setter to Mouse.Visible so you don't have to create a panel with pointer-events just to unlock your mouse.
Update minimal scene so its not running upgraders when you make a new project.
Add header to PageNotifications so it's the same as the others
Rename Name -> DisplayName so there's no conflict on KeybindPanel
Cache the overrides so we don't have to keep checking against EditorCookie
Change "F5" -> "editor.toggle-play" on Play menu option
Fix SaveMixer being static
Shortcuts with Function Keys are always to editor even when Game Frame is in focus
F3 and F5 editor commands are now Shortcuts like everything else
Fix shortcut not displaying on Align To View option
Qt Option now takes shortcut ident (eg. "editor.undo") and internally resolves bind (eg. "CTRL+Z"), updating when changed. No longer registers shortcut internally when set.
Cleanup shortcut groups
Added individual Revert button when bind is different from the default
https://files.facepunch.com/CarsonKompon/2024/July/12_08-54-UnimportantTarantula.mp4
Allow non-static method shortcuts since there seems to be a good chunk of those
Stop feeding shortcut to Options for now
Fix size of Editor Keybinds page
Fix using the wrong widget for non-static shortcuts
Move EditorPreferences.Keybinds over to new [Shortcut] attribute system on each function
Completely remove EditorPreferences.Keybinds
Change name/groups for a few shortcuts
Order categories by name in PageKeybinds
Remove some debug logs
Create Texture Editor and Actiongraph shortcuts
Create ShaderGraph, Hotspot Editor and some more scene shortcuts
Add GameObject/Transform shortcuts and fix static method issues.
Made grid size shortcuts Window type instead of Widget type
Make all the different editors share a few binds (So there's not a Copy,Cut,Paste,Undo,Redo,ect. per-editor)
Make classes with [Shortcut] attribute properly rebindable (used for editortools)
Created EditorKeybinds.cs with a few starting keybinds
Move Keybinds into EditorPreferences since that makes more sense
Add RegisterShortcuts() function whenever shortcuts are registered and use the EditorPreferences keybind instead of hardcoded string
Added Editor Keybinds page to EditorPreferencesWindow
Subscribe all RegisterShortcut voids to keybinds.update EditorEvent
https://files.facepunch.com/CarsonKompon/2024/July/10_21-46-TautDuck.mp4
Create shortcut for EditorCycleViewMode
Make Keybinds page scrollable, add Reset to Default button, and add Are You Sure popup to Reset button
Use TitleAttribute for keybind names
https://files.facepunch.com/CarsonKompon/2024/July/10_22-23-FakeGourami.png
Add AllowModifiers to KeyBind widget, set to true for Editor Keybinds Page (Allows you to bind CTRL+SHIFT+ALT+Whatever)
Some FileOption binds, but they dont auto-update yet. Will need to find a good way to do that for Option entries
Call keybinds.update EditorEvent on Reset to Default
Created EditorShortcuts.cs to eventually replace EditorPreferences.Keybinds
Need to call this after EditorTypeLibrary is created
Register shortcuts elsewhere and remove some option shortcuts
Change default shortcut type
Register shortcuts on hotload
Convert some older shortcuts into the new [Shortcut] attribute
Change shortcut defaults
Update EditorShortcuts to include Identifier and Keys, including method to get current keys from overrides (player defined overrides)
Display [Shortcut] shortcuts in Editor Keybinds page instead of EditorPreferences.Keybinds
EditorShortcuts rebinding actually works now, much more lightweight than prior version
Make user overrides save properly
Get Name and Group properly, allow attributes to override.
Get keys from shortcut name in Option.cs
Get keys from shortcut name in Option.cs
Call keybinds.update EditorEvent on Reset to Default
Created EditorShortcuts.cs to eventually replace EditorPreferences.Keybinds
Need to call this after EditorTypeLibrary is created
Register shortcuts elsewhere and remove some option shortcuts
Change default shortcut type
Register shortcuts on hotload
Convert some older shortcuts into the new [Shortcut] attribute
Change shortcut defaults
Update EditorShortcuts to include Identifier and Keys, including method to get current keys from overrides (player defined overrides)
Display [Shortcut] shortcuts in Editor Keybinds page instead of EditorPreferences.Keybinds
EditorShortcuts rebinding actually works now, much more lightweight than prior version
Make user overrides save properly
Get Name and Group properly, allow attributes to override.
Add AllowModifiers to KeyBind widget, set to true for Editor Keybinds Page (Allows you to bind CTRL+SHIFT+ALT+Whatever)
Some FileOption binds, but they dont auto-update yet. Will need to find a good way to do that for Option entries
Create shortcut for EditorCycleViewMode
Make Keybinds page scrollable, add Reset to Default button, and add Are You Sure popup to Reset button
Use TitleAttribute for keybind names
https://files.facepunch.com/CarsonKompon/2024/July/10_22-23-FakeGourami.png
Created EditorKeybinds.cs with a few starting keybinds
Move Keybinds into EditorPreferences since that makes more sense
Add RegisterShortcuts() function whenever shortcuts are registered and use the EditorPreferences keybind instead of hardcoded string
Added Editor Keybinds page to EditorPreferencesWindow
Subscribe all RegisterShortcut voids to keybinds.update EditorEvent
https://files.facepunch.com/CarsonKompon/2024/July/10_21-46-TautDuck.mp4
Change project open file filter from ".sbproj" -> "*.sbproj" to find named project files
Don't serialize component [Property] variables if they have [JsonIgnore] attribute
Fix New Project button in Editor Launcher
Make sure Top 2D view isn't flipped 180deg
(Makes everything face upright at default rotation, perfect for 2D games)
Added ResourceLibrary.GetAll<T>. Resolves Facepunch/sbox-issues#4749
Fixed SwitchControl styling
Make BaseDropObject public so it's accessible to editor tools
Fix "Value cannot be null." when ControlWidget cannot be created for property
Fixed "Hidden" banner styling. Resolves Facepunch/sbox-issues#5746
DockManager only looks for types with DockAttribute.
Fixes "Inspector" dock not being created if you had another class named "Inspector", ect.
Prevents errors when loading a project that either doesn't have a startup scene set or has their startup scene deleted
Console no longer errors when clicking on objects that can't be serialized. Resolves Facepunch/sbox-issues#5737
Added SoundscapeDropObject. Allows you to drag-and-drop soundscapes directly into your scene
Dragging a png,jpg,ect directly into the Scene will now automatically create a vtex and reference that.
Added TextureDropObject. Allows you to drag-and-drop vtex, png, jpg, ect directly into the Scene (regardless of dimensions).
https://files.facepunch.com/CarsonKompon/2024/June/25_15-43-EnergeticBeaver.mp4
Resolves Facepunch/sbox-issues#4470
Added SoundDropObject. Allows you to drag-and-drop sounds from your project or asset.party into the scene.
Added DropObjectAttribute. CreateDropFor no longer has hard-coded list. Resolves Facepunch/sbox-issues#5445
Checkbox when creating new project allowing you to set project location as default. Resolves Facepunch/sbox-issues#5628
CustomEditorAttribute now orders by number of parent classes so most relevant editor is always found. Resolves Facepunch/sbox-issues#5647