pub fn start_sequence<CustomEvent: Clone + Eq + Hash>(
		&mut self,
		sequence: Sequence<CustomEvent>,
		settings: SequenceInstanceSettings,
	) -> Result<SequenceInstanceHandle<CustomEvent>, StartSequenceError> {
		if let Some(group) = self.first_missing_group_in_set(sequence.groups()) {
			return Err(StartSequenceError::NoGroupWithId(group));
		}
		sequence.validate()?;
		let id = settings.id.unwrap_or(SequenceInstanceId::new());
		let (instance, handle) =
			sequence.create_instance(id, settings, self.command_producer.clone());
		let instance = Owned::new(&self.resource_collector().handle(), instance);
		self.command_producer
			.push(SequenceCommand::StartSequenceInstance(id, instance).into())?;
		Ok(handle)
	}
/// Starts a sequence.
// TODO: find a way to make sure we're not exceeding the sequence instance limit
Starts a sequence.
TODO: find a way to make sure we're not exceeding the sequence instance limit
Starts a sequence . TODO : find a way to make sure we ' re not exceeding the sequence instance limit
pub fn start_sequence<CustomEvent: Clone + Eq + Hash>(
		&mut self,
		sequence: Sequence<CustomEvent>,
		settings: SequenceInstanceSettings,
	) -> Result<SequenceInstanceHandle<CustomEvent>, StartSequenceError> {
		if let Some(group) = self.first_missing_group_in_set(sequence.groups()) {
			return Err(StartSequenceError::NoGroupWithId(group));
		}
		sequence.validate()?;
		let id = settings.id.unwrap_or(SequenceInstanceId::new());
		let (instance, handle) =
			sequence.create_instance(id, settings, self.command_producer.clone());
		let instance = Owned::new(&self.resource_collector().handle(), instance);
		self.command_producer
			.push(SequenceCommand::StartSequenceInstance(id, instance).into())?;
		Ok(handle)
	}
pub fn start_sequence < CustomEvent : Clone + Eq + Hash > ( & mut self , sequence : Sequence < CustomEvent > , settings : SequenceInstanceSettings , ) -> Result < SequenceInstanceHandle < CustomEvent > , StartSequenceError > { if let Some ( group ) = self . first_missing_group_in_set ( sequence . groups ( ) ) { return Err ( StartSequenceError :: NoGroupWithId ( group ) ) ; } sequence . validate ( ) ? ; let id = settings . id . unwrap_or ( SequenceInstanceId :: new ( ) ) ; let ( instance , handle ) = sequence . create_instance ( id , settings , self . command_producer . clone ( ) ) ; let instance = Owned :: new ( & self . resource_collector ( ) . handle ( ) , instance ) ; self . command_producer . push ( SequenceCommand :: StartSequenceInstance ( id , instance ) . into ( ) ) ? ; Ok ( handle ) }
Starts a sequence.
Starts a sequence .
&mut self
sequence
Sequence<CustomEvent>
settings
SequenceInstanceSettings
&mut self
sequence
Sequence<CustomEvent>
settings
SequenceInstanceSettings