// Update is called once per frame void Update() { if (teacherState != TeacherState.Ended) { Bike bike = GameManager.instance.GetBike(); if (Math.Abs(bike.GetPosition().x - this.transform.position.x) < detectDistance) { if (BikeSounds.instance.HornIsPlaying()) { teacherState = TeacherState.Moving; } if (teacherState == TeacherState.Moving) { timeElapsed += Time.deltaTime; float distCovered = (timeElapsed) * speed; float fracJourney = distCovered / journeyLength; this.animation.enabled = true; transform.position = Vector3.Lerp(startMarker, endMarker, fracJourney); this.collider.enabled = false; } } if (CameraOverview.EqualVectors(this.transform.position, new Vector3(initialPos.x, initialPos.y, initialPos.z + zDistance))) { this.animation.enabled = false; teacherState = TeacherState.Ended; spriteRenderer.sprite = sprite; } } }
private void Watching() { state = TeacherState.watching; _actualWatchingTimer = RandomizeTime(_watchingTimer - _currentDifficultyMultiplier); _currentDifficultyMultiplier += _difficultyMultiplier; sr.sprite = watching; isWatching = true; _currentTime = 0; sr.color = Color.white; }
private void Start() { teacherState = TeacherState.Start; collider = GetComponent <Collider2D>(); animation = GetComponent <Animator>(); spriteRenderer = GetComponent <SpriteRenderer>(); initialPos = this.transform.position; startMarker = this.transform.position; endMarker = new Vector3(startMarker.x, startMarker.y, startMarker.z + zDistance); journeyLength = Vector3.Distance(startMarker, endMarker); }
private void NotWatching() { state = TeacherState.notWatching; DefineVectors(); _actualWritingTimer = RandomizeTime(_writingTimer - _currentDifficultyMultiplier); if (_actualWritingTimer < _minimumTime) { _actualWritingTimer = _minimumTime; } SpawnWriting(); sr.sprite = notWatching;; isWatching = false; _currentTime = 0; }
private void SpawnWriting() { if (_boardIndex < 15) { GameObject writingClone = Instantiate(writing, boardPositions[_boardIndex].transform); SpriteFader sf = writingClone.GetComponent <SpriteFader>(); SpriteRenderer sr = writingClone.GetComponent <SpriteRenderer>(); sr.flipY = RandomFlip(); sr.flipX = RandomFlip(); sf.fadingIn = true; _boardIndex++; } else { state = TeacherState.done; GameObject[] allWritings = GameObject.FindGameObjectsWithTag("Writing"); for (int i = 0; i < allWritings.Length; i++) { SpriteFader sf = allWritings[i].GetComponent <SpriteFader>(); sf.fadingOut = true; } } }
private void Raging() { state = TeacherState.raging; sr.sprite = rage; }