Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
 private void enableMovement()
 {
     if (!IsMovable.getIsAbleToMove())
     {
         IsMovable.changeMovement();
     }
 }
Ejemplo n.º 3
0
 void chasePlayer()
 {
     if (Vector3.Distance(currentTargetPosition, IsMovable.getPlayerPosition()) > maxDeviatingDistanceFromPlayer)
     {
         setNewDestinationTarget(IsMovable.getPlayerPosition());
     }
 }
Ejemplo n.º 4
0
 void initializeParameters()
 {
     enemyAI           = GetComponentInParent <EnemyAI> ();
     initialLightRange = IsMovable.getLightRange();
     sightDistance     = initialSightDistance;
     onLight           = false;
 }
Ejemplo n.º 5
0
    void forceUpdateSightDistance()
    {
        sightDistance = ((IsMovable.getLightRange() - initialLightRange) * sightIncreaseRate) + initialSightDistance;

        if (sightDistance > finalSightDistance)
        {
            sightDistance = finalSightDistance;
        }
    }
Ejemplo n.º 6
0
    void updateIndicatorSize()
    {
        Vector3 scale = transform.localScale;

        float yScale = finalImageScale * ((IsMovable.getLightRange() - minimumLightRange) / (maximumLightRange - minimumLightRange));

        scale.y = yScale;

        transform.localScale = scale;
    }
Ejemplo n.º 7
0
    void autoTurnOffVisualCue()
    {
        if (lightRange <= IsMovable.getLightRange() && visualCue.activeSelf)
        {
            visualCue.SetActive(false);
        }

        if (lightRange > IsMovable.getLightRange() && !visualCue.activeSelf)
        {
            visualCue.SetActive(true);
        }
    }
Ejemplo n.º 8
0
    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();
            }
        }
    }
Ejemplo n.º 9
0
    void moveCharacter(MovementReadings movement)
    {
        moveDirection = Vector3.zero;

        stopJumpingIfAttacking();

        if (IsMovable.getIsAbleToMove() && !IsMovable.getIsStunned())
        {
            setGroundedValues();

            setMovingInputs();

            fallUnderGravity();

            controller.Move(moveDirection * Time.deltaTime);
        }
    }
Ejemplo n.º 10
0
    void updateSightDistance()
    {
        if (IsMovable.getLightRange() - initialLightRange > 0)
        {
            sightDistance = ((IsMovable.getLightRange() - initialLightRange) * sightIncreaseRate) + initialSightDistance;

            if (sightDistance > finalSightDistance)
            {
                sightDistance = finalSightDistance;
            }
        }

        if (onLight && sightDistance < lightRange)
        {
            sightDistance = lightRange;
        }
    }
Ejemplo n.º 11
0
    private void enableMovement()
    {
        if (!IsMovable.getIsAbleToMove())
        {
            IsMovable.changeMovement();
        }

        if (!IsMovable.getIsAbleToRotate())
        {
            IsMovable.changeIsAbleToRotate();
        }

        if (!IsMovable.getIsCameraAbleToMove())
        {
            IsMovable.changeCameraMovement();
        }
    }
Ejemplo n.º 12
0
    void autoDisable()
    {
        bool isInCombat;

        if (IsMovable.getLockedOnEnemyPosition() == Vector3.zero)
        {
            isInCombat = false;
        }
        else
        {
            isInCombat = true;
        }

        if (isInCombat != whenToDisable)
        {
            gameObject.SetActive(false);
        }
    }
Ejemplo n.º 13
0
    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();
            }
        }
    }
Ejemplo n.º 14
0
    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);
        }
    }
Ejemplo n.º 15
0
    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);
        }
    }
Ejemplo n.º 16
0
    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;
    }
Ejemplo n.º 17
0
 void goToPlayerLocation()
 {
     setNewDestinationTarget(IsMovable.getPlayerPosition());
 }
Ejemplo n.º 18
0
 // Update is called once per frame
 void Update()
 {
     IsMovable.changePlayerPosition(transform.position);
 }
Ejemplo n.º 19
0
 void setInitialParameters()
 {
     IsMovable.changeLightRange(minimumLightRange);
 }