Merge pull request #18053 from mysticfall/master
#18051: Clean up and reformat C# source files
This commit is contained in:
commit
3aaa5514d0
21 changed files with 363 additions and 441 deletions
|
@ -1,12 +1,10 @@
|
|||
using System;
|
||||
|
||||
// file: core/math/aabb.h
|
||||
// commit: 7ad14e7a3e6f87ddc450f7e34621eb5200808451
|
||||
// file: core/math/aabb.cpp
|
||||
// commit: bd282ff43f23fe845f29a3e25c8efc01bd65ffb0
|
||||
// file: core/variant_call.cpp
|
||||
// commit: 5ad9be4c24e9d7dc5672fdc42cea896622fe5685
|
||||
|
||||
using System;
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -51,12 +49,12 @@ namespace Godot
|
|||
Vector3 dst_min = with.position;
|
||||
Vector3 dst_max = with.position + with.size;
|
||||
|
||||
return ((src_min.x <= dst_min.x) &&
|
||||
(src_max.x > dst_max.x) &&
|
||||
(src_min.y <= dst_min.y) &&
|
||||
(src_max.y > dst_max.y) &&
|
||||
(src_min.z <= dst_min.z) &&
|
||||
(src_max.z > dst_max.z));
|
||||
return src_min.x <= dst_min.x &&
|
||||
src_max.x > dst_max.x &&
|
||||
src_min.y <= dst_min.y &&
|
||||
src_max.y > dst_max.y &&
|
||||
src_min.z <= dst_min.z &&
|
||||
src_max.z > dst_max.z;
|
||||
}
|
||||
|
||||
public AABB Expand(Vector3 to_point)
|
||||
|
@ -113,7 +111,7 @@ namespace Godot
|
|||
|
||||
public Vector3 GetLongestAxis()
|
||||
{
|
||||
Vector3 axis = new Vector3(1f, 0f, 0f);
|
||||
var axis = new Vector3(1f, 0f, 0f);
|
||||
real_t max_size = size.x;
|
||||
|
||||
if (size.y > max_size)
|
||||
|
@ -125,7 +123,6 @@ namespace Godot
|
|||
if (size.z > max_size)
|
||||
{
|
||||
axis = new Vector3(0f, 0f, 1f);
|
||||
max_size = size.z;
|
||||
}
|
||||
|
||||
return axis;
|
||||
|
@ -133,7 +130,7 @@ namespace Godot
|
|||
|
||||
public Vector3.Axis GetLongestAxisIndex()
|
||||
{
|
||||
Vector3.Axis axis = Vector3.Axis.X;
|
||||
var axis = Vector3.Axis.X;
|
||||
real_t max_size = size.x;
|
||||
|
||||
if (size.y > max_size)
|
||||
|
@ -145,7 +142,6 @@ namespace Godot
|
|||
if (size.z > max_size)
|
||||
{
|
||||
axis = Vector3.Axis.Z;
|
||||
max_size = size.z;
|
||||
}
|
||||
|
||||
return axis;
|
||||
|
@ -166,7 +162,7 @@ namespace Godot
|
|||
|
||||
public Vector3 GetShortestAxis()
|
||||
{
|
||||
Vector3 axis = new Vector3(1f, 0f, 0f);
|
||||
var axis = new Vector3(1f, 0f, 0f);
|
||||
real_t max_size = size.x;
|
||||
|
||||
if (size.y < max_size)
|
||||
|
@ -178,7 +174,6 @@ namespace Godot
|
|||
if (size.z < max_size)
|
||||
{
|
||||
axis = new Vector3(0f, 0f, 1f);
|
||||
max_size = size.z;
|
||||
}
|
||||
|
||||
return axis;
|
||||
|
@ -186,7 +181,7 @@ namespace Godot
|
|||
|
||||
public Vector3.Axis GetShortestAxisIndex()
|
||||
{
|
||||
Vector3.Axis axis = Vector3.Axis.X;
|
||||
var axis = Vector3.Axis.X;
|
||||
real_t max_size = size.x;
|
||||
|
||||
if (size.y < max_size)
|
||||
|
@ -198,7 +193,6 @@ namespace Godot
|
|||
if (size.z < max_size)
|
||||
{
|
||||
axis = Vector3.Axis.Z;
|
||||
max_size = size.z;
|
||||
}
|
||||
|
||||
return axis;
|
||||
|
@ -223,14 +217,14 @@ namespace Godot
|
|||
Vector3 ofs = position + half_extents;
|
||||
|
||||
return ofs + new Vector3(
|
||||
(dir.x > 0f) ? -half_extents.x : half_extents.x,
|
||||
(dir.y > 0f) ? -half_extents.y : half_extents.y,
|
||||
(dir.z > 0f) ? -half_extents.z : half_extents.z);
|
||||
dir.x > 0f ? -half_extents.x : half_extents.x,
|
||||
dir.y > 0f ? -half_extents.y : half_extents.y,
|
||||
dir.z > 0f ? -half_extents.z : half_extents.z);
|
||||
}
|
||||
|
||||
public AABB Grow(real_t by)
|
||||
{
|
||||
AABB res = this;
|
||||
var res = this;
|
||||
|
||||
res.position.x -= by;
|
||||
res.position.y -= by;
|
||||
|
@ -283,48 +277,42 @@ namespace Godot
|
|||
{
|
||||
return new AABB();
|
||||
}
|
||||
else
|
||||
{
|
||||
min.x = (src_min.x > dst_min.x) ? src_min.x : dst_min.x;
|
||||
max.x = (src_max.x < dst_max.x) ? src_max.x : dst_max.x;
|
||||
}
|
||||
|
||||
min.x = src_min.x > dst_min.x ? src_min.x : dst_min.x;
|
||||
max.x = src_max.x < dst_max.x ? src_max.x : dst_max.x;
|
||||
|
||||
if (src_min.y > dst_max.y || src_max.y < dst_min.y)
|
||||
{
|
||||
return new AABB();
|
||||
}
|
||||
else
|
||||
{
|
||||
min.y = (src_min.y > dst_min.y) ? src_min.y : dst_min.y;
|
||||
max.y = (src_max.y < dst_max.y) ? src_max.y : dst_max.y;
|
||||
}
|
||||
|
||||
min.y = src_min.y > dst_min.y ? src_min.y : dst_min.y;
|
||||
max.y = src_max.y < dst_max.y ? src_max.y : dst_max.y;
|
||||
|
||||
if (src_min.z > dst_max.z || src_max.z < dst_min.z)
|
||||
{
|
||||
return new AABB();
|
||||
}
|
||||
else
|
||||
{
|
||||
min.z = (src_min.z > dst_min.z) ? src_min.z : dst_min.z;
|
||||
max.z = (src_max.z < dst_max.z) ? src_max.z : dst_max.z;
|
||||
}
|
||||
|
||||
min.z = src_min.z > dst_min.z ? src_min.z : dst_min.z;
|
||||
max.z = src_max.z < dst_max.z ? src_max.z : dst_max.z;
|
||||
|
||||
return new AABB(min, max - min);
|
||||
}
|
||||
|
||||
public bool Intersects(AABB with)
|
||||
{
|
||||
if (position.x >= (with.position.x + with.size.x))
|
||||
if (position.x >= with.position.x + with.size.x)
|
||||
return false;
|
||||
if ((position.x + size.x) <= with.position.x)
|
||||
if (position.x + size.x <= with.position.x)
|
||||
return false;
|
||||
if (position.y >= (with.position.y + with.size.y))
|
||||
if (position.y >= with.position.y + with.size.y)
|
||||
return false;
|
||||
if ((position.y + size.y) <= with.position.y)
|
||||
if (position.y + size.y <= with.position.y)
|
||||
return false;
|
||||
if (position.z >= (with.position.z + with.size.z))
|
||||
if (position.z >= with.position.z + with.size.z)
|
||||
return false;
|
||||
if ((position.z + size.z) <= with.position.z)
|
||||
if (position.z + size.z <= with.position.z)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@ -341,7 +329,7 @@ namespace Godot
|
|||
new Vector3(position.x + size.x, position.y, position.z),
|
||||
new Vector3(position.x + size.x, position.y, position.z + size.z),
|
||||
new Vector3(position.x + size.x, position.y + size.y, position.z),
|
||||
new Vector3(position.x + size.x, position.y + size.y, position.z + size.z),
|
||||
new Vector3(position.x + size.x, position.y + size.y, position.z + size.z)
|
||||
};
|
||||
|
||||
bool over = false;
|
||||
|
@ -408,19 +396,19 @@ namespace Godot
|
|||
{
|
||||
Vector3 beg_1 = position;
|
||||
Vector3 beg_2 = with.position;
|
||||
Vector3 end_1 = new Vector3(size.x, size.y, size.z) + beg_1;
|
||||
Vector3 end_2 = new Vector3(with.size.x, with.size.y, with.size.z) + beg_2;
|
||||
var end_1 = new Vector3(size.x, size.y, size.z) + beg_1;
|
||||
var end_2 = new Vector3(with.size.x, with.size.y, with.size.z) + beg_2;
|
||||
|
||||
Vector3 min = new Vector3(
|
||||
(beg_1.x < beg_2.x) ? beg_1.x : beg_2.x,
|
||||
(beg_1.y < beg_2.y) ? beg_1.y : beg_2.y,
|
||||
(beg_1.z < beg_2.z) ? beg_1.z : beg_2.z
|
||||
var min = new Vector3(
|
||||
beg_1.x < beg_2.x ? beg_1.x : beg_2.x,
|
||||
beg_1.y < beg_2.y ? beg_1.y : beg_2.y,
|
||||
beg_1.z < beg_2.z ? beg_1.z : beg_2.z
|
||||
);
|
||||
|
||||
Vector3 max = new Vector3(
|
||||
(end_1.x > end_2.x) ? end_1.x : end_2.x,
|
||||
(end_1.y > end_2.y) ? end_1.y : end_2.y,
|
||||
(end_1.z > end_2.z) ? end_1.z : end_2.z
|
||||
var max = new Vector3(
|
||||
end_1.x > end_2.x ? end_1.x : end_2.x,
|
||||
end_1.y > end_2.y ? end_1.y : end_2.y,
|
||||
end_1.z > end_2.z ? end_1.z : end_2.z
|
||||
);
|
||||
|
||||
return new AABB(min, max - min);
|
||||
|
@ -467,8 +455,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("{0} - {1}", new object[]
|
||||
{
|
||||
this.position.ToString(),
|
||||
this.size.ToString()
|
||||
position.ToString(),
|
||||
size.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -476,8 +464,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("{0} - {1}", new object[]
|
||||
{
|
||||
this.position.ToString(format),
|
||||
this.size.ToString(format)
|
||||
position.ToString(format),
|
||||
size.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -19,8 +18,7 @@ namespace Godot
|
|||
new Vector3(0f, 0f, 1f)
|
||||
);
|
||||
|
||||
private static readonly Basis[] orthoBases = new Basis[24]
|
||||
{
|
||||
private static readonly Basis[] orthoBases = {
|
||||
new Basis(1f, 0f, 0f, 0f, 1f, 0f, 0f, 0f, 1f),
|
||||
new Basis(0f, -1f, 0f, 1f, 0f, 0f, 0f, 0f, 1f),
|
||||
new Basis(-1f, 0f, 0f, 0f, -1f, 0f, 0f, 0f, 1f),
|
||||
|
@ -188,7 +186,7 @@ namespace Godot
|
|||
|
||||
public Vector3 GetEuler()
|
||||
{
|
||||
Basis m = this.Orthonormalized();
|
||||
Basis m = Orthonormalized();
|
||||
|
||||
Vector3 euler;
|
||||
euler.z = 0.0f;
|
||||
|
@ -221,7 +219,7 @@ namespace Godot
|
|||
|
||||
public int GetOrthogonalIndex()
|
||||
{
|
||||
Basis orth = this;
|
||||
var orth = this;
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
|
@ -251,10 +249,9 @@ namespace Godot
|
|||
|
||||
public Basis Inverse()
|
||||
{
|
||||
Basis inv = this;
|
||||
var inv = this;
|
||||
|
||||
real_t[] co = new real_t[3]
|
||||
{
|
||||
real_t[] co = {
|
||||
inv[1, 1] * inv[2, 2] - inv[1, 2] * inv[2, 1],
|
||||
inv[1, 2] * inv[2, 0] - inv[1, 0] * inv[2, 2],
|
||||
inv[1, 0] * inv[2, 1] - inv[1, 1] * inv[2, 0]
|
||||
|
@ -297,12 +294,12 @@ namespace Godot
|
|||
Vector3 zAxis = GetAxis(2);
|
||||
|
||||
xAxis.Normalize();
|
||||
yAxis = (yAxis - xAxis * (xAxis.Dot(yAxis)));
|
||||
yAxis = yAxis - xAxis * xAxis.Dot(yAxis);
|
||||
yAxis.Normalize();
|
||||
zAxis = (zAxis - xAxis * (xAxis.Dot(zAxis)) - yAxis * (yAxis.Dot(zAxis)));
|
||||
zAxis = zAxis - xAxis * xAxis.Dot(zAxis) - yAxis * yAxis.Dot(zAxis);
|
||||
zAxis.Normalize();
|
||||
|
||||
return Basis.CreateFromAxes(xAxis, yAxis, zAxis);
|
||||
return CreateFromAxes(xAxis, yAxis, zAxis);
|
||||
}
|
||||
|
||||
public Basis Rotated(Vector3 axis, real_t phi)
|
||||
|
@ -312,7 +309,7 @@ namespace Godot
|
|||
|
||||
public Basis Scaled(Vector3 scale)
|
||||
{
|
||||
Basis m = this;
|
||||
var m = this;
|
||||
|
||||
m[0, 0] *= scale.x;
|
||||
m[0, 1] *= scale.x;
|
||||
|
@ -344,7 +341,7 @@ namespace Godot
|
|||
|
||||
public Basis Transposed()
|
||||
{
|
||||
Basis tr = this;
|
||||
var tr = this;
|
||||
|
||||
real_t temp = this[0, 1];
|
||||
this[0, 1] = this[1, 0];
|
||||
|
@ -375,9 +372,9 @@ namespace Godot
|
|||
{
|
||||
return new Vector3
|
||||
(
|
||||
(this[0, 0] * v.x) + (this[1, 0] * v.y) + (this[2, 0] * v.z),
|
||||
(this[0, 1] * v.x) + (this[1, 1] * v.y) + (this[2, 1] * v.z),
|
||||
(this[0, 2] * v.x) + (this[1, 2] * v.y) + (this[2, 2] * v.z)
|
||||
this[0, 0] * v.x + this[1, 0] * v.y + this[2, 0] * v.z,
|
||||
this[0, 1] * v.x + this[1, 1] * v.y + this[2, 1] * v.z,
|
||||
this[0, 2] * v.x + this[1, 2] * v.y + this[2, 2] * v.z
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -393,34 +390,38 @@ namespace Godot
|
|||
(_y[0] - _x[1]) * inv_s,
|
||||
s * 0.25f
|
||||
);
|
||||
} else if (_x[0] > _y[1] && _x[0] > _z[2]) {
|
||||
real_t s = Mathf.Sqrt(_x[0] - _y[1] - _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
s * 0.25f,
|
||||
(_x[1] + _y[0]) * inv_s,
|
||||
(_x[2] + _z[0]) * inv_s,
|
||||
(_z[1] - _y[2]) * inv_s
|
||||
);
|
||||
} else if (_y[1] > _z[2]) {
|
||||
real_t s = Mathf.Sqrt(-_x[0] + _y[1] - _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
(_x[1] + _y[0]) * inv_s,
|
||||
s * 0.25f,
|
||||
(_y[2] + _z[1]) * inv_s,
|
||||
(_x[2] - _z[0]) * inv_s
|
||||
);
|
||||
} else {
|
||||
real_t s = Mathf.Sqrt(-_x[0] - _y[1] + _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
(_x[2] + _z[0]) * inv_s,
|
||||
(_y[2] + _z[1]) * inv_s,
|
||||
s * 0.25f,
|
||||
(_y[0] - _x[1]) * inv_s
|
||||
);
|
||||
}
|
||||
|
||||
if (_x[0] > _y[1] && _x[0] > _z[2]) {
|
||||
real_t s = Mathf.Sqrt(_x[0] - _y[1] - _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
s * 0.25f,
|
||||
(_x[1] + _y[0]) * inv_s,
|
||||
(_x[2] + _z[0]) * inv_s,
|
||||
(_z[1] - _y[2]) * inv_s
|
||||
);
|
||||
}
|
||||
|
||||
if (_y[1] > _z[2]) {
|
||||
real_t s = Mathf.Sqrt(-_x[0] + _y[1] - _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
(_x[1] + _y[0]) * inv_s,
|
||||
s * 0.25f,
|
||||
(_y[2] + _z[1]) * inv_s,
|
||||
(_x[2] - _z[0]) * inv_s
|
||||
);
|
||||
} else {
|
||||
real_t s = Mathf.Sqrt(-_x[0] - _y[1] + _z[2] + 1.0f) * 2f;
|
||||
real_t inv_s = 1f / s;
|
||||
return new Quat(
|
||||
(_x[2] + _z[0]) * inv_s,
|
||||
(_y[2] + _z[1]) * inv_s,
|
||||
s * 0.25f,
|
||||
(_y[0] - _x[1]) * inv_s
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public Basis(Quat quat)
|
||||
|
@ -440,33 +441,33 @@ namespace Godot
|
|||
real_t yz = quat.y * zs;
|
||||
real_t zz = quat.z * zs;
|
||||
|
||||
this._x = new Vector3(1.0f - (yy + zz), xy - wz, xz + wy);
|
||||
this._y = new Vector3(xy + wz, 1.0f - (xx + zz), yz - wx);
|
||||
this._z = new Vector3(xz - wy, yz + wx, 1.0f - (xx + yy));
|
||||
_x = new Vector3(1.0f - (yy + zz), xy - wz, xz + wy);
|
||||
_y = new Vector3(xy + wz, 1.0f - (xx + zz), yz - wx);
|
||||
_z = new Vector3(xz - wy, yz + wx, 1.0f - (xx + yy));
|
||||
}
|
||||
|
||||
public Basis(Vector3 axis, real_t phi)
|
||||
{
|
||||
Vector3 axis_sq = new Vector3(axis.x * axis.x, axis.y * axis.y, axis.z * axis.z);
|
||||
var axis_sq = new Vector3(axis.x * axis.x, axis.y * axis.y, axis.z * axis.z);
|
||||
|
||||
real_t cosine = Mathf.Cos( (real_t)phi);
|
||||
real_t sine = Mathf.Sin( (real_t)phi);
|
||||
real_t cosine = Mathf.Cos( phi);
|
||||
real_t sine = Mathf.Sin( phi);
|
||||
|
||||
this._x = new Vector3
|
||||
_x = new Vector3
|
||||
(
|
||||
axis_sq.x + cosine * (1.0f - axis_sq.x),
|
||||
axis.x * axis.y * (1.0f - cosine) - axis.z * sine,
|
||||
axis.z * axis.x * (1.0f - cosine) + axis.y * sine
|
||||
);
|
||||
|
||||
this._y = new Vector3
|
||||
_y = new Vector3
|
||||
(
|
||||
axis.x * axis.y * (1.0f - cosine) + axis.z * sine,
|
||||
axis_sq.y + cosine * (1.0f - axis_sq.y),
|
||||
axis.y * axis.z * (1.0f - cosine) - axis.x * sine
|
||||
);
|
||||
|
||||
this._z = new Vector3
|
||||
_z = new Vector3
|
||||
(
|
||||
axis.z * axis.x * (1.0f - cosine) - axis.y * sine,
|
||||
axis.y * axis.z * (1.0f - cosine) + axis.x * sine,
|
||||
|
@ -476,16 +477,16 @@ namespace Godot
|
|||
|
||||
public Basis(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis)
|
||||
{
|
||||
this._x = xAxis;
|
||||
this._y = yAxis;
|
||||
this._z = zAxis;
|
||||
_x = xAxis;
|
||||
_y = yAxis;
|
||||
_z = zAxis;
|
||||
}
|
||||
|
||||
public Basis(real_t xx, real_t xy, real_t xz, real_t yx, real_t yy, real_t yz, real_t zx, real_t zy, real_t zz)
|
||||
{
|
||||
this._x = new Vector3(xx, xy, xz);
|
||||
this._y = new Vector3(yx, yy, yz);
|
||||
this._z = new Vector3(zx, zy, zz);
|
||||
_x = new Vector3(xx, xy, xz);
|
||||
_y = new Vector3(yx, yy, yz);
|
||||
_z = new Vector3(zx, zy, zz);
|
||||
}
|
||||
|
||||
public static Basis operator *(Basis left, Basis right)
|
||||
|
@ -532,9 +533,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this._x.ToString(),
|
||||
this._y.ToString(),
|
||||
this._z.ToString()
|
||||
_x.ToString(),
|
||||
_y.ToString(),
|
||||
_z.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -542,9 +543,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this._x.ToString(format),
|
||||
this._y.ToString(format),
|
||||
this._z.ToString(format)
|
||||
_x.ToString(format),
|
||||
_y.ToString(format),
|
||||
_z.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,8 +45,8 @@ namespace Godot
|
|||
{
|
||||
get
|
||||
{
|
||||
float max = (float) Mathf.Max(r, (float) Mathf.Max(g, b));
|
||||
float min = (float) Mathf.Min(r, (float) Mathf.Min(g, b));
|
||||
float max = Math.Max(r, Math.Max(g, b));
|
||||
float min = Math.Min(r, Math.Min(g, b));
|
||||
|
||||
float delta = max - min;
|
||||
|
||||
|
@ -79,8 +79,8 @@ namespace Godot
|
|||
{
|
||||
get
|
||||
{
|
||||
float max = (float) Mathf.Max(r, (float) Mathf.Max(g, b));
|
||||
float min = (float) Mathf.Min(r, (float) Mathf.Min(g, b));
|
||||
float max = Math.Max(r, Math.Max(g, b));
|
||||
float min = Math.Min(r, Math.Min(g, b));
|
||||
|
||||
float delta = max - min;
|
||||
|
||||
|
@ -96,7 +96,7 @@ namespace Godot
|
|||
{
|
||||
get
|
||||
{
|
||||
return (float) Mathf.Max(r, (float) Mathf.Max(g, b));
|
||||
return Math.Max(r, Math.Max(g, b));
|
||||
}
|
||||
set
|
||||
{
|
||||
|
@ -104,7 +104,7 @@ namespace Godot
|
|||
}
|
||||
}
|
||||
|
||||
private static readonly Color black = new Color(0f, 0f, 0f, 1.0f);
|
||||
private static readonly Color black = new Color(0f, 0f, 0f);
|
||||
|
||||
public Color Black
|
||||
{
|
||||
|
@ -180,7 +180,7 @@ namespace Godot
|
|||
hue += 1.0f;
|
||||
}
|
||||
|
||||
saturation = (max == 0) ? 0 : 1f - (1f * min / max);
|
||||
saturation = max == 0 ? 0 : 1f - 1f * min / max;
|
||||
value = max / 255f;
|
||||
}
|
||||
|
||||
|
@ -232,12 +232,10 @@ namespace Godot
|
|||
{
|
||||
return new Color(0, 0, 0, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
res.r = (r * a * sa + over.r * over.a) / res.a;
|
||||
res.g = (g * a * sa + over.g * over.a) / res.a;
|
||||
res.b = (b * a * sa + over.b * over.a) / res.a;
|
||||
}
|
||||
|
||||
res.r = (r * a * sa + over.r * over.a) / res.a;
|
||||
res.g = (g * a * sa + over.g * over.a) / res.a;
|
||||
res.b = (b * a * sa + over.b * over.a) / res.a;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -265,14 +263,14 @@ namespace Godot
|
|||
);
|
||||
}
|
||||
|
||||
public Color LinearInterpolate(Color b, float t)
|
||||
public Color LinearInterpolate(Color c, float t)
|
||||
{
|
||||
Color res = this;
|
||||
var res = this;
|
||||
|
||||
res.r += (t * (b.r - this.r));
|
||||
res.g += (t * (b.g - this.g));
|
||||
res.b += (t * (b.b - this.b));
|
||||
res.a += (t * (b.a - this.a));
|
||||
res.r += t * (c.r - r);
|
||||
res.g += t * (c.g - g);
|
||||
res.b += t * (c.b - b);
|
||||
res.a += t * (c.a - a);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@ -305,7 +303,7 @@ namespace Godot
|
|||
|
||||
public string ToHtml(bool include_alpha = true)
|
||||
{
|
||||
String txt = string.Empty;
|
||||
var txt = string.Empty;
|
||||
|
||||
txt += _to_hex(r);
|
||||
txt += _to_hex(g);
|
||||
|
@ -328,13 +326,13 @@ namespace Godot
|
|||
|
||||
public Color(int rgba)
|
||||
{
|
||||
this.a = (rgba & 0xFF) / 255.0f;
|
||||
a = (rgba & 0xFF) / 255.0f;
|
||||
rgba >>= 8;
|
||||
this.b = (rgba & 0xFF) / 255.0f;
|
||||
b = (rgba & 0xFF) / 255.0f;
|
||||
rgba >>= 8;
|
||||
this.g = (rgba & 0xFF) / 255.0f;
|
||||
g = (rgba & 0xFF) / 255.0f;
|
||||
rgba >>= 8;
|
||||
this.r = (rgba & 0xFF) / 255.0f;
|
||||
r = (rgba & 0xFF) / 255.0f;
|
||||
}
|
||||
|
||||
private static int _parse_col(string str, int ofs)
|
||||
|
@ -344,7 +342,7 @@ namespace Godot
|
|||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
int c = str[i + ofs];
|
||||
int v = 0;
|
||||
int v;
|
||||
|
||||
if (c >= '0' && c <= '9')
|
||||
{
|
||||
|
@ -376,9 +374,9 @@ namespace Godot
|
|||
|
||||
private String _to_hex(float val)
|
||||
{
|
||||
int v = (int) Mathf.Clamp(val * 255.0f, 0, 255);
|
||||
var v = (int) Mathf.Clamp(val * 255.0f, 0, 255);
|
||||
|
||||
string ret = string.Empty;
|
||||
var ret = string.Empty;
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
|
@ -405,7 +403,7 @@ namespace Godot
|
|||
if (color[0] == '#')
|
||||
color = color.Substring(1, color.Length - 1);
|
||||
|
||||
bool alpha = false;
|
||||
bool alpha;
|
||||
|
||||
if (color.Length == 8)
|
||||
alpha = true;
|
||||
|
@ -434,7 +432,7 @@ namespace Godot
|
|||
|
||||
public static Color Color8(byte r8, byte g8, byte b8, byte a8)
|
||||
{
|
||||
return new Color((float)r8 / 255f, (float)g8 / 255f, (float)b8 / 255f, (float)a8 / 255f);
|
||||
return new Color(r8 / 255f, g8 / 255f, b8 / 255f, a8 / 255f);
|
||||
}
|
||||
|
||||
public Color(string rgba)
|
||||
|
@ -451,7 +449,7 @@ namespace Godot
|
|||
if (rgba[0] == '#')
|
||||
rgba = rgba.Substring(1);
|
||||
|
||||
bool alpha = false;
|
||||
bool alpha;
|
||||
|
||||
if (rgba.Length == 8)
|
||||
{
|
||||
|
@ -513,14 +511,11 @@ namespace Godot
|
|||
if (left.g == right.g)
|
||||
{
|
||||
if (left.b == right.b)
|
||||
return (left.a < right.a);
|
||||
else
|
||||
return (left.b < right.b);
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.g < right.g;
|
||||
return left.a < right.a;
|
||||
return left.b < right.b;
|
||||
}
|
||||
|
||||
return left.g < right.g;
|
||||
}
|
||||
|
||||
return left.r < right.r;
|
||||
|
@ -533,14 +528,11 @@ namespace Godot
|
|||
if (left.g == right.g)
|
||||
{
|
||||
if (left.b == right.b)
|
||||
return (left.a > right.a);
|
||||
else
|
||||
return (left.b > right.b);
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.g > right.g;
|
||||
return left.a > right.a;
|
||||
return left.b > right.b;
|
||||
}
|
||||
|
||||
return left.g > right.g;
|
||||
}
|
||||
|
||||
return left.r > right.r;
|
||||
|
@ -568,24 +560,12 @@ namespace Godot
|
|||
|
||||
public override string ToString()
|
||||
{
|
||||
return String.Format("{0},{1},{2},{3}", new object[]
|
||||
{
|
||||
this.r.ToString(),
|
||||
this.g.ToString(),
|
||||
this.b.ToString(),
|
||||
this.a.ToString()
|
||||
});
|
||||
return String.Format("{0},{1},{2},{3}", r.ToString(), g.ToString(), b.ToString(), a.ToString());
|
||||
}
|
||||
|
||||
public string ToString(string format)
|
||||
{
|
||||
return String.Format("{0},{1},{2},{3}", new object[]
|
||||
{
|
||||
this.r.ToString(format),
|
||||
this.g.ToString(format),
|
||||
this.b.ToString(format),
|
||||
this.a.ToString(format)
|
||||
});
|
||||
return String.Format("{0},{1},{2},{3}", r.ToString(format), g.ToString(format), b.ToString(format), a.ToString(format));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace Godot
|
|||
else if (type == typeof(void))
|
||||
sb.Append("void");
|
||||
else
|
||||
sb.Append(type.ToString());
|
||||
sb.Append(type);
|
||||
|
||||
sb.Append(" ");
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ namespace Godot
|
|||
return;
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
var sb = new StringBuilder();
|
||||
|
||||
if (methodBase is MethodInfo)
|
||||
sb.AppendTypeName(((MethodInfo)methodBase).ReturnType);
|
||||
|
|
|
@ -91,7 +91,7 @@ namespace Godot
|
|||
|
||||
public static int[] Range(int length)
|
||||
{
|
||||
int[] ret = new int[length];
|
||||
var ret = new int[length];
|
||||
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
|
@ -106,7 +106,7 @@ namespace Godot
|
|||
if (to < from)
|
||||
return new int[0];
|
||||
|
||||
int[] ret = new int[to - from];
|
||||
var ret = new int[to - from];
|
||||
|
||||
for (int i = from; i < to; i++)
|
||||
{
|
||||
|
@ -124,14 +124,14 @@ namespace Godot
|
|||
return new int[0];
|
||||
|
||||
// Calculate count
|
||||
int count = 0;
|
||||
int count;
|
||||
|
||||
if (increment > 0)
|
||||
count = ((to - from - 1) / increment) + 1;
|
||||
count = (to - from - 1) / increment + 1;
|
||||
else
|
||||
count = ((from - to - 1) / -increment) + 1;
|
||||
count = (from - to - 1) / -increment + 1;
|
||||
|
||||
int[] ret = new int[count];
|
||||
var ret = new int[count];
|
||||
|
||||
if (increment > 0)
|
||||
{
|
||||
|
|
|
@ -2,7 +2,7 @@ using System;
|
|||
|
||||
namespace Godot
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Method, Inherited = true)]
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
internal class GodotMethodAttribute : Attribute
|
||||
{
|
||||
private string methodName;
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
|
|
@ -36,7 +36,7 @@ namespace Godot
|
|||
TryDequeue(task);
|
||||
}
|
||||
|
||||
return base.TryExecuteTask(task);
|
||||
return TryExecuteTask(task);
|
||||
}
|
||||
|
||||
protected sealed override bool TryDequeue(Task task)
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Godot
|
||||
|
|
|
@ -7,7 +7,7 @@ namespace Godot
|
|||
{
|
||||
private static Dictionary<object, object> ArraysToDictionary(object[] keys, object[] values)
|
||||
{
|
||||
Dictionary<object, object> ret = new Dictionary<object, object>();
|
||||
var ret = new Dictionary<object, object>();
|
||||
|
||||
for (int i = 0; i < keys.Length; i++)
|
||||
{
|
||||
|
@ -19,11 +19,11 @@ namespace Godot
|
|||
|
||||
private static void DictionaryToArrays(Dictionary<object, object> from, out object[] keysTo, out object[] valuesTo)
|
||||
{
|
||||
Dictionary<object, object>.KeyCollection keys = from.Keys;
|
||||
var keys = from.Keys;
|
||||
keysTo = new object[keys.Count];
|
||||
keys.CopyTo(keysTo, 0);
|
||||
|
||||
Dictionary<object, object>.ValueCollection values = from.Values;
|
||||
var values = from.Values;
|
||||
valuesTo = new object[values.Count];
|
||||
values.CopyTo(valuesTo, 0);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -115,7 +114,8 @@ namespace Godot
|
|||
|
||||
return Pow(s, curve);
|
||||
}
|
||||
else if (curve < 0f)
|
||||
|
||||
if (curve < 0f)
|
||||
{
|
||||
if (s < 0.5f)
|
||||
{
|
||||
|
@ -144,10 +144,8 @@ namespace Godot
|
|||
{
|
||||
return x % y;
|
||||
}
|
||||
else
|
||||
{
|
||||
return y - (-x % y);
|
||||
}
|
||||
|
||||
return y - -x % y;
|
||||
}
|
||||
|
||||
public static real_t InverseLerp(real_t from, real_t to, real_t weight)
|
||||
|
@ -177,22 +175,22 @@ namespace Godot
|
|||
|
||||
public static int Max(int a, int b)
|
||||
{
|
||||
return (a > b) ? a : b;
|
||||
return a > b ? a : b;
|
||||
}
|
||||
|
||||
public static real_t Max(real_t a, real_t b)
|
||||
{
|
||||
return (a > b) ? a : b;
|
||||
return a > b ? a : b;
|
||||
}
|
||||
|
||||
public static int Min(int a, int b)
|
||||
{
|
||||
return (a < b) ? a : b;
|
||||
return a < b ? a : b;
|
||||
}
|
||||
|
||||
public static real_t Min(real_t a, real_t b)
|
||||
{
|
||||
return (a < b) ? a : b;
|
||||
return a < b ? a : b;
|
||||
}
|
||||
|
||||
public static int NearestPo2(int value)
|
||||
|
@ -227,19 +225,14 @@ namespace Godot
|
|||
return (real_t)Math.Round(s);
|
||||
}
|
||||
|
||||
public static int RoundToInt(real_t s)
|
||||
{
|
||||
return (int)Math.Round(s);
|
||||
}
|
||||
|
||||
public static int Sign(int s)
|
||||
{
|
||||
return (s < 0) ? -1 : 1;
|
||||
return s < 0 ? -1 : 1;
|
||||
}
|
||||
|
||||
public static real_t Sign(real_t s)
|
||||
{
|
||||
return (s < 0f) ? -1f : 1f;
|
||||
return s < 0f ? -1f : 1f;
|
||||
}
|
||||
|
||||
public static real_t Sin(real_t s)
|
||||
|
@ -280,13 +273,13 @@ namespace Godot
|
|||
public static int Wrap(int value, int min, int max)
|
||||
{
|
||||
int rng = max - min;
|
||||
return min + ((((value - min) % rng) + rng) % rng);
|
||||
return min + ((value - min) % rng + rng) % rng;
|
||||
}
|
||||
|
||||
public static real_t Wrap(real_t value, real_t min, real_t max)
|
||||
{
|
||||
real_t rng = max - min;
|
||||
return min + ((((value - min) % rng) + rng) % rng);
|
||||
return min + ((value - min) % rng + rng) % rng;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -81,9 +80,9 @@ namespace Godot
|
|||
if (Mathf.Abs(denom) <= Mathf.Epsilon)
|
||||
return new Vector3();
|
||||
|
||||
Vector3 result = (b.normal.Cross(c.normal) * this.d) +
|
||||
(c.normal.Cross(normal) * b.d) +
|
||||
(normal.Cross(b.normal) * c.d);
|
||||
Vector3 result = b.normal.Cross(c.normal) * d +
|
||||
c.normal.Cross(normal) * b.d +
|
||||
normal.Cross(b.normal) * c.d;
|
||||
|
||||
return result / denom;
|
||||
}
|
||||
|
@ -114,7 +113,7 @@ namespace Godot
|
|||
|
||||
real_t dist = (normal.Dot(begin) - d) / den;
|
||||
|
||||
if (dist < -Mathf.Epsilon || dist > (1.0f + Mathf.Epsilon))
|
||||
if (dist < -Mathf.Epsilon || dist > 1.0f + Mathf.Epsilon)
|
||||
return new Vector3();
|
||||
|
||||
return begin + segment * -dist;
|
||||
|
@ -198,8 +197,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.normal.ToString(),
|
||||
this.d.ToString()
|
||||
normal.ToString(),
|
||||
d.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -207,8 +206,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.normal.ToString(format),
|
||||
this.d.ToString(format)
|
||||
normal.ToString(format),
|
||||
d.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -106,10 +105,10 @@ namespace Godot
|
|||
}
|
||||
public void Set(Quat q)
|
||||
{
|
||||
this.x = q.x;
|
||||
this.y = q.y;
|
||||
this.z = q.z;
|
||||
this.w = q.w;
|
||||
x = q.x;
|
||||
y = q.y;
|
||||
z = q.z;
|
||||
w = q.w;
|
||||
}
|
||||
|
||||
public Quat Slerp(Quat b, real_t t)
|
||||
|
@ -117,7 +116,7 @@ namespace Godot
|
|||
// Calculate cosine
|
||||
real_t cosom = x * b.x + y * b.y + z * b.z + w * b.w;
|
||||
|
||||
real_t[] to1 = new real_t[4];
|
||||
var to1 = new real_t[4];
|
||||
|
||||
// Adjust signs if necessary
|
||||
if (cosom < 0.0)
|
||||
|
@ -138,7 +137,7 @@ namespace Godot
|
|||
real_t sinom, scale0, scale1;
|
||||
|
||||
// Calculate coefficients
|
||||
if ((1.0 - cosom) > Mathf.Epsilon)
|
||||
if (1.0 - cosom > Mathf.Epsilon)
|
||||
{
|
||||
// Standard case (Slerp)
|
||||
real_t omega = Mathf.Acos(cosom);
|
||||
|
@ -165,7 +164,7 @@ namespace Godot
|
|||
|
||||
public Quat Slerpni(Quat b, real_t t)
|
||||
{
|
||||
real_t dot = this.Dot(b);
|
||||
real_t dot = Dot(b);
|
||||
|
||||
if (Mathf.Abs(dot) > 0.9999f)
|
||||
{
|
||||
|
@ -179,17 +178,17 @@ namespace Godot
|
|||
|
||||
return new Quat
|
||||
(
|
||||
invFactor * this.x + newFactor * b.x,
|
||||
invFactor * this.y + newFactor * b.y,
|
||||
invFactor * this.z + newFactor * b.z,
|
||||
invFactor * this.w + newFactor * b.w
|
||||
invFactor * x + newFactor * b.x,
|
||||
invFactor * y + newFactor * b.y,
|
||||
invFactor * z + newFactor * b.z,
|
||||
invFactor * w + newFactor * b.w
|
||||
);
|
||||
}
|
||||
|
||||
public Vector3 Xform(Vector3 v)
|
||||
{
|
||||
Quat q = this * v;
|
||||
q *= this.Inverse();
|
||||
q *= Inverse();
|
||||
return new Vector3(q.x, q.y, q.z);
|
||||
}
|
||||
|
||||
|
@ -203,10 +202,10 @@ namespace Godot
|
|||
}
|
||||
public Quat(Quat q)
|
||||
{
|
||||
this.x = q.x;
|
||||
this.y = q.y;
|
||||
this.z = q.z;
|
||||
this.w = q.w;
|
||||
x = q.x;
|
||||
y = q.y;
|
||||
z = q.z;
|
||||
w = q.w;
|
||||
}
|
||||
|
||||
public Quat(Vector3 axis, real_t angle)
|
||||
|
@ -327,24 +326,12 @@ namespace Godot
|
|||
|
||||
public override string ToString()
|
||||
{
|
||||
return String.Format("({0}, {1}, {2}, {3})", new object[]
|
||||
{
|
||||
this.x.ToString(),
|
||||
this.y.ToString(),
|
||||
this.z.ToString(),
|
||||
this.w.ToString()
|
||||
});
|
||||
return String.Format("({0}, {1}, {2}, {3})", x.ToString(), y.ToString(), z.ToString(), w.ToString());
|
||||
}
|
||||
|
||||
public string ToString(string format)
|
||||
{
|
||||
return String.Format("({0}, {1}, {2}, {3})", new object[]
|
||||
{
|
||||
this.x.ToString(format),
|
||||
this.y.ToString(format),
|
||||
this.z.ToString(format),
|
||||
this.w.ToString(format)
|
||||
});
|
||||
return String.Format("({0}, {1}, {2}, {3})", x.ToString(format), y.ToString(format), z.ToString(format), w.ToString(format));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -39,7 +38,7 @@ namespace Godot
|
|||
|
||||
public Rect2 Clip(Rect2 b)
|
||||
{
|
||||
Rect2 newRect = b;
|
||||
var newRect = b;
|
||||
|
||||
if (!Intersects(newRect))
|
||||
return new Rect2();
|
||||
|
@ -58,14 +57,14 @@ namespace Godot
|
|||
|
||||
public bool Encloses(Rect2 b)
|
||||
{
|
||||
return (b.position.x >= position.x) && (b.position.y >= position.y) &&
|
||||
((b.position.x + b.size.x) < (position.x + size.x)) &&
|
||||
((b.position.y + b.size.y) < (position.y + size.y));
|
||||
return b.position.x >= position.x && b.position.y >= position.y &&
|
||||
b.position.x + b.size.x < position.x + size.x &&
|
||||
b.position.y + b.size.y < position.y + size.y;
|
||||
}
|
||||
|
||||
public Rect2 Expand(Vector2 to)
|
||||
{
|
||||
Rect2 expanded = this;
|
||||
var expanded = this;
|
||||
|
||||
Vector2 begin = expanded.position;
|
||||
Vector2 end = expanded.position + expanded.size;
|
||||
|
@ -93,7 +92,7 @@ namespace Godot
|
|||
|
||||
public Rect2 Grow(real_t by)
|
||||
{
|
||||
Rect2 g = this;
|
||||
var g = this;
|
||||
|
||||
g.position.x -= by;
|
||||
g.position.y -= by;
|
||||
|
@ -105,7 +104,7 @@ namespace Godot
|
|||
|
||||
public Rect2 GrowIndividual(real_t left, real_t top, real_t right, real_t bottom)
|
||||
{
|
||||
Rect2 g = this;
|
||||
var g = this;
|
||||
|
||||
g.position.x -= left;
|
||||
g.position.y -= top;
|
||||
|
@ -117,12 +116,12 @@ namespace Godot
|
|||
|
||||
public Rect2 GrowMargin(Margin margin, real_t by)
|
||||
{
|
||||
Rect2 g = this;
|
||||
var g = this;
|
||||
|
||||
g.GrowIndividual((Margin.Left == margin) ? by : 0,
|
||||
(Margin.Top == margin) ? by : 0,
|
||||
(Margin.Right == margin) ? by : 0,
|
||||
(Margin.Bottom == margin) ? by : 0);
|
||||
g.GrowIndividual(Margin.Left == margin ? by : 0,
|
||||
Margin.Top == margin ? by : 0,
|
||||
Margin.Right == margin ? by : 0,
|
||||
Margin.Bottom == margin ? by : 0);
|
||||
|
||||
return g;
|
||||
}
|
||||
|
@ -139,9 +138,9 @@ namespace Godot
|
|||
if (point.y < position.y)
|
||||
return false;
|
||||
|
||||
if (point.x >= (position.x + size.x))
|
||||
if (point.x >= position.x + size.x)
|
||||
return false;
|
||||
if (point.y >= (position.y + size.y))
|
||||
if (point.y >= position.y + size.y)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@ -149,13 +148,13 @@ namespace Godot
|
|||
|
||||
public bool Intersects(Rect2 b)
|
||||
{
|
||||
if (position.x > (b.position.x + b.size.x))
|
||||
if (position.x > b.position.x + b.size.x)
|
||||
return false;
|
||||
if ((position.x + size.x) < b.position.x)
|
||||
if (position.x + size.x < b.position.x)
|
||||
return false;
|
||||
if (position.y > (b.position.y + b.size.y))
|
||||
if (position.y > b.position.y + b.size.y)
|
||||
return false;
|
||||
if ((position.y + size.y) < b.position.y)
|
||||
if (position.y + size.y < b.position.y)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
@ -185,17 +184,17 @@ namespace Godot
|
|||
public Rect2(Vector2 position, real_t width, real_t height)
|
||||
{
|
||||
this.position = position;
|
||||
this.size = new Vector2(width, height);
|
||||
size = new Vector2(width, height);
|
||||
}
|
||||
public Rect2(real_t x, real_t y, Vector2 size)
|
||||
{
|
||||
this.position = new Vector2(x, y);
|
||||
position = new Vector2(x, y);
|
||||
this.size = size;
|
||||
}
|
||||
public Rect2(real_t x, real_t y, real_t width, real_t height)
|
||||
{
|
||||
this.position = new Vector2(x, y);
|
||||
this.size = new Vector2(width, height);
|
||||
position = new Vector2(x, y);
|
||||
size = new Vector2(width, height);
|
||||
}
|
||||
|
||||
public static bool operator ==(Rect2 left, Rect2 right)
|
||||
|
@ -232,8 +231,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.position.ToString(),
|
||||
this.size.ToString()
|
||||
position.ToString(),
|
||||
size.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -241,8 +240,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.position.ToString(format),
|
||||
this.size.ToString(format)
|
||||
position.ToString(format),
|
||||
size.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,8 +5,5 @@ namespace Godot
|
|||
[AttributeUsage(AttributeTargets.Delegate)]
|
||||
public class SignalAttribute : Attribute
|
||||
{
|
||||
public SignalAttribute()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,15 @@ namespace Godot
|
|||
{
|
||||
public class SignalAwaiter : IAwaiter<object[]>, IAwaitable<object[]>
|
||||
{
|
||||
private bool completed = false;
|
||||
private object[] result = null;
|
||||
private Action action = null;
|
||||
private bool completed;
|
||||
private object[] result;
|
||||
private Action action;
|
||||
|
||||
public SignalAwaiter(Godot.Object source, string signal, Godot.Object target)
|
||||
public SignalAwaiter(Object source, string signal, Object target)
|
||||
{
|
||||
NativeCalls.godot_icall_Object_connect_signal_awaiter(
|
||||
Godot.Object.GetPtr(source),
|
||||
signal, Godot.Object.GetPtr(target), this
|
||||
Object.GetPtr(source),
|
||||
signal, Object.GetPtr(target), this
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
//using System;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
@ -43,11 +44,9 @@ namespace Godot
|
|||
{
|
||||
return instance.Substring(prev, i - prev);
|
||||
}
|
||||
else
|
||||
{
|
||||
count++;
|
||||
prev = i + 1;
|
||||
}
|
||||
|
||||
count++;
|
||||
prev = i + 1;
|
||||
}
|
||||
|
||||
i++;
|
||||
|
@ -83,7 +82,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static string[] Bigrams(this string instance)
|
||||
{
|
||||
string[] b = new string[instance.Length - 1];
|
||||
var b = new string[instance.Length - 1];
|
||||
|
||||
for (int i = 0; i < b.Length; i++)
|
||||
{
|
||||
|
@ -98,7 +97,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static string CEscape(this string instance)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(string.Copy(instance));
|
||||
var sb = new StringBuilder(string.Copy(instance));
|
||||
|
||||
sb.Replace("\\", "\\\\");
|
||||
sb.Replace("\a", "\\a");
|
||||
|
@ -120,7 +119,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static string CUnescape(this string instance)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(string.Copy(instance));
|
||||
var sb = new StringBuilder(string.Copy(instance));
|
||||
|
||||
sb.Replace("\\a", "\a");
|
||||
sb.Replace("\\b", "\b");
|
||||
|
@ -143,7 +142,7 @@ namespace Godot
|
|||
public static string Capitalize(this string instance)
|
||||
{
|
||||
string aux = instance.Replace("_", " ").ToLower();
|
||||
string cap = string.Empty;
|
||||
var cap = string.Empty;
|
||||
|
||||
for (int i = 0; i < aux.GetSliceCount(" "); i++)
|
||||
{
|
||||
|
@ -178,13 +177,13 @@ namespace Godot
|
|||
{
|
||||
if (to[to_idx] == 0 && instance[instance_idx] == 0)
|
||||
return 0; // We're equal
|
||||
else if (instance[instance_idx] == 0)
|
||||
if (instance[instance_idx] == 0)
|
||||
return -1; // If this is empty, and the other one is not, then we're less... I think?
|
||||
else if (to[to_idx] == 0)
|
||||
if (to[to_idx] == 0)
|
||||
return 1; // Otherwise the other one is smaller...
|
||||
else if (instance[instance_idx] < to[to_idx]) // More than
|
||||
if (instance[instance_idx] < to[to_idx]) // More than
|
||||
return -1;
|
||||
else if (instance[instance_idx] > to[to_idx]) // Less than
|
||||
if (instance[instance_idx] > to[to_idx]) // Less than
|
||||
return 1;
|
||||
|
||||
instance_idx++;
|
||||
|
@ -260,12 +259,12 @@ namespace Godot
|
|||
{
|
||||
int basepos = instance.Find("://");
|
||||
|
||||
string rs = string.Empty;
|
||||
string @base = string.Empty;
|
||||
string rs;
|
||||
var @base = string.Empty;
|
||||
|
||||
if (basepos != -1)
|
||||
{
|
||||
int end = basepos + 3;
|
||||
var end = basepos + 3;
|
||||
rs = instance.Substring(end, instance.Length);
|
||||
@base = instance.Substring(0, end);
|
||||
}
|
||||
|
@ -312,8 +311,8 @@ namespace Godot
|
|||
int hashv = 5381;
|
||||
int c;
|
||||
|
||||
while ((c = (int)instance[index++]) != 0)
|
||||
hashv = ((hashv << 5) + hashv) + c; // hash * 33 + c
|
||||
while ((c = instance[index++]) != 0)
|
||||
hashv = (hashv << 5) + hashv + c; // hash * 33 + c
|
||||
|
||||
return hashv;
|
||||
}
|
||||
|
@ -379,7 +378,7 @@ namespace Godot
|
|||
|
||||
while (instance[src] != 0 && text[tgt] != 0)
|
||||
{
|
||||
bool match = false;
|
||||
bool match;
|
||||
|
||||
if (case_insensitive)
|
||||
{
|
||||
|
@ -455,7 +454,10 @@ namespace Godot
|
|||
return false; // Don't start with number plz
|
||||
}
|
||||
|
||||
bool valid_char = (instance[i] >= '0' && instance[i] <= '9') || (instance[i] >= 'a' && instance[i] <= 'z') || (instance[i] >= 'A' && instance[i] <= 'Z') || instance[i] == '_';
|
||||
bool valid_char = instance[i] >= '0' &&
|
||||
instance[i] <= '9' || instance[i] >= 'a' &&
|
||||
instance[i] <= 'z' || instance[i] >= 'A' &&
|
||||
instance[i] <= 'Z' || instance[i] == '_';
|
||||
|
||||
if (!valid_char)
|
||||
return false;
|
||||
|
@ -502,7 +504,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static string JsonEscape(this string instance)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(string.Copy(instance));
|
||||
var sb = new StringBuilder(string.Copy(instance));
|
||||
|
||||
sb.Replace("\\", "\\\\");
|
||||
sb.Replace("\b", "\\b");
|
||||
|
@ -551,7 +553,7 @@ namespace Godot
|
|||
case '\0':
|
||||
return instance[0] == 0;
|
||||
case '*':
|
||||
return ExprMatch(expr + 1, instance, caseSensitive) || (instance[0] != 0 && ExprMatch(expr, instance + 1, caseSensitive));
|
||||
return ExprMatch(expr + 1, instance, caseSensitive) || instance[0] != 0 && ExprMatch(expr, instance + 1, caseSensitive);
|
||||
case '?':
|
||||
return instance[0] != 0 && instance[0] != '.' && ExprMatch(expr + 1, instance + 1, caseSensitive);
|
||||
default:
|
||||
|
@ -610,13 +612,13 @@ namespace Godot
|
|||
{
|
||||
if (to[to_idx] == 0 && instance[instance_idx] == 0)
|
||||
return 0; // We're equal
|
||||
else if (instance[instance_idx] == 0)
|
||||
if (instance[instance_idx] == 0)
|
||||
return -1; // If this is empty, and the other one is not, then we're less... I think?
|
||||
else if (to[to_idx] == 0)
|
||||
if (to[to_idx] == 0)
|
||||
return 1; // Otherwise the other one is smaller..
|
||||
else if (char.ToUpper(instance[instance_idx]) < char.ToUpper(to[to_idx])) // More than
|
||||
if (char.ToUpper(instance[instance_idx]) < char.ToUpper(to[to_idx])) // More than
|
||||
return -1;
|
||||
else if (char.ToUpper(instance[instance_idx]) > char.ToUpper(to[to_idx])) // Less than
|
||||
if (char.ToUpper(instance[instance_idx]) > char.ToUpper(to[to_idx])) // Less than
|
||||
return 1;
|
||||
|
||||
instance_idx++;
|
||||
|
@ -724,8 +726,7 @@ namespace Godot
|
|||
{
|
||||
if (instance.Length > 0 && instance[instance.Length - 1] == '/')
|
||||
return instance + file;
|
||||
else
|
||||
return instance + "/" + file;
|
||||
return instance + "/" + file;
|
||||
}
|
||||
|
||||
// <summary>
|
||||
|
@ -771,7 +772,7 @@ namespace Godot
|
|||
if (pos < 0)
|
||||
return string.Empty;
|
||||
|
||||
return instance.Substring(pos, (instance.Length - pos));
|
||||
return instance.Substring(pos, instance.Length - pos);
|
||||
}
|
||||
|
||||
public static byte[] Sha256Buffer(this string instance)
|
||||
|
@ -824,7 +825,7 @@ namespace Godot
|
|||
}
|
||||
}
|
||||
|
||||
return (2.0f * inter) / sum;
|
||||
return 2.0f * inter / sum;
|
||||
}
|
||||
|
||||
// <summary>
|
||||
|
@ -832,7 +833,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static string[] Split(this string instance, string divisor, bool allow_empty = true)
|
||||
{
|
||||
return instance.Split(new string[] { divisor }, StringSplitOptions.RemoveEmptyEntries);
|
||||
return instance.Split(new[] { divisor }, StringSplitOptions.RemoveEmptyEntries);
|
||||
}
|
||||
|
||||
// <summary>
|
||||
|
@ -840,7 +841,7 @@ namespace Godot
|
|||
// </summary>
|
||||
public static float[] SplitFloats(this string instance, string divisor, bool allow_empty = true)
|
||||
{
|
||||
List<float> ret = new List<float>();
|
||||
var ret = new List<float>();
|
||||
int from = 0;
|
||||
int len = instance.Length;
|
||||
|
||||
|
@ -849,7 +850,7 @@ namespace Godot
|
|||
int end = instance.Find(divisor, from);
|
||||
if (end < 0)
|
||||
end = len;
|
||||
if (allow_empty || (end > from))
|
||||
if (allow_empty || end > from)
|
||||
ret.Add(float.Parse(instance.Substring(from)));
|
||||
if (end == len)
|
||||
break;
|
||||
|
@ -878,13 +879,10 @@ namespace Godot
|
|||
{
|
||||
if (right)
|
||||
return instance.Trim(non_printable);
|
||||
else
|
||||
return instance.TrimStart(non_printable);
|
||||
}
|
||||
else
|
||||
{
|
||||
return instance.TrimEnd(non_printable);
|
||||
return instance.TrimStart(non_printable);
|
||||
}
|
||||
|
||||
return instance.TrimEnd(non_printable);
|
||||
}
|
||||
|
||||
// <summary>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -29,7 +28,7 @@ namespace Godot
|
|||
|
||||
public Transform LookingAt(Vector3 target, Vector3 up)
|
||||
{
|
||||
Transform t = this;
|
||||
var t = this;
|
||||
t.SetLookAt(origin, target, up);
|
||||
return t;
|
||||
}
|
||||
|
@ -98,22 +97,22 @@ namespace Godot
|
|||
|
||||
return new Vector3
|
||||
(
|
||||
(basis[0, 0] * vInv.x) + (basis[1, 0] * vInv.y) + (basis[2, 0] * vInv.z),
|
||||
(basis[0, 1] * vInv.x) + (basis[1, 1] * vInv.y) + (basis[2, 1] * vInv.z),
|
||||
(basis[0, 2] * vInv.x) + (basis[1, 2] * vInv.y) + (basis[2, 2] * vInv.z)
|
||||
basis[0, 0] * vInv.x + basis[1, 0] * vInv.y + basis[2, 0] * vInv.z,
|
||||
basis[0, 1] * vInv.x + basis[1, 1] * vInv.y + basis[2, 1] * vInv.z,
|
||||
basis[0, 2] * vInv.x + basis[1, 2] * vInv.y + basis[2, 2] * vInv.z
|
||||
);
|
||||
}
|
||||
|
||||
// Constructors
|
||||
public Transform(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis, Vector3 origin)
|
||||
{
|
||||
this.basis = Basis.CreateFromAxes(xAxis, yAxis, zAxis);
|
||||
basis = Basis.CreateFromAxes(xAxis, yAxis, zAxis);
|
||||
this.origin = origin;
|
||||
}
|
||||
|
||||
public Transform(Quat quat, Vector3 origin)
|
||||
{
|
||||
this.basis = new Basis(quat);
|
||||
basis = new Basis(quat);
|
||||
this.origin = origin;
|
||||
}
|
||||
|
||||
|
@ -164,8 +163,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("{0} - {1}", new object[]
|
||||
{
|
||||
this.basis.ToString(),
|
||||
this.origin.ToString()
|
||||
basis.ToString(),
|
||||
origin.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -173,8 +172,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("{0} - {1}", new object[]
|
||||
{
|
||||
this.basis.ToString(format),
|
||||
this.origin.ToString(format)
|
||||
basis.ToString(format),
|
||||
origin.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -111,7 +110,7 @@ namespace Godot
|
|||
|
||||
public Transform2D AffineInverse()
|
||||
{
|
||||
Transform2D inv = this;
|
||||
var inv = this;
|
||||
|
||||
real_t det = this[0, 0] * this[1, 1] - this[1, 0] * this[0, 1];
|
||||
|
||||
|
@ -158,15 +157,15 @@ namespace Godot
|
|||
Vector2 s2 = m.Scale;
|
||||
|
||||
// Slerp rotation
|
||||
Vector2 v1 = new Vector2(Mathf.Cos(r1), Mathf.Sin(r1));
|
||||
Vector2 v2 = new Vector2(Mathf.Cos(r2), Mathf.Sin(r2));
|
||||
var v1 = new Vector2(Mathf.Cos(r1), Mathf.Sin(r1));
|
||||
var v2 = new Vector2(Mathf.Cos(r2), Mathf.Sin(r2));
|
||||
|
||||
real_t dot = v1.Dot(v2);
|
||||
|
||||
// Clamp dot to [-1, 1]
|
||||
dot = (dot < -1.0f) ? -1.0f : ((dot > 1.0f) ? 1.0f : dot);
|
||||
dot = dot < -1.0f ? -1.0f : (dot > 1.0f ? 1.0f : dot);
|
||||
|
||||
Vector2 v = new Vector2();
|
||||
Vector2 v;
|
||||
|
||||
if (dot > 0.9995f)
|
||||
{
|
||||
|
@ -185,7 +184,7 @@ namespace Godot
|
|||
Vector2 p2 = m.Origin;
|
||||
|
||||
// Construct matrix
|
||||
Transform2D res = new Transform2D(Mathf.Atan2(v.y, v.x), p1.LinearInterpolate(p2, c));
|
||||
var res = new Transform2D(Mathf.Atan2(v.y, v.x), p1.LinearInterpolate(p2, c));
|
||||
Vector2 scale = s1.LinearInterpolate(s2, c);
|
||||
res.x *= scale;
|
||||
res.y *= scale;
|
||||
|
@ -195,7 +194,7 @@ namespace Godot
|
|||
|
||||
public Transform2D Inverse()
|
||||
{
|
||||
Transform2D inv = this;
|
||||
var inv = this;
|
||||
|
||||
// Swap
|
||||
real_t temp = inv.x.y;
|
||||
|
@ -209,13 +208,13 @@ namespace Godot
|
|||
|
||||
public Transform2D Orthonormalized()
|
||||
{
|
||||
Transform2D on = this;
|
||||
var on = this;
|
||||
|
||||
Vector2 onX = on.x;
|
||||
Vector2 onY = on.y;
|
||||
|
||||
onX.Normalize();
|
||||
onY = onY - onX * (onX.Dot(onY));
|
||||
onY = onY - onX * onX.Dot(onY);
|
||||
onY.Normalize();
|
||||
|
||||
on.x = onX;
|
||||
|
@ -231,7 +230,7 @@ namespace Godot
|
|||
|
||||
public Transform2D Scaled(Vector2 scale)
|
||||
{
|
||||
Transform2D copy = this;
|
||||
var copy = this;
|
||||
copy.x *= scale;
|
||||
copy.y *= scale;
|
||||
copy.o *= scale;
|
||||
|
@ -250,7 +249,7 @@ namespace Godot
|
|||
|
||||
public Transform2D Translated(Vector2 offset)
|
||||
{
|
||||
Transform2D copy = this;
|
||||
var copy = this;
|
||||
copy.o += copy.BasisXform(offset);
|
||||
return copy;
|
||||
}
|
||||
|
@ -269,22 +268,22 @@ namespace Godot
|
|||
// Constructors
|
||||
public Transform2D(Vector2 xAxis, Vector2 yAxis, Vector2 origin)
|
||||
{
|
||||
this.x = xAxis;
|
||||
this.y = yAxis;
|
||||
this.o = origin;
|
||||
x = xAxis;
|
||||
y = yAxis;
|
||||
o = origin;
|
||||
}
|
||||
|
||||
public Transform2D(real_t xx, real_t xy, real_t yx, real_t yy, real_t ox, real_t oy)
|
||||
{
|
||||
this.x = new Vector2(xx, xy);
|
||||
this.y = new Vector2(yx, yy);
|
||||
this.o = new Vector2(ox, oy);
|
||||
x = new Vector2(xx, xy);
|
||||
y = new Vector2(yx, yy);
|
||||
o = new Vector2(ox, oy);
|
||||
}
|
||||
|
||||
public Transform2D(real_t rot, Vector2 pos)
|
||||
{
|
||||
real_t cr = Mathf.Cos( (real_t)rot);
|
||||
real_t sr = Mathf.Sin( (real_t)rot);
|
||||
real_t cr = Mathf.Cos(rot);
|
||||
real_t sr = Mathf.Sin(rot);
|
||||
x.x = cr;
|
||||
y.y = cr;
|
||||
x.y = -sr;
|
||||
|
@ -345,9 +344,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this.x.ToString(),
|
||||
this.y.ToString(),
|
||||
this.o.ToString()
|
||||
x.ToString(),
|
||||
y.ToString(),
|
||||
o.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -355,9 +354,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this.x.ToString(format),
|
||||
this.y.ToString(format),
|
||||
this.o.ToString(format)
|
||||
x.ToString(format),
|
||||
y.ToString(format),
|
||||
o.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// file: core/math/math_2d.h
|
||||
// commit: 7ad14e7a3e6f87ddc450f7e34621eb5200808451
|
||||
// file: core/math/math_2d.cpp
|
||||
// commit: 7ad14e7a3e6f87ddc450f7e34621eb5200808451
|
||||
// file: core/variant_call.cpp
|
||||
// commit: 5ad9be4c24e9d7dc5672fdc42cea896622fe5685
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -101,8 +99,8 @@ namespace Godot
|
|||
|
||||
public Vector2 Clamped(real_t length)
|
||||
{
|
||||
Vector2 v = this;
|
||||
real_t l = this.Length();
|
||||
var v = this;
|
||||
real_t l = Length();
|
||||
|
||||
if (l > 0 && length < l)
|
||||
{
|
||||
|
@ -115,15 +113,15 @@ namespace Godot
|
|||
|
||||
public Vector2 CubicInterpolate(Vector2 b, Vector2 preA, Vector2 postB, real_t t)
|
||||
{
|
||||
Vector2 p0 = preA;
|
||||
Vector2 p1 = this;
|
||||
Vector2 p2 = b;
|
||||
Vector2 p3 = postB;
|
||||
var p0 = preA;
|
||||
var p1 = this;
|
||||
var p2 = b;
|
||||
var p3 = postB;
|
||||
|
||||
real_t t2 = t * t;
|
||||
real_t t3 = t2 * t;
|
||||
|
||||
return 0.5f * ((p1 * 2.0f) +
|
||||
return 0.5f * (p1 * 2.0f +
|
||||
(-p0 + p2) * t +
|
||||
(2.0f * p0 - 5.0f * p1 + 4 * p2 - p3) * t2 +
|
||||
(-p0 + 3.0f * p1 - 3.0f * p2 + p3) * t3);
|
||||
|
@ -166,17 +164,17 @@ namespace Godot
|
|||
|
||||
public Vector2 LinearInterpolate(Vector2 b, real_t t)
|
||||
{
|
||||
Vector2 res = this;
|
||||
var res = this;
|
||||
|
||||
res.x += (t * (b.x - x));
|
||||
res.y += (t * (b.y - y));
|
||||
res.x += t * (b.x - x);
|
||||
res.y += t * (b.y - y);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
public Vector2 Normalized()
|
||||
{
|
||||
Vector2 result = this;
|
||||
var result = this;
|
||||
result.Normalize();
|
||||
return result;
|
||||
}
|
||||
|
@ -199,8 +197,8 @@ namespace Godot
|
|||
}
|
||||
public void Set(Vector2 v)
|
||||
{
|
||||
this.x = v.x;
|
||||
this.y = v.y;
|
||||
x = v.x;
|
||||
y = v.y;
|
||||
}
|
||||
|
||||
public Vector2 Slide(Vector2 n)
|
||||
|
@ -244,8 +242,8 @@ namespace Godot
|
|||
}
|
||||
public Vector2(Vector2 v)
|
||||
{
|
||||
this.x = v.x;
|
||||
this.y = v.y;
|
||||
x = v.x;
|
||||
y = v.y;
|
||||
}
|
||||
|
||||
public static Vector2 operator +(Vector2 left, Vector2 right)
|
||||
|
@ -320,10 +318,8 @@ namespace Godot
|
|||
{
|
||||
return left.y < right.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.x < right.x;
|
||||
}
|
||||
|
||||
return left.x < right.x;
|
||||
}
|
||||
|
||||
public static bool operator >(Vector2 left, Vector2 right)
|
||||
|
@ -332,10 +328,8 @@ namespace Godot
|
|||
{
|
||||
return left.y > right.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.x > right.x;
|
||||
}
|
||||
|
||||
return left.x > right.x;
|
||||
}
|
||||
|
||||
public static bool operator <=(Vector2 left, Vector2 right)
|
||||
|
@ -344,10 +338,8 @@ namespace Godot
|
|||
{
|
||||
return left.y <= right.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.x <= right.x;
|
||||
}
|
||||
|
||||
return left.x <= right.x;
|
||||
}
|
||||
|
||||
public static bool operator >=(Vector2 left, Vector2 right)
|
||||
|
@ -356,10 +348,8 @@ namespace Godot
|
|||
{
|
||||
return left.y >= right.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
return left.x >= right.x;
|
||||
}
|
||||
|
||||
return left.x >= right.x;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
|
@ -386,8 +376,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.x.ToString(),
|
||||
this.y.ToString()
|
||||
x.ToString(),
|
||||
y.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -395,8 +385,8 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1})", new object[]
|
||||
{
|
||||
this.x.ToString(format),
|
||||
this.y.ToString(format)
|
||||
x.ToString(format),
|
||||
y.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// file: core/math/vector3.h
|
||||
// commit: bd282ff43f23fe845f29a3e25c8efc01bd65ffb0
|
||||
// file: core/math/vector3.cpp
|
||||
// commit: 7ad14e7a3e6f87ddc450f7e34621eb5200808451
|
||||
// file: core/variant_call.cpp
|
||||
// commit: 5ad9be4c24e9d7dc5672fdc42cea896622fe5685
|
||||
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
#if REAL_T_IS_DOUBLE
|
||||
using real_t = System.Double;
|
||||
#else
|
||||
|
@ -67,7 +65,7 @@ namespace Godot
|
|||
|
||||
internal void Normalize()
|
||||
{
|
||||
real_t length = this.Length();
|
||||
real_t length = Length();
|
||||
|
||||
if (length == 0f)
|
||||
{
|
||||
|
@ -105,24 +103,24 @@ namespace Godot
|
|||
{
|
||||
return new Vector3
|
||||
(
|
||||
(y * b.z) - (z * b.y),
|
||||
(z * b.x) - (x * b.z),
|
||||
(x * b.y) - (y * b.x)
|
||||
y * b.z - z * b.y,
|
||||
z * b.x - x * b.z,
|
||||
x * b.y - y * b.x
|
||||
);
|
||||
}
|
||||
|
||||
public Vector3 CubicInterpolate(Vector3 b, Vector3 preA, Vector3 postB, real_t t)
|
||||
{
|
||||
Vector3 p0 = preA;
|
||||
Vector3 p1 = this;
|
||||
Vector3 p2 = b;
|
||||
Vector3 p3 = postB;
|
||||
var p0 = preA;
|
||||
var p1 = this;
|
||||
var p2 = b;
|
||||
var p3 = postB;
|
||||
|
||||
real_t t2 = t * t;
|
||||
real_t t3 = t2 * t;
|
||||
|
||||
return 0.5f * (
|
||||
(p1 * 2.0f) + (-p0 + p2) * t +
|
||||
p1 * 2.0f + (-p0 + p2) * t +
|
||||
(2.0f * p0 - 5.0f * p1 + 4f * p2 - p3) * t2 +
|
||||
(-p0 + 3.0f * p1 - 3.0f * p2 + p3) * t3
|
||||
);
|
||||
|
@ -180,9 +178,9 @@ namespace Godot
|
|||
{
|
||||
return new Vector3
|
||||
(
|
||||
x + (t * (b.x - x)),
|
||||
y + (t * (b.y - y)),
|
||||
z + (t * (b.z - z))
|
||||
x + t * (b.x - x),
|
||||
y + t * (b.y - y),
|
||||
z + t * (b.z - z)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -198,7 +196,7 @@ namespace Godot
|
|||
|
||||
public Vector3 Normalized()
|
||||
{
|
||||
Vector3 v = this;
|
||||
var v = this;
|
||||
v.Normalize();
|
||||
return v;
|
||||
}
|
||||
|
@ -234,9 +232,9 @@ namespace Godot
|
|||
}
|
||||
public void Set(Vector3 v)
|
||||
{
|
||||
this.x = v.x;
|
||||
this.y = v.y;
|
||||
this.z = v.z;
|
||||
x = v.x;
|
||||
y = v.y;
|
||||
z = v.z;
|
||||
}
|
||||
|
||||
public Vector3 Slide(Vector3 n)
|
||||
|
@ -294,9 +292,9 @@ namespace Godot
|
|||
}
|
||||
public Vector3(Vector3 v)
|
||||
{
|
||||
this.x = v.x;
|
||||
this.y = v.y;
|
||||
this.z = v.z;
|
||||
x = v.x;
|
||||
y = v.y;
|
||||
z = v.z;
|
||||
}
|
||||
|
||||
public static Vector3 operator +(Vector3 left, Vector3 right)
|
||||
|
@ -379,8 +377,7 @@ namespace Godot
|
|||
{
|
||||
if (left.y == right.y)
|
||||
return left.z < right.z;
|
||||
else
|
||||
return left.y < right.y;
|
||||
return left.y < right.y;
|
||||
}
|
||||
|
||||
return left.x < right.x;
|
||||
|
@ -392,8 +389,7 @@ namespace Godot
|
|||
{
|
||||
if (left.y == right.y)
|
||||
return left.z > right.z;
|
||||
else
|
||||
return left.y > right.y;
|
||||
return left.y > right.y;
|
||||
}
|
||||
|
||||
return left.x > right.x;
|
||||
|
@ -405,8 +401,7 @@ namespace Godot
|
|||
{
|
||||
if (left.y == right.y)
|
||||
return left.z <= right.z;
|
||||
else
|
||||
return left.y < right.y;
|
||||
return left.y < right.y;
|
||||
}
|
||||
|
||||
return left.x < right.x;
|
||||
|
@ -418,8 +413,7 @@ namespace Godot
|
|||
{
|
||||
if (left.y == right.y)
|
||||
return left.z >= right.z;
|
||||
else
|
||||
return left.y > right.y;
|
||||
return left.y > right.y;
|
||||
}
|
||||
|
||||
return left.x > right.x;
|
||||
|
@ -449,9 +443,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this.x.ToString(),
|
||||
this.y.ToString(),
|
||||
this.z.ToString()
|
||||
x.ToString(),
|
||||
y.ToString(),
|
||||
z.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -459,9 +453,9 @@ namespace Godot
|
|||
{
|
||||
return String.Format("({0}, {1}, {2})", new object[]
|
||||
{
|
||||
this.x.ToString(format),
|
||||
this.y.ToString(format),
|
||||
this.z.ToString(format)
|
||||
x.ToString(format),
|
||||
y.ToString(format),
|
||||
z.ToString(format)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue