internal void Update(float time, bool active) { if (_lastTap.HasValue) { LastTap tap = _lastTap.Value; tap.Time += time; if (_lastTap.Value.Time > (double)DoubleTapTimeInMs / 1000.0f) { _lastTap = null; } else { _lastTap = tap; } } AnalyzeMouse(time, active); AnalyzeTouch(time); }
void tryDash(bool tapHorizontalUp, bool tapHorizontalDown, bool tapVerticalUp, bool tapVerticalDown, bool isFire3Down, float moveHorizontal, float moveVertical) { if (!gameObject.GetComponent <config>().getDashButton()) { if (tapHorizontalUp) { if (lastTap == LastTap.HorizontalUp) { if (timeBetweenInput < 1f) { player.GetComponent <player_mover>().dash(Vector2.right); lastTap = LastTap.None; } else { timeBetweenInput = 0f; } } else { lastTap = LastTap.HorizontalUp; timeBetweenInput = 0f; } } if (tapHorizontalDown) { if (lastTap == LastTap.HorizontalDown) { if (timeBetweenInput < 1f) { player.GetComponent <player_mover>().dash(-Vector2.right); lastTap = LastTap.None; } else { timeBetweenInput = 0f; } } else { lastTap = LastTap.HorizontalDown; timeBetweenInput = 0f; } } if (tapVerticalUp) { if (lastTap == LastTap.VerticalUp) { if (timeBetweenInput < 1f) { player.GetComponent <player_mover>().dash(Vector2.up); lastTap = LastTap.None; } else { timeBetweenInput = 0f; } } else { lastTap = LastTap.VerticalUp; timeBetweenInput = 0f; } } if (tapVerticalDown) { if (lastTap == LastTap.VerticalDown) { if (timeBetweenInput < 1f) { player.GetComponent <player_mover>().dash(-Vector2.up); lastTap = LastTap.None; } else { timeBetweenInput = 0f; } } else { lastTap = LastTap.VerticalDown; timeBetweenInput = 0f; } } } else { if (isFire3Down) { if (moveHorizontal > 0) { moveHorizontal = 1; } if (moveHorizontal < 0) { moveHorizontal = -1; } if (moveVertical > 0) { moveVertical = 1; } if (moveVertical < 0) { moveVertical = -1; } if (moveHorizontal != 0 && moveVertical != 0) { moveHorizontal /= 1.41f; moveVertical /= 1.41f; } Vector2 dir = new Vector2( moveHorizontal, moveVertical ); player.GetComponent <player_mover>().dash(dir); } } }