Commit Graph
614 Commits
Author SHA1 Message Date
Simon Lübeß 19d70c94e6 Added UUID.Zero 2024-01-15 01:16:30 +01:00
Simon Lübeß ba68eb7428 Editor: Show name of open scene in window title 2024-01-12 15:41:56 +01:00
Simon Lübeß 99a12a118c Fixed Script data for entity copying 2024-01-09 13:41:54 +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ß 34ddfc11f7 Update Submodule DirectX 2023-12-28 22:56:29 +01:00
Simon Lübeß 2fc45a50e0 ScriptCore: Fixed component and entity reference serialization 2023-12-28 22:40:59 +01:00
Simon Lübeß 2e82f24fd7 Initialize ScriptGlue whenever ScriptEngine loads assemblies 2023-12-26 02:01:14 +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ß 7bd69c162f Fixed serialization of null-strings 2023-12-25 18:58:06 +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ß a6f68a59d6 Moved basic ScriptEngine classes into separate object 2023-12-22 19:11:40 +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ß 64f7896c15 Updated ImGui to 1.90.1 2023-12-17 02:22:04 +01:00
Simon Lübeß b884ee8303 Moved Components to their respective namespaces 2023-12-15 14:53:10 +01:00
Simon Lübeß 66281ebddb Added icon for editor 2023-12-15 14:52:19 +01:00
Simon Lübeß ed756f5847 Fixed scripts OnUpdate not being called in play mode 2023-12-13 14:01:23 +01:00
Simon Lübeß 4a2635a8c3 ScriptCore: Moved Component + Doc 2023-12-13 14:00:27 +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ß 13cb043cf4 Removed TODOs related to native script component (which was removed) 2023-12-10 12:52:49 +01:00
Simon Lübeß bedbc696c3 ScriptCore: Added UUID.CreateNew 2023-12-10 12:50:11 +01:00
Simon Lübeß 1238a43896 Start and Stop script runtime for editor scene 2023-12-03 14:06:40 +01:00
Simon Lübeß 5852e11ccb Start of edit mode scripts
- Initialize script instances in edit mode
- Run OnCreate and OnUpdate for Entities with RunInEditMode-Attribute
2023-12-02 00:28:04 +01:00
Simon Lübeß 23b38a7a31 Removed references to nonexistent files/folders 2023-12-01 23:52:16 +01:00
Simon Lübeß dc551fb85c Remove native script component 2023-12-01 23:51:53 +01:00
Simon Lübeß 48cdcee8a8 Fixed null pointer exception in ShowScriptEditor when script component has no instance 2023-12-01 23:14:51 +01:00
Simon Lübeß df446188b6 Add support for strings and BoolX in script engine, show strings as textfields in editor 2023-12-01 23:13:30 +01:00
Simon Lübeß 881bb8ee51 Scriptengine: Support char-type 2023-11-22 00:55:07 +01:00
Simon Lübeß 05350d4768 Renamed EditfloatX to EditFloatX 2023-11-22 00:54:43 +01:00
Simon Lübeß f28eabf807 Fixed mono not finding assemblies like linq, etc. 2023-11-18 17:56:09 +01:00
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