Simon Lübeß
214889470f
Scene: Set ScriptEngine Context (Scene) when copying entities
...
Fixes invalid access when constructors throw exceptions
2023-11-18 02:00:11 +01:00
Simon Lübeß
2a4eac814b
ScriptGlue: Changed signature of Entity_GetScriptInstance
2023-11-18 01:59:10 +01:00
Simon Lübeß
1a92f4aec1
Started reworking entity initialisation
2023-11-18 01:04:12 +01:00
Simon Lübeß
02a2ccb6f9
Copy ScriptCore dependencies to output, EntityEditor: Start of lists
2023-11-16 18:32:13 +01:00
Simon Lübeß
d2972d1b03
Updated submodule "gltf"
2023-11-15 16:25:12 +01:00
Simon Lübeß
d718c6625d
Allow separators in "Create new Asset" dropdown (also changed text to just "Create new")
2023-11-15 16:23:22 +01:00
Simon Lübeß
6f1467046d
Tried EntityEditor in C#
2023-11-10 12:41:58 +01:00
Simon Lübeß
b41eaad788
Disposable Rigidbody2D
2023-10-28 21:48:56 +02:00
Simon Lübeß
38fc1f63b3
Small script engine improvements
...
- Fixed script class name not visible in Component Editor
- Retain user assembly file system watcher (fixed deletion while handling events)
- Fixed crash when a scritp constains a List or Array (by ignoring them for now)
- Fixed Typo in Genericinst
- Scene: Invoke OnCreate for copied entity scripts
2023-10-28 21:48:43 +02:00
Simon Lübeß
909012f518
Moved Script Solution (.sln) to project root
...
- Updated vswhere.exe
- Scripts created via Asset browser are now being added to the project
- Fixed Apply not being called for extended Settings
- Correctly wrap New File preview only when line full
- Create Project: Show warning, when target directory already exists
2023-10-27 22:29:10 +02:00
Simon Lübeß
3d8756ec42
Added context menu entry to create C#-Scripts.
...
Allow entering file name before creation
2023-10-19 19:27:01 +02:00
Simon Lübeß
bad7b08046
EditorContentManager: Fixed asset reloading
...
(thats why unit tests exist... or at least types...)
2023-09-29 18:56:37 +02:00
Simon Lübeß
d32bc6c475
Properties Window: Combined "Save"- and "Apply"-Buttons into one "Save"-Button
2023-09-29 18:51:21 +02:00
Simon Lübeß
688046fcf9
Scripting: Create Rigidbodies and Colliders during runtime
2023-09-21 15:10:20 +02:00
Simon Lübeß
446dc2ca2a
Scripting: Basic copying of entities during runtime + Reference Components using UUID
2023-09-21 14:23:00 +02:00
Simon Lübeß
ba54d48dfe
Fixed referencing entities and components that are not the script owners entity
2023-09-16 22:14:52 +02:00
Simon Lübeß
754c149493
Entity Creation and Destruction from scripts
...
- ScriptEngine: Allow destroying scripts during runtime
- Scripting:
- Create new entities using Constructors
- Added Destroy functions for Entities
- Added SetScript/RemoveScript functions for Entities
- Allow adding multiple components at once
- Added Is-Method
- Mono Wrapper: Added Array-Functions
- WorldEnumerator: Fixed crash due to dangling list pointer after entity creation
- Scene:
- Basic create Rigidbodies during runtime
- Start of entity copying (For runtime use)
- Added DestroyEntityDeferred
- SceneSerializer:
- Added option to assign new IDs to entities
2023-09-15 23:22:27 +02:00
Simon Lübeß
ff54eb738e
UUID: Removed empty constructor, added static Create-Function
2023-09-13 13:14:54 +02:00
Simon Lübeß
370eaf9bc7
Skip CMake compiler testing
2023-09-13 01:02:13 +02:00
Simon Lübeß
5af174ecee
ScriptCore: atan2
2023-09-05 23:15:48 +02:00
Simon Lübeß
7bffd01401
Rigidbody2D Get/Set Linear and Angular Velocity
2023-09-05 23:15:33 +02:00
Simon Lübeß
cd333f4f02
EditVector: Allow Disabling individual components
...
+ Disable XY-Angle when Entity has Rigidbody2D Component (This is something for future me, I couldn't figure it out...)
+ Start of handling of non trivial tranform nesting and rotations on XY axes
+ TranformComponent.RotationEuler: Normalize quaternion before converison
2023-09-05 23:14:51 +02:00
Simon Lübeß
2f58f0e142
Renamed RigidBody2D to Rigidbody2D
...
+ Math.normalize(Quaternion)
+ Position and Rotation properties for Rigidbody2D
+ use In, Out on beef side in ScriptGlue
2023-09-03 19:42:50 +02:00
Simon Lübeß
0165279220
Implemented "Open recent Project" menu entry
...
+ Clean up handle -> asset map when chaning Asset or Resource directory
2023-08-21 14:11:51 +02:00
Simon Lübeß
3affb8a32f
Scripting: Added Set and GetPosition to Rigidbody2D
...
+ Vectors: Hide swizzles in Debugger + Generate ToString
2023-08-21 13:20:12 +02:00
Simon Lübeß
d3c19dd8da
2D Polygon Collider editor with Gizmos
...
+ Added Handles class
2023-08-21 13:18:51 +02:00
Simon Lübeß
377997f903
Fixed mouse wrapping to wrong position when window is moved
2023-08-14 23:56:43 +02:00
Simon Lübeß
d7201299c7
Fixed physics only simulation
...
+ Don't run scripts in physics only mode
+ Don't initialize scritps in physics only mode
+ Don't setup physics callbacks in physics only mode
2023-08-14 22:38:55 +02:00
Simon Lübeß
a112fcc64a
Automatic switch between Player <-> Editor Tabs
...
+ Allow Editor to inject into Settings
2023-08-14 22:10:27 +02:00
Simon Lübeß
f71e851ab5
Push Loggers earlyer to hopefully avoid race condition
...
+ Fix null check in EditorLogger
2023-08-14 22:09:35 +02:00
Simon Lübeß
040e87d57f
Fixed Selection and Deletion in Entity Hierarchy Window
2023-08-14 14:32:58 +02:00
Simon Lübeß
74b17c8599
2D Polygon Collider
2023-08-13 12:03:06 +02:00
Simon Lübeß
4e5d3cfd64
Add OnCollisionLeave2D
2023-08-10 22:07:58 +02:00
Simon Lübeß
b28ca14e15
Updated Box2D
2023-08-10 20:38:49 +02:00
Simon Lübeß
aafcc41286
Invoke on collision enter + start of attach child colliders to rigidbody
...
+ Changed default Namespace of ScriptCore to GlitchyEngine
+ Implicit Casts float2 <-> b2Vec2
+ Entity constructor internal
+ Renamed RigidBody2D to Rigidbody2D (notice the B)
+ Basic Debug Draw actual 2D Colliders
+ Added Entity::GetParentWithComponent
2023-08-10 19:55:45 +02:00
Simon Lübeß
987246a806
Asset Drag'n'Drop preview
2023-08-02 14:59:35 +02:00
Simon Lübeß
f654a4f379
Fixed AssetHierarchy not updating + Drag'n'drop Files in Asset Browser
2023-08-02 13:48:06 +02:00
Simon Lübeß
92334d8150
Hide obsolete Application.Get()
2023-08-02 00:08:30 +02:00
Simon Lübeß
0101f546a5
Use InvokeOnMainThread for asset tree updates
2023-08-02 00:08:17 +02:00
Simon Lübeß
6c4ac923c6
Asset renaming + AssetHierarchy: major refactoring for file tree construction
...
+ AssetFile: Added "AssetConfigPath" Property
+ Less crashy, more cleaner
2023-08-01 23:56:52 +02:00
Simon Lübeß
51441f0e70
Fixed memory leak
2023-08-01 23:20:25 +02:00
Simon Lübeß
d2600c7517
Fixed Race-Condition in SamplerStateManager
2023-08-01 22:50:09 +02:00
Simon Lübeß
60725c3588
Universal AssetHandles. Serialize AssetHandle instead of AssetIdentifier
...
A bit unstable
2023-08-01 21:38:54 +02:00
Simon Lübeß
6d7f26b1f4
Added "Create new Folder" to Asset Browser context menu
2023-08-01 16:45:54 +02:00
Simon Lübeß
b1f89a345f
Deletion of Assets and Directories
2023-08-01 16:45:33 +02:00
Simon Lübeß
253dd8087e
Added option to create Materials in Asset Browser
2023-08-01 16:24:31 +02:00
Simon Lübeß
e8a5594540
Allow changing Effect of Materials
...
+ TextureDimension Property for Texture
2023-08-01 13:28:04 +02:00
Simon Lübeß
5d8c1b111a
Project user settings, load recent scenes, properly cleanup ScriptEngine when switching scenes
2023-07-31 20:09:56 +02:00
Simon Lübeß
3298053d9d
Fixed Asset Drag'n'Drop
2023-07-31 20:07:12 +02:00
Simon Lübeß
adccb74f44
Editor Layer cleanup
2023-07-31 18:48:36 +02:00
Simon Lübeß
97113b5df6
Start of Create Asset Context Menu
...
+ Asset Hierarchy: Fixed Assets in Folder-Root not being shown
2023-07-31 17:40:05 +02:00
Simon Lübeß
c374d86ec7
Cleanup
2023-07-31 16:40:27 +02:00
Simon Lübeß
803fd7f8ba
Fixed crash when ScriptComponent has no Instance in Play Mode
2023-07-31 16:36:02 +02:00
Simon Lübeß
11a57f5285
Fixed ComponentEditWindow showing component editor after it was deleted
2023-07-31 16:35:38 +02:00
Simon Lübeß
0d015b485e
Basic project creation
...
+ Added TreeNode.RemoveChild
+ Added Directory.Copy
+ Path.Combine now replaces alt directory separator
+ Project: Renamed ProjectName to Name
+ Project.Load: Save settings, if file doesn't exist
2023-07-31 16:35:12 +02:00
Simon Lübeß
17e4a6a589
Updated Beef.Linq
2023-07-30 20:32:19 +02:00
Simon Lübeß
c1a87ed946
Separated Assets to Resources (Engine assets) and Assets (Project specific)
...
+ AssetHierarchy: Exposed RootNode
+ ContentBrowserWindow: Fixed Empty Folder not being Leaf-Node
+ TreeNode: Added IsParentOf, IsChildOf and IsInSubtree.
+ Fixed InternalDeleteTreeAndChildren for null trees
2023-07-30 20:30:06 +02:00
Simon Lübeß
20dae92be7
Fixed Assets having scrollbars in content browser
2023-07-30 13:55:50 +02:00
Simon Lübeß
df67f32399
Start of project system
...
+ added Directory.IsEmpty
2023-07-30 13:23:34 +02:00
Simon Lübeß
14a802d057
Added new line to EditorLogger
2023-07-30 13:21:33 +02:00
Simon Lübeß
12d6df3edf
Fixed crash when AssetViewer has size of 0 (RTFM)
2023-07-29 18:54:45 +02:00
Simon Lübeß
2838449186
Ignore MonoDebugger.log
2023-07-28 21:15:23 +02:00
Simon Lübeß
75513bea3d
Removed obsolete texture viewer
2023-07-28 21:09:33 +02:00
Simon Lübeß
16c3d7c44d
Updated ImGui
2023-07-28 13:38:59 +02:00
Simon Lübeß
7ae069baf6
Fixed loading UI font
2023-07-28 12:26:15 +02:00
Simon Lübeß
00dc3faa19
Failed to show and edit script sctruct
...
+ SizeInBytes for MonoFields
2023-07-28 11:48:01 +02:00
Simon Lübeß
f39acdadb3
Show enum fields in Edit mode
2023-07-28 00:07:10 +02:00
Simon Lübeß
1254d01545
Handle exceptions from C# Scripts + Log window + EditorLogger
...
+ Renamed Platform/DX11/ImGui.bf to .../Dx11ImGui.bf for clarity
+ ImGuiExtension: ImageButtonEx thata takes a TextureViewBinding
+ EditorLogger that logs to the LogWindow
+ Current logger can now be changed
+ Info, Trace, Warning and Error Icons
2023-07-27 21:58:42 +02:00
Simon Lübeß
0bc517842f
Allow changing logger
2023-07-27 00:42:42 +02:00
Simon Lübeß
3e63281508
Fixed mono debugging...
2023-07-26 22:56:43 +02:00
Simon Lübeß
ef486b7082
Basic entity highlighting
2023-07-25 19:37:13 +02:00
Simon Lübeß
81a61d5a90
Drag'n'drop for components
...
+ Added CreateInstance to ScriptClass
+ Added CreateComponentInstance to ScriptInstance
2023-07-25 16:37:41 +02:00
Simon Lübeß
37197cbdf1
Allow dragging and dropping of Entities in editor
...
+ New Dictionary Helpers
+ Made ImGui Payloads safer
+ Start of Component drag'n'drop
2023-07-24 23:17:00 +02:00
Simon Lübeß
b53ed2d8f2
Made script deserialization more robust
2023-07-24 21:28:58 +02:00
Simon Lübeß
457b43352a
Debugging, but it doesn't work for some reason
2023-07-21 16:16:24 +02:00
Simon Lübeß
cc7fb7311f
Added single step for simulation and play mode
...
+ Added ManualStepTime to GameTime
2023-07-20 23:21:21 +02:00
Simon Lübeß
5f27b8001a
Automatic script assembly reloading
2023-07-20 22:11:11 +02:00
Simon Lübeß
0cbb8a4966
Fixed C# -> Beef Type mapping
2023-07-20 17:53:32 +02:00
Simon Lübeß
79adc70f01
Gitignores and missing updates to scripts
2023-07-20 17:51:06 +02:00
Simon Lübeß
78ba016b03
Log Exceptions in thrown by Script OnUpdate-Function
2023-07-20 17:48:50 +02:00
Simon Lübeß
3e55a1614a
Shader like vectors for C# Scripting
2023-07-20 17:48:28 +02:00
Simon Lübeß
f0de874572
Start of generate vectors for C#
2023-07-19 18:43:26 +02:00
Simon Lübeß
6e02a04a4f
Changed ScriptCore to DotNet Standard 2.0
2023-07-19 15:45:36 +02:00
Simon Lübeß
cd1562f372
Basic Script reloading
...
+ ScriptComponent now saves script name instead of direct ScriptClass reference
+ Added ClearDictionaryAndDeleteKeys helper
+ Moved ScriptFieldType to separate file
+ _ScriptFieldMap now uses String as Key
2023-07-18 22:06:34 +02:00
Simon Lübeß
e8505f6bdb
Scripting: FindEntityWithName and get script instance
...
+ Some C# UUID stuff
+ Added some Mono functions
+ ScriptEngine:
+ ID -> ScriptInstance map in ScriptEngine
+ GetManagedInstance
+ Fixed Scene not visible after loading a new scene
+ Renamed OnViewportResize to SetViewportSize for Scene and SceneRenderer
2023-07-17 20:27:18 +02:00
Simon Lübeß
66d66d3308
Serialize script fields in "array" + more forgiving deserialization
2023-07-17 04:04:01 +02:00
Simon Lübeß
88b393157a
Make sure we always initialize with a scene
2023-07-17 04:00:30 +02:00
Simon Lübeß
28155ec92c
Allow opening a scene on launch
...
+ don't resize on load/new scene
2023-07-17 02:19:49 +02:00
Simon Lübeß
1641bafd06
Don't instantiate scripts for Editor + ScriptComponent Serialzation + Don't crash when scene loading failed
2023-07-17 01:27:58 +02:00
Simon Lübeß
76bff3a6c1
Texture importer now supports mip maps
2023-07-06 17:06:59 +02:00
Simon Lübeß
a507eeb1cd
Kind of fixed a memory leak
2023-07-01 12:49:17 +02:00
Simon Lübeß
77c45db122
Replaced IntX by intX, Basic AssetViewer (can view Textures, kind of)
2023-07-01 00:15:01 +02:00
Simon Lübeß
e12fcaacff
Added Math min/max for float
2023-06-28 22:03:43 +02:00
Simon Lübeß
b31d43820a
Support emissive materials
2023-06-28 19:33:39 +02:00
Simon Lübeß
334c2c0366
Search in Content Browser (and added ForEach in TreeNode)
2023-06-28 19:27:52 +02:00
Simon Lübeß
bb520b43ec
Added support for Cube Textures, Improved dds import (and textures in general), Texture refactoring and DX11 DeviceContext synchronization
2023-06-25 17:58:16 +02:00
Simon Lübeß
46693666aa
Fixed current directories context menu not opening
...
i.e. when right clicking the background of the current directory
2023-06-25 03:20:35 +02:00
Simon Lübeß
9e1f648aa0
Transitioned from VectorX to floatX
...
And some trying to update Rigidbody when transform changes
2023-06-25 02:47:33 +02:00
Simon Lübeß
5f5da2ed35
Moved vector type files
2023-06-25 01:11:06 +02:00
Simon Lübeß
fa2277cd99
Start of shader like vectors + added 16 bit float
2023-06-24 23:45:56 +02:00