Struct SigCellSelected
pub struct SigCellSelected<'c, C>where
C: WithSignals,{ /* private fields */ }
Implementations§
§impl<'c, C> SigCellSelected<'c, C>where
C: WithSignals,
impl<'c, C> SigCellSelected<'c, C>where
C: WithSignals,
pub fn emit(&mut self)
Methods from Deref<Target = TypedSignal<'c, C, ()>>§
pub fn builder<'ts>(&'ts self) -> ConnectBuilder<'ts, 'c, C, Ps>
pub fn builder<'ts>(&'ts self) -> ConnectBuilder<'ts, 'c, C, Ps>
Fully customizable connection setup.
The returned builder provides several methods to configure how to connect the signal. It needs to be finalized with a call
to any of the builder’s connect_*
methods.
pub fn emit_tuple(&mut self, args: Ps)where
Ps: OutParamTuple,
pub fn emit_tuple(&mut self, args: Ps)where
Ps: OutParamTuple,
Emit the signal with the given parameters.
This is intended for generic use. Typically, you’ll want to use the more specific emit()
method of the code-generated signal
type, which also has named parameters.
pub fn connect<F>(&self, function: F) -> ConnectHandlewhere
F: for<'c_rcv> SignalReceiver<(), Ps> + 'static,
IndirectSignalReceiver<'c_rcv, (), Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
pub fn connect<F>(&self, function: F) -> ConnectHandlewhere
F: for<'c_rcv> SignalReceiver<(), Ps> + 'static,
IndirectSignalReceiver<'c_rcv, (), Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
Connect a non-member function (global function, associated function or closure).
Example usages:
sig.connect(Self::static_func);
sig.connect(global_func);
sig.connect(|arg| { /* closure */ });
- To connect to a method on the object that owns this signal, use
connect_self()
. - If you need
connect flags
or cross-thread signals, usebuilder()
.
pub fn connect_self<F, Declarer>(&self, function: F) -> ConnectHandlewhere
F: for<'c_rcv> SignalReceiver<&'c_rcv mut C, Ps> + 'static,
IndirectSignalReceiver<'c_rcv, &'c_rcv mut C, Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
C: UniformObjectDeref<Declarer>,
pub fn connect_self<F, Declarer>(&self, function: F) -> ConnectHandlewhere
F: for<'c_rcv> SignalReceiver<&'c_rcv mut C, Ps> + 'static,
IndirectSignalReceiver<'c_rcv, &'c_rcv mut C, Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
C: UniformObjectDeref<Declarer>,
Connect a method (member function) with &mut self
as the first parameter.
- To connect to methods on other objects, use
connect_other()
. - If you need
connect flags
or cross-thread signals, usebuilder()
.
pub fn connect_other<F, OtherC, Declarer>(
&self,
object: &impl ToSignalObj<OtherC>,
method: F,
) -> ConnectHandlewhere
OtherC: UniformObjectDeref<Declarer>,
F: for<'c_rcv> SignalReceiver<&'c_rcv mut OtherC, Ps> + 'static,
IndirectSignalReceiver<'c_rcv, &'c_rcv mut OtherC, Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
pub fn connect_other<F, OtherC, Declarer>(
&self,
object: &impl ToSignalObj<OtherC>,
method: F,
) -> ConnectHandlewhere
OtherC: UniformObjectDeref<Declarer>,
F: for<'c_rcv> SignalReceiver<&'c_rcv mut OtherC, Ps> + 'static,
IndirectSignalReceiver<'c_rcv, &'c_rcv mut OtherC, Ps, F>: for<'c_rcv> From<&'c_rcv mut F>,
Connect a method (member function) with any &mut OtherC
as the first parameter, where
OtherC
: GodotClass
(both user and engine classes are accepted).
The parameter object
can be of 2 different “categories”:
- Any
&Gd<OtherC>
(e.g.:&Gd<Node>
,&Gd<CustomUserClass>
). &OtherC
, as long asOtherC
is a user class that contains abase
field (it implements theWithBaseField
trait).
- To connect to methods on the object that owns this signal, use
connect_self()
. - If you need
connect flags
or cross-thread signals, usebuilder()
.
pub fn to_fallible_future(&self) -> FallibleSignalFuture<R> ⓘ
pub fn to_fallible_future(&self) -> FallibleSignalFuture<R> ⓘ
Creates a fallible future for this signal.
The future will resolve the next time the signal is emitted.
See FallibleSignalFuture
for details.
pub fn to_future(&self) -> SignalFuture<R> ⓘ
pub fn to_future(&self) -> SignalFuture<R> ⓘ
Creates a future for this signal.
The future will resolve the next time the signal is emitted, but might panic if the signal object is freed.
See SignalFuture
for details.