Commit Graph
51 Commits
Author SHA1 Message Date
Simon Lübeß 49c3e93e08 Manage all Assets with ContentManager 2025-02-16 01:02:41 +01:00
Simon Lübeß 25e1c53a08 Allow resetting material variable 2025-02-14 15:34:33 +01:00
Simon Lübeß 24295731f3 Start of inheriting Materials, create material instance for getMaterial from scripts 2025-02-14 12:39:35 +01:00
Simon Lübeß aaed4199d3 Interact with Materials from scripts 2025-02-14 11:54:07 +01:00
Simon Lübeß f30bcb2f89 Slightly improved text renderer 2024-04-14 23:56:09 +02:00
Simon Lübeß 949ab4ebb0 ScriptEngine: Serialize static fields 2024-04-13 00:10:35 +02:00
Simon Lübeß df13aa8596 Refactored Scene serialization 2024-04-12 19:36:01 +02:00
Simon Lübeß d28426478b Font renderer improvements + component for scripting 2024-03-17 20:29:52 +01:00
Simon Lübeß 8d92822845 Added EditorFlags: Hide entities in hierarchy and editor scene
- Also some Style changes
2024-03-10 12:21:20 +01:00
Simon Lübeß 0a822dcd79 ScriptCore: Added Transform.WorldTransform 2024-02-19 21:39:07 +01:00
Simon Lübeß 1ca9746921 Fixed crash in Logger 2024-02-19 21:38:35 +01:00
Simon Lübeß f86d1aa79e Improved UI of component edit window
- Also fixed some errors in list and dictionary editors
2024-01-29 19:46:52 +01:00
Simon Lübeß 8ff35d3967 ScriptCore: Added more properties to components
- Added CircleRenderer
- Transform: Added Rotation, RotationEuler, RotationAxisAngle and Scale
- RigidBody: Added BodyType and GravityScale
- Added ColorRGBA
2024-01-27 19:46:37 +01:00
Simon Lübeß bc535ddc26 Get/Set FixedRotation in play mode 2024-01-26 12:51:29 +01:00
Simon Lübeß 4538c38fd7 ScriptGlue error handling 2024-01-25 23:35:56 +01:00
Simon Lübeß d8e4e8d028 ScriptCore: Added Parent property to Transform 2024-01-25 22:29:11 +01:00
Simon Lübeß 7026be1c90 2D Physics and script improvements
- fixed time step
- Fixed crash caused by physics script callback being registered in simulation mode
- Moved 2D Physics config to file
- Finally gave up on the attempt to keep X and Y rotation when applying new Z-rotation from 2D rigidbody to transform and now I can sleep well
- Streamlined starting and stopping of scenes
- Scripts: execute all inits and OnCreates before OnUpdate
2024-01-22 23:19:55 +01:00
Simon Lübeß 7f40ae038a Removed Atan2 from script glue 2024-01-20 21:24:43 +01:00
Simon Lübeß 02be6d8eb7 Log: Also log filename and line number of caller 2024-01-20 21:23:34 +01:00
Simon Lübeß c906fc9667 Properly destroy script instances
Now without memory leaks!
2024-01-18 21:29:11 +01:00
Simon Lübeß 60b45828c2 ScriptGlue: Added Camera component and throwing mono exceptions from beef 2024-01-15 01:22:52 +01:00
Simon Lübeß ceb4241216 ScriptGlue: Added Log.Exception
- Also pushed missing List Editor fix
2024-01-15 01:21:56 +01:00
Simon Lübeß 86139f870c ScriptCore: Cleanup and refactoring
A bit of nullable stuff
2024-01-07 23:56:44 +01:00
Simon Lübeß bfc9d4a0a5 Save and Load script data from files 2024-01-07 18:35:33 +01:00
Simon Lübeß a302a26f80 Moved SerializationType and Object to separate files 2024-01-06 13:27:24 +01:00
Simon Lübeß a4c311c2e4 Implemented Entity and Component Drop-Targets and added Name property for entities
- Also fixed non generic GetComponent
- Use UUID as Drag-Drop value for entities
- Removed unused methods from ComponentEditWindow
- Started a marginally type-safe version of ImGui.Payload
2023-12-26 02:00:44 +01:00
Simon Lübeß 2f86f751a4 Serialize Enums (and maybe Entitiy/Component refs) 2023-12-25 21:46:19 +01:00
Simon Lübeß acefbb58bd Serialize/Deserialize simple classes 2023-12-25 20:08:48 +01:00
Simon Lübeß abb119589c Reload scripts in Play Mode!!!
- Dont serialize static fields
- Added some profiling to ScriptEngine
- Removed superseded ScriptFieldMaps
2023-12-24 01:33:48 +01:00
Simon Lübeß d0f0a34247 Start of Script Instance deserialization
- Also deserialize when stopping the game to restore pre play state
- Fixed ancient bug where ClearDictionaryAndDeleteKeys falsly deletes the dictionary
- Added ClearDictionaryAndDeleteValues helper mixin
2023-12-24 01:30:01 +01:00
Simon Lübeß c9116812b4 Serialize Data 2023-12-23 00:44:04 +01:00
Simon Lübeß 945a0e5603 Fixed Half 2023-12-17 19:23:19 +01:00
Simon Lübeß 6a87d1ac09 ScriptCore: Use engine implementation of half to no longer rely on Half-Package 2023-12-17 18:47:07 +01:00
Simon Lübeß b884ee8303 Moved Components to their respective namespaces 2023-12-15 14:53:10 +01:00
Simon Lübeß e69e1b5526 Show Buttons in entity editor
- ScriptEngine: Added HasCustomAttribute- extension method
- ScriptEngine: Added Application class
2023-12-12 13:38:29 +01:00
Simon Lübeß bedbc696c3 ScriptCore: Added UUID.CreateNew 2023-12-10 12:50:11 +01:00
Simon Lübeß 2a4eac814b ScriptGlue: Changed signature of Entity_GetScriptInstance 2023-11-18 01:59:10 +01:00
Simon Lübeß 6f1467046d Tried EntityEditor in C# 2023-11-10 12:41:58 +01: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ß 7bffd01401 Rigidbody2D Get/Set Linear and Angular Velocity 2023-09-05 23:15:33 +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ß 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ß 3e55a1614a Shader like vectors for C# Scripting 2023-07-20 17:48:28 +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ß 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ß 5855b13873 Wer weiß, was ich alles so gemacht hatte...
- Fixed crash caused by early ScriptEngine shutdown
2023-05-30 16:50:22 +02:00
Simon Lübeß 4fd9a924a0 Added basic component access in Scripts 2023-03-29 16:32:46 +02:00