Commit Graph
578 Commits
Author SHA1 Message Date
Simon Lübeß 24365ec477 Call correct UUID constructor for Entities, fixed crash and weirdness when Scripts have fields that are classes
Let's not talk about the fact that this was a one line fix all along...
2023-11-18 02:05:55 +01:00
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ß d2972d1b03 Updated submodule "gltf" 2023-11-15 16:25:12 +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ß 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ß 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ß 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ß 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ß 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ß 92334d8150 Hide obsolete Application.Get() 2023-08-02 00:08:30 +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ß 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ß 803fd7f8ba Fixed crash when ScriptComponent has no Instance in Play Mode 2023-07-31 16:36:02 +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ß df67f32399 Start of project system
+ added Directory.IsEmpty
2023-07-30 13:23:34 +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ß 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ß 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