Exemple #1
0
    void UpdateWaitingState()
    {
        secondPosition = this.transform.position;

        foreach (Transform child in transform)
        {
            if (child.CompareTag("ShieldRobot"))
            {
                if (child.GetComponent <PlayerGridMovement>().playerState == PlayerGridMovement.PLAYERSTATE.IDLE)
                {
                    timer += Time.deltaTime;
                }
                else
                {
                    timer         = 0.0f;
                    activated     = false;
                    platformState = PLATFORMSTATE.WAITING;
                }
            }
            else
            {
                timer += Time.deltaTime;
            }
        }


        if (timer > waitTime)
        {
            timer         = 0.0f;
            activated     = false;
            platformState = PLATFORMSTATE.IDLE;
        }
    }
Exemple #2
0
    void UpdateMovingState()
    {
        if (this.transform.CompareTag("Elevator"))
        {
            elevatorSource.volume = evelatorBridgeSoundVolume;
            elevatorSource.clip   = elevatorSound;
        }
        else if (this.transform.CompareTag("MovingPlatformX") || this.transform.CompareTag("MovingPlatformZ"))
        {
            platformSource.volume = movingPlatformSoundVolume;
            platformSource.clip   = movingPlatformSound;

            foreach (Transform child in transform)
            {
                if (child.CompareTag("Box"))
                {
                    child.GetComponent <BoxMove>().moveSpeed    = moveSpeed;
                    child.GetComponent <BoxMove>().startLerpPos = child.transform.parent.position;
                    child.GetComponent <BoxMove>().target       = new Vector3(target.x, child.transform.position.y, target.z);
                    child.GetComponent <BoxMove>().boxState     = BoxMove.BOXSTATE.MOVING;
                }
            }
        }
        // move time
        lerpMoveTime += Time.deltaTime * moveSpeed;

        // if entered the trigger
        if (activated)
        {
            target = secondPosition;
        }
        // if exited the trigger
        else
        {
            target = basePosition;
        }



        // make it move
        transform.position = Vector3.Lerp(this.transform.position, target, lerpMoveTime);
        if (lerpMoveTime >= 1)
        {
            lerpMoveTime  = 0;
            platformState = PLATFORMSTATE.IDLE;
        }
    }
Exemple #3
0
    // Use this for initialization
    void Start()
    {
        gridManager   = GameObject.FindWithTag("Game Overseer").GetComponent <GridManager>();
        basePosition  = this.transform.position;
        platformState = PLATFORMSTATE.IDLE;

        // set audio source for elevator
        if (this.transform.CompareTag("Elevator"))
        {
            elevatorSource = this.transform.gameObject.GetComponent <AudioSource>();
        }
        else
        {
            elevatorSource = null;
        }
        // set audio source for platforms
        if (this.transform.CompareTag("MovingPlatformX") || this.transform.CompareTag("MovingPlatformZ"))
        {
            platformSource = this.transform.gameObject.GetComponent <AudioSource>();
        }
        else
        {
            platformSource = null;
        }
        // set audio source for bridge
        if (this.transform.CompareTag("Bridge"))
        {
            bridgeSource = this.transform.gameObject.GetComponent <AudioSource>();
        }

        // set second position to move to
        if (this.transform.CompareTag("Elevator"))
        {
            secondPosition = new Vector3(basePosition.x, basePosition.y + (gridSize * gridsToMove), basePosition.z);
        }
        else if (this.transform.CompareTag("MovingPlatformX"))
        {
            secondPosition = new Vector3(basePosition.x + (gridSize * gridsToMove), basePosition.y, basePosition.z);
        }
        else if (this.transform.CompareTag("MovingPlatformZ"))
        {
            secondPosition = new Vector3(basePosition.x, basePosition.y, basePosition.z + (gridSize * gridsToMove));
        }
    }