public void StartPlayerMovement(float lenght) { currentGameState = EGameState.Movement; StickHeroPlatform nextPlatform = m_Platforms[counter + 1]; //находим минимальную длину стика для успешного перехода float targetLenght = nextPlatform.transform.position.x - m_Stick.transform.position.x; float platformSize = nextPlatform.GetPlatformSize(); float min = targetLenght - platformSize * 0.5f; min -= m_Player.transform.localScale.x * 0.9f; //находим максимальную длину стика для успешного перехода float max = targetLenght + platformSize * 0.5f; //при успехе переходим в центр платформы, иначе падаем if (lenght < min || lenght > max) { float targetPosition = m_Stick.transform.position.x + lenght + m_Player.transform.localScale.x; m_Player.StartMovement(targetPosition, true); } else { float targetPosition = nextPlatform.transform.position.x; m_Player.StartMovement(targetPosition, false); GenerateBlock(); ShowScore(); } }
public void StartPlayerMovement(float length) { currentGameState = EGameState.Movement; StickHeroPlatform nextPlatform = m_Platforms[counter + 1]; // находим min длину стика float targetLength = nextPlatform.transform.position.x - m_Stick.transform.position.x; float platformSize = nextPlatform.GetPlatformSize(); float min = targetLength - platformSize * 0.5f; min -= m_Player.transform.localScale.x * 0.9f; // находим мах длину стика float max = targetLength + platformSize * 0.5f; //при успехе переходим в центр следующей платформы if (length < min || length > max) { // будем падать float targetPosition = m_Stick.transform.position.x + length + m_Player.transform.localScale.x; m_Player.StartMovement(targetPosition, true); } else { float targetPosition = nextPlatform.transform.position.x; m_Player.StartMovement(targetPosition, false); SpawnNext(); } }
public void StartPlayerMovement(float length) { currentGameState = EGameState.Movement; StickHeroPlatform nextPlatform = m_Platforms[counter + 1]; //находим минимальную длину стика для успешного перехода float targetLength = nextPlatform.transform.position.x - m_Stick.transform.position.x; float platformSize = nextPlatform.GetPlatformSize(); float min = targetLength - platformSize * 0.5f; min -= m_Player.transform.localScale.x; //находим максимальную длину стика float max = targetLength + platformSize * 0.5f; //при успехе игрок переходит в центр платформы, иначе падаем if (length > min && length < max) { m_Player.StartMovement( nextPlatform.transform.position.x, false); } else { float targetPos = m_Stick.transform.position.x + length + m_Player.transform.localScale.x; m_Player.StartMovement(targetPos, true); } }