private void SetState(KidRunnerAI.KidState state) { if (this.m_KidState == state) { return; } this.m_KidState = state; }
private void UpdateActions() { KidRunnerAI.KidState kidState = this.m_KidRunner.m_KidState; if (kidState != KidRunnerAI.KidState.Run) { if (kidState - KidRunnerAI.KidState.Play <= 1 && this.m_CurrentAction == this.m_MoveTo) { base.StartAction(this.m_StartPlay); return; } } else if (this.m_CurrentAction == this.m_PlayIdle) { base.StartAction(this.m_MoveTo); } }
private void PlaySound() { AudioClip audioClip = null; while (audioClip == null || audioClip == this.m_LastClip) { KidRunnerAI.KidState kidState = this.m_KidRunner.m_KidState; if (kidState != KidRunnerAI.KidState.Run) { if (kidState == KidRunnerAI.KidState.Play) { audioClip = this.m_IdleClips[UnityEngine.Random.Range(0, this.m_IdleClips.Count)]; } } else { audioClip = this.m_RunClips[UnityEngine.Random.Range(0, this.m_RunClips.Count)]; } } this.m_AudioSource.PlayOneShot(audioClip); this.m_SoundInterval = UnityEngine.Random.Range(1f, 2f); this.m_LastClip = audioClip; }
protected override void Update() { base.Update(); float num = Player.Get().transform.position.Distance(base.transform.position); KidRunnerAI.KidState kidState = this.m_KidState; if (kidState != KidRunnerAI.KidState.Run) { if (kidState != KidRunnerAI.KidState.Play) { return; } if (num < this.m_PlayStateDistance - 2f) { this.SetState(KidRunnerAI.KidState.Run); } } else { this.UpdateCurrentPathPoint(); this.UpdateCurrentTarget(); if (this.m_PathPointIndex >= this.m_Path.Count - 1) { float num2 = 0f; CJTools.Math.ProjectPointOnSegment(this.m_Path[this.m_PathPointIndex - 1].position, this.m_Path[this.m_PathPointIndex].position, base.transform.position, out num2); if (num2 >= 0.99f) { this.SetState(KidRunnerAI.KidState.Finish); } } if (num >= this.m_PlayStateDistance) { this.SetState(KidRunnerAI.KidState.Play); return; } } }