public virtual void Deactivate(InputScheme nextSchem) { if (enabled) { enabled = false; } }
public virtual void Activate(InputScheme prev) { if (!enabled) { enabled = true; } }
protected virtual void Update() { foreach (InputScheme schem in m_InputSchemes) { if (schem.enabled || !schem.ShouldActivate) { continue; } if (m_CurrentScheme != null) { m_CurrentScheme.Deactivate(schem); } schem.Activate(m_CurrentScheme); m_CurrentScheme = schem; break; } }
protected virtual void Start() { m_InputSchemes = GetComponents <InputScheme>(); foreach (InputScheme schem in m_InputSchemes) { schem.Deactivate(null); if (m_CurrentScheme == null && schem.IsDefault) { m_DefaultScheme = schem; } } if (m_DefaultScheme == null) { Debug.LogError("[InputSchemeSwitcher] Default scheme not set."); return; } m_DefaultScheme.Activate(null); m_CurrentScheme = m_DefaultScheme; }