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ß
b884ee8303
Moved Components to their respective namespaces
2023-12-15 14:53:10 +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ß
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ß
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ß
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ß
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ß
6f1467046d
Tried EntityEditor in C#
2023-11-10 12:41:58 +01: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ß
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ß
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ß
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ß
5d8c1b111a
Project user settings, load recent scenes, properly cleanup ScriptEngine when switching scenes
2023-07-31 20:09:56 +02:00
Simon Lübeß
df67f32399
Start of project system
...
+ added Directory.IsEmpty
2023-07-30 13:23:34 +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ß
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ß
457b43352a
Debugging, but it doesn't work for some reason
2023-07-21 16:16:24 +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
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