Add Array.front() and Array.back()
This commit is contained in:
parent
959683c3d8
commit
bf4fda64fd
4 changed files with 31 additions and 0 deletions
|
@ -150,6 +150,16 @@ void Array::erase(const Variant& p_value) {
|
||||||
_p->array.erase(p_value);
|
_p->array.erase(p_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Variant Array::front() const {
|
||||||
|
ERR_FAIL_COND_V(_p->array.size() == 0, Variant());
|
||||||
|
return operator[](0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Variant Array::back() const {
|
||||||
|
ERR_FAIL_COND_V(_p->array.size() == 0, Variant());
|
||||||
|
return operator[](_p->array.size() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
int Array::find(const Variant& p_value, int p_from) const {
|
int Array::find(const Variant& p_value, int p_from) const {
|
||||||
|
|
||||||
return _p->array.find(p_value, p_from);
|
return _p->array.find(p_value, p_from);
|
||||||
|
|
|
@ -67,6 +67,9 @@ public:
|
||||||
void insert(int p_pos, const Variant& p_value);
|
void insert(int p_pos, const Variant& p_value);
|
||||||
void remove(int p_pos);
|
void remove(int p_pos);
|
||||||
|
|
||||||
|
Variant front() const;
|
||||||
|
Variant back() const;
|
||||||
|
|
||||||
void sort();
|
void sort();
|
||||||
void sort_custom(Object *p_obj,const StringName& p_function);
|
void sort_custom(Object *p_obj,const StringName& p_function);
|
||||||
void invert();
|
void invert();
|
||||||
|
|
|
@ -472,6 +472,8 @@ static void _call_##m_type##_##m_method(Variant& r_ret,Variant& p_self,const Var
|
||||||
VCALL_LOCALMEM1(Array,resize);
|
VCALL_LOCALMEM1(Array,resize);
|
||||||
VCALL_LOCALMEM2(Array,insert);
|
VCALL_LOCALMEM2(Array,insert);
|
||||||
VCALL_LOCALMEM1(Array,remove);
|
VCALL_LOCALMEM1(Array,remove);
|
||||||
|
VCALL_LOCALMEM0R(Array,front);
|
||||||
|
VCALL_LOCALMEM0R(Array,back);
|
||||||
VCALL_LOCALMEM2R(Array,find);
|
VCALL_LOCALMEM2R(Array,find);
|
||||||
VCALL_LOCALMEM2R(Array,rfind);
|
VCALL_LOCALMEM2R(Array,rfind);
|
||||||
VCALL_LOCALMEM1R(Array,find_last);
|
VCALL_LOCALMEM1R(Array,find_last);
|
||||||
|
@ -1576,6 +1578,8 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl
|
||||||
ADDFUNC2(ARRAY,NIL,Array,insert,INT,"pos",NIL,"value",varray());
|
ADDFUNC2(ARRAY,NIL,Array,insert,INT,"pos",NIL,"value",varray());
|
||||||
ADDFUNC1(ARRAY,NIL,Array,remove,INT,"pos",varray());
|
ADDFUNC1(ARRAY,NIL,Array,remove,INT,"pos",varray());
|
||||||
ADDFUNC1(ARRAY,NIL,Array,erase,NIL,"value",varray());
|
ADDFUNC1(ARRAY,NIL,Array,erase,NIL,"value",varray());
|
||||||
|
ADDFUNC0(ARRAY,NIL,Array,front,varray());
|
||||||
|
ADDFUNC0(ARRAY,NIL,Array,back,varray());
|
||||||
ADDFUNC2(ARRAY,INT,Array,find,NIL,"what",INT,"from",varray(0));
|
ADDFUNC2(ARRAY,INT,Array,find,NIL,"what",INT,"from",varray(0));
|
||||||
ADDFUNC2(ARRAY,INT,Array,rfind,NIL,"what",INT,"from",varray(-1));
|
ADDFUNC2(ARRAY,INT,Array,rfind,NIL,"what",INT,"from",varray(-1));
|
||||||
ADDFUNC1(ARRAY,INT,Array,find_last,NIL,"value",varray());
|
ADDFUNC1(ARRAY,INT,Array,find_last,NIL,"value",varray());
|
||||||
|
|
|
@ -4656,6 +4656,20 @@
|
||||||
Remove the first occurrence of a value from the array.
|
Remove the first occurrence of a value from the array.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="front">
|
||||||
|
<return type="Variant">
|
||||||
|
</return>
|
||||||
|
<description>
|
||||||
|
Returns the first element of the array if the array is not empty (size>0).
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
|
<method name="back">
|
||||||
|
<return type="Variant">
|
||||||
|
</return>
|
||||||
|
<description>
|
||||||
|
Returns the last element of the array if the array is not empty (size>0).
|
||||||
|
</description>
|
||||||
|
</method>
|
||||||
<method name="find">
|
<method name="find">
|
||||||
<return type="int">
|
<return type="int">
|
||||||
</return>
|
</return>
|
||||||
|
|
Loading…
Reference in a new issue