Ignacio Etcheverry
0b814ea78d
Mono/C#: Optimize the way we store GC handles for scripts
...
Don't store GC handles for C# script instances and instance bindings as 'Ref<MonoGCHandle>'; store the raw data instead. Initially this was not possible as we needed to store a Variant, but this had not been the case for a looong time yet the stored type was never updated.
2020-03-17 21:51:05 +01:00
Ignacio Etcheverry
6a85cdf640
Fix C# bindings after recent breaking changes
...
Implementation for new Variant types Callable, Signal, StringName.
Added support for PackedInt64Array and PackedFloat64Array.
Add generation of signal members as events, as well as support for
user created signals as events.
NOTE: As of now, raising such events will not emit the signal. As such,
one must use `EmitSignal` instead of raising the event directly.
Removed old ThreadLocal fallback class. It's safe to use thread_local now since
it's supported on all minimum versions of compilers we support.
2020-03-17 16:30:04 +01:00
Ignacio Etcheverry
1b634785b5
C#: Replace uses of old Configuration and update old csprojs
2020-03-14 19:01:29 +01:00
Rémi Verschelde
6635e25b2c
Merge pull request #36842 from Phischermen/mono-resource-loader-extension-update
...
Mono/C#: Add missing parameters to 'ResourceLoader.Load<T>()'
2020-03-06 22:54:11 +01:00
Phischermen
1b0819bd59
Added parameters to Load()
2020-03-06 13:41:35 -08:00
Raul Santos
6b9c22542f
Fix missing null check in Mono Binding of GD.print
2020-03-02 16:26:29 +01:00
Juan Linietsky
69c95f4b4c
Reworked signal connection system, added support for Callable and Signal objects and made them default.
2020-02-20 08:24:50 +01:00
Rémi Verschelde
213a85521d
doc: Sync classref with current source
...
Handle removal of Pool*Array types and other recent changes.
2020-02-18 14:02:02 +01:00
Rémi Verschelde
702976cd7a
Mono: Fix build after ObjectID and Texture2D changes
2020-02-18 11:36:48 +01:00
Juan Linietsky
3205a92ad8
PoolVector is gone, replaced by Vector
...
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are
sugar for `Vector<Type>`.
2020-02-18 10:10:36 +01:00
Rémi Verschelde
54ac8eaba6
Remove more deprecated methods and code
2020-02-13 12:37:45 +01:00
Rémi Verschelde
1f39a2d3e6
Remove deprecated sync and slave networking keywords
...
Those keywords were deprecated for 3.1 in #22087 .
Also fix token name for `TK_REMOTE`, should be "remote" like the keyword.
2020-02-13 08:59:36 +01:00
Aaron Franke
0a39c7b354
[Mono] Basis/Transforms Array operator comments and improvements
...
The behavior for Basis and Transform2D is unchanged, and Transform gets new behavior. All of the behavior is identical to GDScript's behavior.
2020-02-10 12:20:04 -05:00
Rémi Verschelde
cedf9f68b1
Merge pull request #35649 from aaronfranke/color-unsigned
...
Use uint/ulong for Color in C#
2020-02-09 13:35:05 +01:00
Raul Santos
4b79ef5ebe
Avoid going out of bounds in IsSubsequenceOf
...
Closes #35598
2020-02-08 12:07:41 +01:00
Marcel Admiraal
f0db13502a
Remove duplicate WARN_PRINT macro.
2020-02-05 11:13:24 +01:00
Marcel Admiraal
5af3b4ca27
Remove duplicate ERR_PRINT macro.
2020-02-05 11:13:24 +01:00
Fabián L
f595486076
Fixed GetNodeOrNull<T>
...
GetNodeOrNull<T> was using GetNode instead of GetNodeOrNull
2020-01-29 14:54:40 -03:00
Aaron Franke
d49e8af8de
Use uint/ulong for Color in C#
2020-01-29 12:53:13 -05:00
Ignacio Etcheverry
82b0899e54
Mono/C#: Add Basis.Slerp, update Quat.Xform and add some math checks
2020-01-23 16:13:28 +01:00
Ignacio Etcheverry
a6a5ef0fd6
Mono/C#: Add error checks to detect possible Reference leaks
2020-01-13 21:00:07 +01:00
Aaron Franke
68ba2588b8
[Mono] Color arithmetic operators
2020-01-03 06:00:14 -05:00
Aaron Franke
0b3f1cc70a
[Mono] Make Sign methods consistent with GDScript and System.Math
2020-01-02 16:41:41 -05:00
Ignacio Etcheverry
844a8d215b
Mono/C#: Make 'GD.Print' and its variants fallback to 'ToString()'
...
Up until now, 'GD.Print' would convert parameters first to
Variant and only then to String. This meant parameters that cannot be
converted to Variant would be printed as "Null".
This commit makes 'GD.Print' fallback to 'System.Object.ToString()'
if the parameter could not be converted to Variant.
The same applies to all 'GD.Print' variants:
'GD.PrintS', 'GD.PrintT', 'GD.PrintErr' and 'GD.PrintRaw'.
2020-01-02 13:54:20 +01:00
Ignacio Etcheverry
ea75ea50d2
Mono/C#: Fix GD.PrintErr now showing in the Output panel
2020-01-02 13:13:22 +01:00
Rémi Verschelde
a7f49ac9a1
Update copyright statements to 2020
...
Happy new year to the wonderful Godot community!
We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.
Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Ignacio Etcheverry
86274b9fc9
Mono/C#: Re-structure API solution and GodotTools post-build target
...
Previously we had a placeholder solution called 'Managed' to benefit from
tooling while editing the a part of the C# API.
Later the bindings generator would create the final 'GodotSharp' solution
including these C# files as well as the auto-generated C# API.
Now we replaced the 'Managed' solution with the final 'GodotSharp' solution
which is no longer auto-generated, and the bindings generator only takes
care of the auto-generated C# API.
This has the following benefits:
- It's less confusing as there will no longer be two versions of the same file
(the original and a generated copy of it). Now there's only one.
- We no longer need placeholder for auto-generated API classes, like Node or
Resource. We used them for benefiting from tooling. Now we can just use the
auto-generated API itself.
- Simplifies the build system and bindings generator. Removed lot of code
that is not needed anymore.
Also added a post-build target to the GodotTools project to copy the output to
the data dir. This makes it easy to iterate when doing changes to GodotTools,
as SCons doesn't have to be executed anymore just to copy these new files.
2019-12-28 20:48:55 +01:00
Ignacio Etcheverry
20d7013c60
Mono/C#: Fix project export and fix FindLast/GetFile regression
...
d09193b08a
introduced a regression in
StringExtensions.FindLast. StringExtensions.GetFile was also affected as it
relies on FindLast. This in turn broke the project exporter as it uses GetFile.
The cause of the regression is that now FindLast is calling LastIndexOf
with 'startIndex: 0'. This should be 'startIndex: str.Length - 1' instead.
Also fixed another regression in the project exporter:
de7c2ad21b
moved 'GodotTools/GodotSharpExport.cs'
to 'GodotTools/Export/ExportPlugin.cs' and in doing so accidently reverted
the changes from commit e439581198
.
2019-12-17 13:06:41 +01:00
Rémi Verschelde
d39284a65f
Merge pull request #34295 from aaronfranke/potato-knishes
...
[Mono] Fix string Find methods having reversed case sensitivity
2019-12-13 08:47:26 +01:00
Aaron Franke
d09193b08a
Fix string Find methods having reversed case sensitivity
2019-12-12 02:21:16 -05:00
Aaron Franke
5771f9959c
Mono formatting
...
No space for casting, add spaces inside braces, 4 space indentation, remove trailing indentation, remove BOM.
2019-12-11 16:32:47 -05:00
Jonas
11258db001
Fix missing null checks in Mono Binding of GD
...
The print methods of mono binding was missing null checks for the params
2019-12-06 11:56:50 +01:00
Ignacio Etcheverry
3797f19926
C#: Add Duplicate method to the Array and Dictionary bindings
2019-12-04 15:22:30 +01:00
Ignacio Etcheverry
008769aee9
C#: Throw NullReferenceException for null NodePath/RID params
2019-11-18 12:23:54 +01:00
Ignacio Etcheverry
de7c2ad21b
Mono/C#: WebAssembly support
2019-11-13 21:41:11 +01:00
Rémi Verschelde
77816fea8b
Merge pull request #32477 from aaronfranke/equal-approx-separate
...
Make is_equal_approx separate and make == exact again
2019-11-07 14:54:15 +01:00
Aaron Franke
4922a48a9e
[Mono] Alphabetize Mathf
2019-10-29 10:10:24 -04:00
Aaron Franke
218f38c7ec
Expose is_equal_approx and restore == to be exact again
...
This commit changes behavior for GDScript and C#.
Also did some organizing of the order to logically group related methods, mostly for Rect2 and AABB.
2019-10-14 16:48:59 -04:00
Aaron Franke
86922ff70b
Make is_equal_approx separate for structures
...
This commit adds exposed behavior for C#
2019-10-14 16:46:54 -04:00
Aaron Franke
643874f8ca
[Mono] Change Plane intersect methods to return nullable Vector3
2019-10-08 22:47:22 -04:00
Chaosus89
46bb523db7
[Mono] Corrected rectangle intersection
2019-09-16 09:49:04 +03:00
Aaron Franke
f8b4cf0fc4
Check for exact equality before approximate equality
2019-09-01 14:02:14 -04:00
Aaron Franke
34ab6549b1
[Mono] Various Color improvements
...
I also slid in a fix to C++ Vector3 > and >=
2019-08-27 22:05:18 -04:00
Ignacio Etcheverry
3af8bd071e
Set C# 7 as LangVersion for GodotTools and Godot API projects
...
This will make it harder for someone to accidentally commit code that requires a newer version.
2019-08-25 15:53:47 +02:00
Aaron Franke
092346d82b
Add Vector2/3 sign and posmod functions, misc additions
...
Also make the docs more consistent, add Axis enum to Vector2, add > and >=. and C# also gets % and an override for vector-vector mod.
2019-08-17 18:31:55 -04:00
Rémi Verschelde
8995d95da0
Merge pull request #31347 from neikeq/monodevelop-addin
...
C#: Add Ide Connection library and server for the editor
2019-08-14 11:39:41 +02:00
Aaron Franke
85f13a0d24
Add Basis constants and format Transform constants
2019-08-09 11:34:54 -07:00
Ignacio Etcheverry
c55ce204b3
Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in 'modules/mono'
...
And 'CRASH_*_MSG' as well.
Also make error messages puntuation and quotation more consistent.
2019-08-09 12:13:21 +02:00
Aaron Franke
50fd2deede
[Mono] Make all structs seralizable
2019-08-07 18:34:52 -07:00
Aaron Franke
a9c10450bd
[Core] [Mono] Optimize Wrap functions
...
Use is_zero_approx(), avoid a negative, and also rename "rng" to "range".
2019-08-04 20:38:38 -07:00
Ignacio Etcheverry
57fe284fe6
C#: Fix Color.ToHtml()
2019-08-04 05:04:39 +02:00
Ignacio Etcheverry
0b94203a79
C#: Add Ide Connection library and server for the editor
...
This will be used for communicating between the Godot editor and external IDEs/editors, for things like opening files, triggering hot-reload and running the game with a debugger attached.
2019-08-04 01:57:53 +02:00
Aaron Franke
7dbbb5eac7
[Mono] Deprecate Set methods
...
These silently fail, so they should be removed. I accidentally added most of these last year, trying to make everything else consistent with Quat, sorry!
Also, a few tiny nitpicking changes are included, like whitespace and misspellings.
2019-07-28 17:49:22 -04:00
Ignacio Etcheverry
d54df7b904
C#: Fix Transform2D.AffineInverse()
2019-07-27 02:15:29 +02:00
Chaosus
080c0bb7fe
Added count method to String
2019-07-23 18:55:54 +03:00
Chaosus
6694c119d0
Added lerp_angles built-in function
...
Co-authored-by: Xrayez <https://github.com/Xrayez >
Co-authored-by: DleanJeans <https://github.com/DleanJeans >
2019-07-20 12:59:41 +03:00
Ignacio Etcheverry
aa3b8f7dbb
Fix Godot.Object.ToString() infinite recursion
...
Should not be using Variant to String conversion as that would call ToString() again
2019-07-08 18:07:20 +02:00
Ignacio Etcheverry
270af6fa08
Re-write mono module editor code in C#
...
Make the build system automatically build the C# Api assemblies to be shipped with the editor.
Make the editor, editor player and debug export templates use Api assemblies built with debug symbols.
Always run MSBuild to build the editor tools and Api assemblies when building Godot.
Several bugs fixed related to assembly hot reloading and restoring state.
Fix StringExtensions internal calls not being registered correctly, resulting in MissingMethodException.
2019-07-05 09:38:23 +02:00
Ignacio Etcheverry
3abe6961dc
Mono: Fix Array IndexOutOfRangeException not being thrown
2019-07-03 17:56:08 +02:00
Ignacio Etcheverry
14df9e5cb2
Android build and export for the mono module
2019-06-03 17:09:24 +02:00
Rémi Verschelde
3c4fab295b
Merge pull request #27789 from Giacom/move_towards
...
Added move_toward functions for float, Vector2 and Vector3
2019-06-01 12:05:18 +02:00
Giacom
c00427add3
Added move_toward functions for float, Vector2 and Vector3
2019-05-28 11:39:35 +01:00
Rémi Verschelde
7487d2f852
Merge pull request #28957 from aaronfranke/basis-optimize
...
Optimize Basis constructor for Axis Angle
2019-05-27 17:42:43 +02:00
Aaron Franke
19786f77ef
[Mono] Change Atan2 arguments to Y X
2019-05-26 03:15:56 -04:00
Aaron Franke
7b6473fec5
[Mono] Misc Basis and AABB improvements
2019-05-22 15:23:51 -04:00
Ignacio Roldán Etcheverry
e2375f487c
Merge pull request #29079 from neikeq/oopsie
...
Fix C# build error in MarshalUtils debug code
2019-05-21 19:54:34 +02:00
Ignacio Roldán Etcheverry
9c45432309
Merge pull request #29052 from neikeq/fixes-28667------i-think
...
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 19:15:32 +02:00
Ignacio Etcheverry
9b76c56098
Fix C# build error in MarshalUtils debug code
2019-05-21 19:09:00 +02:00
Ignacio Etcheverry
66b930a266
Replace call to 'mono_runtime_object_init' with manual ctor invoking
2019-05-21 00:06:04 +02:00
Rémi Verschelde
e0574e1d98
Fix typos with codespell
...
Using codespell 1.15.0.
Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
doubleclick
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF
$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2019-05-19 13:10:35 +02:00
Ignacio Etcheverry
5a4bf4f369
C#: Marshalling support for IEnumerable<> and IDictionary<,>
...
Also fixed the hint string of exported members.
2019-05-18 19:39:56 +02:00
Aaron Franke
9ff708f008
Optimize Basis constructor for Axis Angle
2019-05-17 05:11:12 -04:00
Aaron Franke
620ec4703f
Make "decimal" functions more consistent
...
In GDScript, rename "decimals" to "step_decimals". In C#, add "StepDecimals", but keep the old functionality in a method called "DecimalCount".
2019-04-30 13:49:17 -04:00
Rémi Verschelde
554c0ea90b
Merge pull request #28423 from neikeq/dont-forget-to-think-a-name-for-this-branch
...
C#: Deprecate accessor methods and generate correct int and float types
2019-04-29 16:56:25 +02:00
Ignacio Etcheverry
3380565e4b
C#: Generate the correct integer and floating point types
2019-04-27 01:30:46 +02:00
Aaron Franke
c577ec6ae4
[Mono] Approximate equality
2019-04-25 13:20:29 -04:00
Ignacio Roldán Etcheverry
7be498499b
Merge pull request #27820 from ForLoveOfCats/master
...
Mono: Convert all items to string before printing
2019-04-20 04:12:22 +02:00
ForLoveOfCats
25f563c4c8
Mono: Convert all items to string before printing
2019-04-19 12:59:22 -04:00
Ignacio Etcheverry
2b9557c920
C#: Add missing ToString() override methods
...
Godot.Object, Array, Dictionary and RID were missing ToString() override methods
2019-04-18 14:48:13 +02:00
Rémi Verschelde
7f3373d79f
Merge pull request #27452 from Chaosus/direction_to
...
Added method to retrieve a direction vector from one point to another
2019-04-08 12:00:54 +02:00
Rémi Verschelde
d211aff777
Merge pull request #27231 from Chaosus/smoothstep
...
Added smoothstep built-in function
2019-04-08 10:03:42 +02:00
Chaosus
514a3fb96a
Added smoothstep built-in function
2019-04-07 14:11:26 +03:00
Ignacio Etcheverry
2f3328a039
Fix wrong method binds and registered class
2019-04-06 16:12:59 +02:00
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
Xavier Cho
94edd92248
#18051 : Use common name for Color type argument
2018-04-17 07:39:37 +09:00
Xavier Cho
f0bf5532fa
#18051 : Remove redundant verbatim prefixes
2018-04-17 07:39:37 +09:00
Xavier Cho
85787776a5
#18051 : Use default parameter value
2018-04-17 07:39:37 +09:00
Xavier Cho
b765c051cb
#18051 : Use array initializer when applicable
2018-04-17 07:39:37 +09:00
Xavier Cho
9097c71255
#18051 : Remove redundant parenthesis
2018-04-17 07:39:37 +09:00
Xavier Cho
93dd59d763
#18051 : Remove unnecessary variable assignments
2018-04-17 07:39:37 +09:00
Xavier Cho
fdfc478c88
#18051 : Use 'var' when applicable
2018-04-17 07:39:37 +09:00
Xavier Cho
0ef3e0577b
#18051 : Remove redundant casts and 'using', 'else', 'this' statements
2018-04-17 07:39:37 +09:00
Xavier Cho
9e2e6bb1e2
Remove duplicated declaration of RoundToInt() from Mathf
2018-04-17 07:39:37 +09:00
Chaosus
655a4e6540
[Mono] Improve Mathf
2018-04-13 20:15:49 +03:00
Alexander Alekseev
5677aed175
[mono] Fixes #17936 as GodotSharp (Core\Basic.cs) requires C#7 now, but we most probably should keep C#6 yet
2018-04-03 09:48:03 +03:00
Chaosus
d52722c6da
Added wrap functions to C#
2018-03-26 14:33:09 +03:00
Carter Anderson
91f271fa9e
Fix mono basis GetEuler bug and marshalling/unmarshalling
2018-03-24 13:45:11 -07:00
Ignacio Etcheverry
a8d8c06753
Merge pull request #17134 from aaronfranke/master
...
[Mono] Replace float with real_t, other misc C# improvements
2018-03-24 21:10:41 +01:00
Aaron Franke
ff97c97c93
Replace float with real_t, default Vectors, other misc C# improvements
...
Replace float with real_t in most files, defined at the top of each file via using. Objects such as Vector3 now accept doubles as inputs, and convert to real_t internally. I've added default Vectors such as Vector3.Zero. Other misc C# improvements such as Mathf.RoundToInt(). Color continues to use float only because high precision is not needed for 8-bit color math and to keep things simple. Everything seems to compile and work fine, but testing is requested, as this is the first time I've ever contributed to Godot.
2018-03-22 21:53:21 -05:00
Paul Joannon
d7020aef8d
[mono] rename functions to conform to PascalCase
...
in:
* StringExtensions.cs
* Transform.cs
2018-03-04 15:37:29 +01:00
Ignacio Etcheverry
f37090ccf4
Mono: Better versioning and gracefully unloading of Godot API assemblies
2018-02-25 20:56:27 +01:00