Ignacio Etcheverry
480d4c6fba
C#: Support type hints for exported Arrays
...
Added the code for Dictionary as well, but it's not yet supported by the Godot inspector.
2019-04-06 12:14:43 +02:00
Ignacio Etcheverry
187e6ae26d
C#: Add marshalling support for IEnumerable and IDictionary
...
Added constructor that takes IEnumerable for Array and IEnumerable<T> for Array<T>.
Added constructor that takes IDictionary for Dictionary and IDictionary<TKey, TValue> for Dictionary<TKey, TValue>.
2019-04-06 12:14:37 +02:00
Ignacio Etcheverry
92b02cb027
C#: Some important Array and Dictionary interface changes
...
Array now implements IList instead of IList<object, object>.
Dictionary now implements IDictionary instead of IDictionary<object, object>.
2019-04-06 11:00:40 +02:00
Chaosus
55f3bd97a2
Added direction_to method to vectors
2019-04-05 17:09:57 +03:00
ForLoveOfCats
46e79e6fad
Mono: Makes GD.Convert take Variant.Type instead of int
2019-04-04 16:07:48 -04:00
Ignacio Etcheverry
0338e55a6e
Fix memory leak introduced in bb6814a
2019-04-02 22:56:17 +02:00
Rémi Verschelde
e3bd84fa57
Merge pull request #27485 from Faless/io/encode_decode_safety_pr
...
Safer encode/decode variant.
2019-04-01 17:00:40 +02:00
Fabio Alessandrelli
393e62b98a
Add object encoding param to serialization methods
...
Network peers get_var/put_var
File get_var/store_var
GDScript/Mono/VisualScript bytes2var/var2bytes
Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding.
Break ABI compatibaility (API compatibility for GDNative).
2019-04-01 15:53:19 +02:00
Ignacio Etcheverry
bb6814aef0
C#: Add DynamicGodotObject class
...
Expands to Object.call, Object.set and Object.get for accessing members. This means it can also access members from scripts written in other languages, like GDScript.
2019-03-29 00:53:48 +01:00
Ignacio Roldán Etcheverry
65487ed4ed
Merge pull request #26746 from shartte/godot-trace-listener
...
Add a custom TraceListener on Startup for Mono
2019-03-08 07:05:41 +01:00
Sebastian Hartte
37d448fca7
Added a Godot TraceListener, which is automatically installed on startup. Fixes that Debug/Trace Assertions are simply swallowed by Godot.
2019-03-07 21:00:19 +01:00
Chaosus
752055ccba
Fix division by zero at wrap functions in mono
2019-03-07 22:57:12 +03:00
Ignacio Etcheverry
b69569415f
Merge pull request #26411 from neikeq/issue-26195
...
C#: Add Array.Resize(int) method
2019-02-28 18:53:14 +01:00
Ignacio Etcheverry
32cd8ba9bd
C#: Add Array.Resize(int) method
2019-02-28 18:33:42 +01:00
marxin
e5f665c718
Fix -Wsign-compare warnings.
...
I decided to modify code in a defensive way. Ideally functions
like size() or length() should return an unsigned type.
2019-02-27 07:45:57 +01:00
Ignacio Etcheverry
da3776a40a
C#: Fix Vector2.AngleToPoint
...
Fixes #26209
2019-02-23 23:28:31 +01:00
Ignacio Etcheverry
2c26e7f174
C#: Basis fixes and cleanup
...
Fix Basis operator[int]. Now it returns columns instead of rows.
Fix Transform2D.AfficeInverse() mutating rather than returning a new Transform2D.
2019-02-23 18:22:30 +01:00
Ignacio Etcheverry
0826b79035
C#: Make GD.Range return IEnumerable instead of array
...
- Make NodePath and RID sealed classes.
- Renamed rand_range to RandRange.
2019-02-19 18:46:18 +01:00
Ignacio Etcheverry
29fd942dd6
Merge pull request #26039 from neikeq/throw_objectdisposedexception
...
C#: Throw ObjectDisposedException from disposed wrapper classes
2019-02-19 01:02:20 +01:00
Ignacio Etcheverry
e1f01bf2ac
Merge pull request #26038 from neikeq/csharp_rand_funcs
...
C#: Add random functions to GD class
2019-02-19 00:52:01 +01:00
Ignacio Etcheverry
efd5d4bcf9
C#: Throw ObjectDisposedException from disposed wrapper classes
2019-02-19 00:37:15 +01:00
Ignacio Etcheverry
ce67808818
C#: Add random functions to GD class
2019-02-19 00:35:19 +01:00
RomanAkberov
041a7bbeba
C#: fix Quat.Equals.
2019-02-19 01:01:05 +07:00
Rémi Verschelde
55ca2a7c88
Merge pull request #25821 from akien-mga/sync-class-and-filenames
...
Ensure classes match their header filename
2019-02-13 08:49:39 +01:00
Aaron Franke
f97eb6d881
[Mono] Fix Transform2D rotation and scale
2019-02-12 17:59:29 -05:00
Rémi Verschelde
b7cc2bb1e2
Core: Ensure classes match their header filename
...
Also drop some unused files.
Renamed:
- `core/dvector.h` -> `pool_vector.h`
- `core/io/resource_import.h` -> `resource_importer.h`
- `core/sort.h` -> `sort_array.h`
- `core/string_db.h` -> `string_name.h`
Dropped:
- `core/allocators.h`
- `core/os/shell.h`
- `core/variant_construct_string.cpp`
2019-02-12 13:34:25 +01:00
Carter Anderson
22bf89e970
Use "origin" instead of "o" in Transform2D.Rotation
2019-02-11 23:46:55 -08:00
Aaron Franke
25a90bcf1a
[Mono] Fix Transform2D origin
2019-02-09 14:56:14 -05:00
Ignacio Etcheverry
3233083f63
Mono: Lifetime fixes for CSharpInstance and instance binding data
...
Avoid CSharpInstance from accessing its state after self destructing (by deleting the Reference owner).
It's now safe to replace the script instance without leaking or crashing.
Also fixed godot_icall_Object_weakref return reference being freed before returning.
2019-02-03 06:47:25 +01:00
Rémi Verschelde
b16c309f82
Update copyright statements to 2019
...
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Kelly Thomas
a5e38586ce
fix capitalization for antiquewhite
2018-12-23 08:00:35 +08:00
Kelly Thomas
09496d93b1
[Mono] Color - add ColorN(), Colors - add named color properties
2018-12-21 15:01:32 +08:00
Ignacio Etcheverry
f6f2be7577
Fix crash due to ~CSharpInstance() being called on freed instance
...
This would be the case when calling SetScript on an object with a C# script.
2018-12-01 02:28:24 +01:00
Ignacio Etcheverry
d275d848b3
C#: Replace calls to old of old Basis(Vec3,Vec3,Vec3) constructor
2018-11-20 22:23:09 +01:00
Rémi Verschelde
173b342ca7
Remove trailing whitespace
...
With `sed -i $(rg -l '[[:blank:]]*$' -g'!thirdparty') -e 's/[[:blank:]]*$//g'`
(+ manual revert of some thirdparty code under `platform/android`).
2018-11-20 11:15:02 +01:00
Ignacio Etcheverry
5712daf2d9
Merge pull request #23833 from neikeq/hh
...
C#: Fix Basis(Vec3,Vec3,Vec3) constructor
2018-11-20 06:13:29 +01:00
Ignacio Etcheverry
bf94eed60c
C#: Fix Basis(Vec3,Vec3,Vec3) constructor
...
Now it sets axes in order to match GDScript implementation.
2018-11-20 02:08:22 +01:00
Michael Alexsander Silva Dias
92342690f7
Rename "Log*()" functions to "Push*()" in C#
2018-10-31 15:40:38 -03:00
Ben Rog-Wilhelm
f2476f8a7c
Add new log functions for C#.
2018-10-25 20:32:50 -07:00
Ignacio Etcheverry
b63e518ce9
Mono: Fix crash on NodePath/RID disposal during Godot shutdown
2018-10-06 23:00:18 +02:00
Ignacio Etcheverry
b5aa5bca12
Fix C# API assembly build errors in generics
2018-10-05 19:39:11 +02:00
zochris
4a11864968
loosen generic guard on method for ResourceLoader
...
For more details see #22658
2018-10-05 15:32:33 +02:00
zochris
b84992e374
loosen generic guard on Node extension methods
...
For more details see #22658
2018-10-05 15:06:05 +02:00
Ignacio Etcheverry
50fd5ef3b5
Mono: Fix not creating generic Array or Dictionary where expected
2018-09-27 00:11:31 +02:00
Kelly Thomas
d4b2423428
[Mono] implement Transform.InterpolateWith()
2018-09-15 13:08:21 +08:00
Fabio Alessandrelli
d6b31daec6
Rename slave keyword to puppet
...
The slave keyword will still be available as deprecated in 3.1 but will
be dropped from future releases.
2018-09-15 00:06:03 +02:00
Ignacio Etcheverry
995a40e8ef
Move modules/mono/glue/cs_files to modules/mono/glue/Managed/Files
...
Added dummy MSBuild project and solution to get tooling help when editing these files.
2018-09-12 22:03:36 +02:00
Ignacio Etcheverry
e558e1ec09
Fix/workaround for issue #21667
...
When a Reference managed instance is garbage collected and its finalizer is called, it could happen that the native instance is referenced once again before the finalizer can unreference and memdelete it. The workaround is to create a new managed instance when this happens (at least for now).
2018-09-12 03:24:08 +02:00
Ignacio Etcheverry
b1356a3590
Cleanup of c# api files and bindings generator
...
- We no longer generate RID and NodePath C# classes. Both will be maintained manually.
- We no longer generate C# declarations and runtime registration of internal calls for the following classes: RID, NodePath, String, GD, SignalAwaiter and Godot.Object (partial base).
- We no longer auto-generate the base members of Godot.Object. They will be maintained manually as a partial class.
This makes it easier to maintain these C# classes and their internal calls, as well as the bindings generator which no longer generates C# classes that don't derive from Godot Object, and it no longer generates the Godot.Object base members (which where unreadable in the bindings generator code).
- Added missing 'RID(Object from)' constructor to the RID C# class.
- Replaced MONO_GLUE_DISABLED constant macro with MONO_GLUE_ENABLED.
- Add sources in module/mono/glue even if glue is disabled, but surround glue files with ifdef MONO_GLUE_ENABLED.
2018-09-12 03:23:45 +02:00
Aaron Franke
627ed98ed1
[Mono] Various style changes and naming standardization
2018-09-10 15:22:10 -04:00
Aaron Franke
4743852466
[Mono] Tabs -> Spaces
2018-09-10 15:12:49 -04:00
Ignacio Etcheverry
78bb53f85d
Merge pull request #21205 from KellyThomas/c-sharp-feature-parity-quat
...
[Mono] Quat - add some missing constructors and methods
2018-08-27 16:18:09 +02:00
exts
035d498af2
Added Collections namespace to Array & Dictionary
2018-08-25 17:19:37 -05:00
Kelly Thomas
a941684590
mono: Quat - add some missing constructors and methods
2018-08-24 07:56:54 +08:00
Aaron Franke
514856d8c7
[Mono] Move several small related files
2018-08-23 12:50:04 -04:00
Kelly Thomas
46207ae7aa
[Mono] AABB - Position, Size, End setters, Rect2 - End setter
2018-08-23 23:45:18 +08:00
Rémi Verschelde
1e729630d6
Merge pull request #21240 from aaronfranke/mono-project-vector
...
[Mono] Vector2/3 Project methods
2018-08-23 08:59:26 +02:00
Ignacio Etcheverry
980b81dd2a
Merge pull request #21174 from KellyThomas/c-sharp-feature-parity-rect2
...
[Mono] Rect2 - add Abs(), rename private fields
2018-08-22 22:34:45 +02:00
Aaron Franke
434973fb83
[Mono] Vector2/3 Project methods
2018-08-22 13:27:35 -04:00
Rémi Verschelde
a319d72071
Merge pull request #21253 from aaronfranke/plane-constants
...
Rename Plane constants, add to Mono
2018-08-21 21:16:41 +02:00
Rémi Verschelde
2969dffbe3
Deprecate incorrect Color::gray()
...
This average is not a proper approximation of a grayscale value,
get_v() is better suited for that.
If we want a real to_grayscale() conversion, it's somewhat more
involved: https://en.wikipedia.org/wiki/Grayscale
Remove the deprecated Gray() from C# bindings as it conflicts
with new named color constants.
2018-08-21 17:48:31 +02:00
Aaron Franke
a986686ac4
Rename Plane constants, add to Mono
...
But I'm not tagging PR as [Core] or [Mono] due to it being a minor change anyway.
2018-08-21 01:35:07 -04:00
Kelly Thomas
792a8446ac
mono: add Abs() to Rect2 and rename private fields
2018-08-19 19:18:12 +08:00
Ignacio Etcheverry
7287300433
Mono: Improve C# core files (glue/cs_files) buildsystem
...
- Search C# files recursively in 'glue/cs_files'.
- Determine a version for the C# core files automatically. The latest modified time will do for now.
2018-08-17 13:51:55 +02:00
Rémi Verschelde
4548ec4a49
Merge pull request #20945 from neikeq/dict-erase-retbool
...
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-15 01:08:23 +02:00
Kelly Thomas
815d08f10c
mono: add constants to transform and vector structs
2018-08-15 02:03:36 +08:00
Ignacio Etcheverry
21d285e30f
Dictionary: remove erase_checked(key), make erase(key) return bool
2018-08-14 19:19:05 +02:00
Ignacio Etcheverry
d7b9fcd336
Merge pull request #20890 from KellyThomas/mono-is-instance-valid
...
mono: add IsInstanceValid(), move WeakRef()
2018-08-14 18:12:18 +02:00
Kelly Thomas
9341129d14
mono: add IsInstanceValid(), move WeakRef()
2018-08-14 15:48:54 +08:00
Ignacio Etcheverry
c4e75aa63a
Merge pull request #20706 from mysticfall/issue-20705
...
Add missing GetPtr() for Dictionary<> and Array<>
2018-08-13 22:37:09 +02:00
Xavier Cho
5d2c239772
Add missing GetPtr() for Dictionary<> and Array<>
...
Add missing GetPtr() method for generic versions of Dictionary
and Array to fix #20705 .
2018-08-04 14:34:55 +09:00
exts
cdb4ae471b
Added generic method for ResourceLoader: Load<T>()
2018-08-03 13:40:42 -05:00
Paul Joannon
877ea882ce
Add missing methods to Node class in the mono glue
...
* GetNodeOrNull<T>
* GetChild<T>
* GetChildOrNull<T>
* GetOwner<T>
* GetOwnerOrNull<T>
* GetParent<T>
* GetParentOrNull<T>
2018-07-27 08:50:35 +02:00
Aaron Franke
e3368d692d
[Mono] Fix Color incorrect ordering of int export methods, added 64-bit
...
[Mono] Fix Color incorrect ordering of int export methods, added 64-bit long export methods.
2018-07-25 15:34:24 -05:00
Ignacio Etcheverry
fe28e323b3
Merge pull request #20298 from PJB3005/18-07-20-mono-partial-api-ext
...
Makes Mono binding classes partial & adds GetNode<T>.
2018-07-25 18:03:57 +02:00
Ignacio Etcheverry
779c9d638e
Merge pull request #15880 from neikeq/better-collections
...
Mono: Add Dictionary and Array classes
2018-07-23 23:59:04 +02:00
Aaron Franke
174cf31d00
[Mono] Improvements to GD.cs: PascalCasing and real_t
...
[Mono] Improvements to GD.cs: PascalCasing and real_t
2018-07-21 16:40:46 -05:00
Pieter-Jan Briers
a8c97eb094
Makes Mono bindings partial & adds GetNode<T>.
2018-07-20 13:55:13 +02:00
Ignacio Etcheverry
ee3c476c9a
Add Array and Dictionary wrapper classes to C#
2018-07-20 01:44:30 +02:00
oisincar
7a4d593198
Fix bug with Basis.Transposed()
...
Fix bug where Basis.Transposed() incorrectly updated local basis, and
returned an unmodified copy. This also fixes Transform.Inverse().
2018-07-19 00:17:45 +01:00
Ignacio Etcheverry
d4f860c768
Merge pull request #19231 from aaronfranke/mono-fposmod-to-mod
...
[Mono] Rename Fposmod to PosMod, fix output
2018-07-05 01:05:44 +02:00
Aaron Franke
5b2b23c9a9
[Mono] Rename Fposmod to PosMod
...
[Mono] Rename Fposmod to PosMod
2018-06-27 00:58:24 -05:00
Nathan Warden
c2315e3291
Lerp now consistent with Godot API. InverseLerp fixed.
2018-06-24 17:52:17 -05:00
Fabio Alessandrelli
8e35d937a9
New sync keywords in GDScript, NativeScript, Mono
2018-05-29 20:26:41 +02:00
Max Hilbrunner
4c69a495c9
Revert "RPCMode refactor, more sync modes"
2018-05-29 11:47:52 +02:00
Fabio Alessandrelli
a5e8a3be5e
New sync keywords in GDScript, NativeScript, Mono
2018-05-26 10:49:33 +02:00
Rémi Verschelde
17faf11119
Merge pull request #19063 from KellyThomas/c-sharp-feature-parity-vectors
...
mono: Add Slerp method to vector classes, expose Cross method for Vector2
2018-05-25 09:44:03 +02:00
Kelly Thomas
b335274bcd
mono: add Slerp method to vector classes, expose Cross method for Vector2, and fix unnecessary casts in Basis
2018-05-22 08:27:49 +08:00
Kelly Thomas
c7e98eef67
Fix index out of range error in string.Extension()
2018-05-21 18:48:53 +08:00
Rémi Verschelde
228b09bafb
Merge pull request #18974 from KellyThomas/c-sharp-feature-parity-basis
...
Mono: Basis constructor for euler parameter
2018-05-18 21:09:57 +02:00
Ignacio Etcheverry
fc90f41f53
Merge pull request #18975 from KellyThomas/c-sharp-feature-parity-color
...
mono: New Color methods: Darkened, Lightened and ToRgba32
2018-05-18 20:09:01 +02:00
Kelly Thomas
16e1b4bacf
mono: Plane, expose Normal, and D
2018-05-17 23:04:20 +08:00
Kelly Thomas
88bd33f451
mono: New Color methods: Darkened, Lightened and ToRgba32
2018-05-17 21:41:19 +08:00
Kelly Thomas
c26d30986a
Mono: Basis constructor for euler parameter
2018-05-17 21:31:14 +08:00
Ignacio Etcheverry
41f79a6f14
Merge pull request #18889 from madadam/async-await-fix
...
Set current SynchronizationContext before the game loop starts
2018-05-16 23:44:55 +02:00
Guilherme Felipe
35024d4e7b
Add missing copyright headers
2018-05-16 14:50:44 -03:00
Adam Cigánek
f25240cfe6
Set current SynchronizationContext before the game loop starts
...
This fixes the problem that `SynchronizationContext.Current` would be null
during the call to `_EnterTree`, `_Ready` and the first call to `_Process` thus
the task continuations would be scheduled outside the main thread, which is unexpected and might lead to crashes.
With this change, task continuations are scheduled always on the main thread and so async/await can be used without any explicit synchronization, which is what is expected.
Fixes #18849
2018-05-15 15:09:40 +02:00
Kelly thomas
a6bd2c6e72
round / ceil methods for c sharp vectors
2018-05-04 20:17:10 +08:00
Xavier Cho
6b611e6431
#18051 : Fix indentation issues introduced during clean up
2018-04-17 07:53:27 +09:00
Xavier Cho
e59fad3924
#18051 : Do not use `var` in a for-loop, or where type is not obvious
2018-04-17 07:39:37 +09:00