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; } }
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; } }
// 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)); } }