private void ManageCharged(InputMonitor monitor) { if (!Input.GetMouseButton(0) || monitor.IsDragging) { BeginInactive(); return; } var progress = Mathf.Clamp(1 - (Time.time - _chargedTime) * 4, 0, 1); _indicator.color = new Color(1, 1, 1, progress); }
private void ManageCharging(InputMonitor monitor) { if (!Input.GetMouseButton(0) || monitor.IsDragging) { BeginInactive(); return; } var progress = Mathf.Clamp((Time.time - _beginTime - _delay) / _chargeLength, 0, 1); if (progress >= 1) { BeginCharged(); return; } _indicator.color = new Color(1, 1, 1, progress); _indicator.fillAmount = progress; }
private void ManageState(InputMonitor monitor) { switch (State) { case LongPressState.Inactive: ManageInactive(); break; case LongPressState.Charging: ManageCharging(monitor); break; case LongPressState.Charged: ManageCharged(monitor); break; default: throw new ArgumentOutOfRangeException(); } }
public void UpdateInput(InputMonitor monitor) { ManageState(monitor); RightClick(); }