void setGroundedValues() { if (controller.isGrounded) { airborneFramesTime = 0; jumpingTime = 0; isAirborne = false; isJumping = false; isDoubleJumping = false; fallingAfterAttacking = false; if (!IsMovable.getIsGrounded()) { IsMovable.changeGrounded(); } } else { airborneFramesTime++; if (IsMovable.getIsGrounded()) { IsMovable.changeGrounded(); } } if (Input.GetButtonDown("Jump") && !controller.isGrounded && !isDoubleJumping && isAirborne) { isDoubleJumping = true; jumpingTime = 0; airborneFramesTime = numberOfDoubleJumpAirborneFrames; } }
private void enableMovement() { if (!IsMovable.getIsAbleToMove()) { IsMovable.changeMovement(); } }
void chasePlayer() { if (Vector3.Distance(currentTargetPosition, IsMovable.getPlayerPosition()) > maxDeviatingDistanceFromPlayer) { setNewDestinationTarget(IsMovable.getPlayerPosition()); } }
void initializeParameters() { enemyAI = GetComponentInParent <EnemyAI> (); initialLightRange = IsMovable.getLightRange(); sightDistance = initialSightDistance; onLight = false; }
void forceUpdateSightDistance() { sightDistance = ((IsMovable.getLightRange() - initialLightRange) * sightIncreaseRate) + initialSightDistance; if (sightDistance > finalSightDistance) { sightDistance = finalSightDistance; } }
void updateIndicatorSize() { Vector3 scale = transform.localScale; float yScale = finalImageScale * ((IsMovable.getLightRange() - minimumLightRange) / (maximumLightRange - minimumLightRange)); scale.y = yScale; transform.localScale = scale; }
void autoTurnOffVisualCue() { if (lightRange <= IsMovable.getLightRange() && visualCue.activeSelf) { visualCue.SetActive(false); } if (lightRange > IsMovable.getLightRange() && !visualCue.activeSelf) { visualCue.SetActive(true); } }
void OnHearSoundEvent(float soundIntensity) { if (verifyIfOnScreen()) { float distance = Vector3.Distance(transform.position, IsMovable.getPlayerPosition()); float hearingVolumeIntensity = soundIntensity * Mathf.Exp(-airBetaAttenuationCoefficient * distance); float decibelHearingVolumeIntensity = 10 * Mathf.Log10(hearingVolumeIntensity); if (decibelHearingVolumeIntensity > minHearingDecibelVolume) { suspectPlayer(); } } }
void moveCharacter(MovementReadings movement) { moveDirection = Vector3.zero; stopJumpingIfAttacking(); if (IsMovable.getIsAbleToMove() && !IsMovable.getIsStunned()) { setGroundedValues(); setMovingInputs(); fallUnderGravity(); controller.Move(moveDirection * Time.deltaTime); } }
void updateSightDistance() { if (IsMovable.getLightRange() - initialLightRange > 0) { sightDistance = ((IsMovable.getLightRange() - initialLightRange) * sightIncreaseRate) + initialSightDistance; if (sightDistance > finalSightDistance) { sightDistance = finalSightDistance; } } if (onLight && sightDistance < lightRange) { sightDistance = lightRange; } }
private void enableMovement() { if (!IsMovable.getIsAbleToMove()) { IsMovable.changeMovement(); } if (!IsMovable.getIsAbleToRotate()) { IsMovable.changeIsAbleToRotate(); } if (!IsMovable.getIsCameraAbleToMove()) { IsMovable.changeCameraMovement(); } }
void autoDisable() { bool isInCombat; if (IsMovable.getLockedOnEnemyPosition() == Vector3.zero) { isInCombat = false; } else { isInCombat = true; } if (isInCombat != whenToDisable) { gameObject.SetActive(false); } }
void OnHearSoundEvent(float soundIntensity) { if (verifyIfOnScreen() && Mathf.Abs(previousDetectedTime - Time.time) > minimumTimeDifference) { //ClearConsole (); manageLightCue(); previousDetectedTime = Time.time; float distance = Vector3.Distance(transform.position, IsMovable.getPlayerPosition()); float hearingVolumeIntensity = soundIntensity * Mathf.Exp(-airBetaAttenuationCoefficient * distance); float decibelHearingVolumeIntensity = 10 * Mathf.Log10(hearingVolumeIntensity); if (decibelHearingVolumeIntensity > minHearingDecibelVolume) { addToBuffer(Time.time); checkPassword(); } } }
void setLightControl() { if (!SerialComReader.isInSerial) { if (Input.GetAxisRaw("LightControl") > 0 && lightIntensity != maximumLight) { lightIntensity += lightIncreaseSensitivity; if (lightIntensity > maximumLight) { lightIntensity = maximumLight; } float lightRange = minimumLightRange + (lightIntensity - minimumLight) * (maximumLightRange - minimumLightRange); lt.range = lightRange; IsMovable.changeLightRange(lightRange); } if (Input.GetAxisRaw("LightControl") < 0 && lightIntensity != minimumLight) { lightIntensity -= lightIncreaseSensitivity; if (lightIntensity < minimumLight) { lightIntensity = minimumLight; } float lightRange = minimumLightRange + (lightIntensity - minimumLight) * (maximumLightRange - minimumLightRange); lt.range = lightRange; IsMovable.changeLightRange(lightRange); } } else { lightIntensity = 1.0f + SERIAL_ARDUINO_.SerialCom.previousData [0] / 255.0f; float lightRange = minimumLightRange + (lightIntensity - minimumLight) * (maximumLightRange - minimumLightRange); lt.range = lightRange; IsMovable.changeLightRange(lightRange); } }
public void customClearMap(float revealingRadiusX, float revealingRadiusY) { if (transform.position.y > IsMovable.getPlayerPosition().y&& transform.position.y < miniMapCamera.position.y) { playerPosition = IsMovable.getPlayerPosition(); Vector3 translatedPos = IsMovable.getPlayerPosition() - transform.position; int pixelPosX = Mathf.RoundToInt(translatedPos.x * precisePixelPerUnitX + centerPixel.x); int pixelPosY = Mathf.RoundToInt(translatedPos.z * precisePixelPerUnitY + centerPixel.y); hasMapChanged = true; // changeMapFloorEnabler.isEnabled = true; CustomCreateCircle(pixelPosX, pixelPosY, revealingRadiusX, revealingRadiusY, transparent); texture.SetPixels(pixels); texture.Apply(false); } }
private void clearMap() { if (clearTexture) { ClearPixels(); } playerPosition = IsMovable.getPlayerPosition(); Vector3 translatedPos = IsMovable.getPlayerPosition() - transform.position; int pixelPosX = Mathf.RoundToInt(translatedPos.x * precisePixelPerUnitX + centerPixel.x); int pixelPosY = Mathf.RoundToInt(translatedPos.z * precisePixelPerUnitY + centerPixel.y); CreateCircle(pixelPosX, pixelPosY, revealingRadiusX, revealingRadiusY, transparent); texture.SetPixels(pixels); texture.Apply(false); changedRadius = false; clearTexture = false; }
void goToPlayerLocation() { setNewDestinationTarget(IsMovable.getPlayerPosition()); }
// Update is called once per frame void Update() { IsMovable.changePlayerPosition(transform.position); }
void setInitialParameters() { IsMovable.changeLightRange(minimumLightRange); }