public InputSourceEditor(BaseInputCollector inputCollector, int inputSourceIndex) { this.inputCollectorInstanceID = inputCollector.GetInstanceID(); this.inputSourceIndex = inputSourceIndex; this.baseInputSource = inputCollector[inputSourceIndex]; this.Show(); }
protected T ConvertToInputSourceDefinition(BaseInputSource source) { if (source is T) { return(source as T); } return(null); }
/// <summary> /// Selects the current input source instance. /// </summary> /// <returns><c>true</c>, if input source instance was change, <c>false</c> if the source is the same.</returns> /// <param name="source">Source.</param> protected virtual void SelectCurrentInputSourceInstance(BaseInputSource source) { if (CurrentInputSourceInstance != source) { CurrentInputSourceInstance = source; if (InputSourceChanged != null) { InputSourceChanged(source); } } }
public void AddInputSource(Type inputSourceType) { if (inputSourceType.IsSubclassOf(typeof(BaseInputSource))) { GameObject gameObject = CreateInputSourceHolder(inputSourceType.Name); BaseInputSource source = gameObject.AddComponent(inputSourceType) as BaseInputSource; inputSources.Add(source); } else { throw new TypeIsNotInputSourceException(); } }
/// <summary> /// Collecting inputs. /// </summary> public void CollectInputs() { for (int i = 0; i < inputSources.Count; i++) { BaseInputSource source = inputSources[i]; if (source != null) { source.ReadInputs(); if (source.PositiveReading) { SelectCurrentInputSourceInstance(source); } } } }
private void InputSourceChanged(BaseInputSource source) { _currentinputSource = ConvertToInputSourceDefinition(source); }