// Start is called before the first frame update void OnEnable() { pC = this; // col = GetComponent<Collider2D>(); rb = GetComponent <Rigidbody2D>(); anim = GetComponent <Animator>(); if (boatLight) { lightAnim = boatLight.GetComponent <Animator>(); } rowFast = false; aState = animState.idle; bounceDir = Vector2.zero; creakTimer = avgCreakTime; maxSpeed = maxSpeedVar.Value; fastRowMultiplier = fastRowMultiplierVar.Value; // Prevent player from steering for first 3 seconds of scene. StartCoroutine(allowSteerTimer(3f)); // Bind control mappings CreatePlayerActions(); // Default starting health is 3, add extra health for previous failures, carry over health from previous levels if higher. currentHealth.Value = Mathf.Max(3 + Mathf.Min(GameController.gC.fails, 2), currentHealth.Value); }
public IEnumerator Disable() { float i = 0; currentState = animState.disabling; yield return new WaitForSeconds(randomDelayVal2); while ((1f/(enableLength*frameRate)*i) < 1f) { i++; if (currentState == animState.enabling) break; dimmer = 1 - disableCurve.Evaluate((1/(disableLength*frameRate))*i); _light.color = Color.Lerp(new Color(0, 0, 0), targetColor, dimmer); if (sound != null) sound.volume = soundVol*(1 - disableCurve.Evaluate((1/(disableLength*frameRate))*i)); if (enableSound != null) enableSound.volume = enableSoundVol; if (debugLogness) Debug.Log("disable: " + i + ":" + (1f/(disableLength*frameRate)*i) + " --- " + dimmer, this); updateFollowers(); yield return new WaitForSeconds(1f/frameRate); } if (currentState == animState.disabling) { _light.enabled = false; StopSound(); currentState = animState.none; } yield return true; }
// Update is called once per frame void Update() { vAxis = Input.GetAxisRaw("Vertical"); hAxis = Input.GetAxisRaw("Horizontal"); if(vAxis > 0) mystate = animState.Walking; else if (vAxis < 0) mystate = animState.Reversing; else if(vAxis == 0 || hAxis == 0) mystate = animState.Idle; else if(hAxis > 0 || hAxis < 0) mystate = animState.Walking; else mystate = animState.Idle; switch (mystate) { case animState.Idle: animation.Play("idle"); break; case animState.Walking: animation.Play("walk"); break; case animState.Reversing: animation.Play ("walk"); animation["walk"].speed = -1; break; case animState.Running: animation.Play ("run"); break; case animState.Sidestepping: animation.Play ("jump_pose"); break; default: animation.Play ("idle"); break; } }
public void Idle() { if (currentAnimState != animState.IDLE) { anim.Play("idle"); currentAnimState = animState.IDLE; } }
public void Hide() { if (currentAnimState != animState.EMPTY) { anim.Play("empty"); currentAnimState = animState.EMPTY; } }
public void BeginAttack() { if (currentAnimState != animState.ATTACK) { anim.Play("attack"); currentAnimState = animState.ATTACK; } }
public IEnumerator Enable() { float i = 0; currentState = animState.enabling; if (debugLogness) { Debug.Log("Enable: " + i, this); } yield return(new WaitForSeconds(randomDelayVal)); //print("WaitAndPrint " + Time.time); StartSound(); _light.enabled = true; while ((1f / (enableLength * frameRate) * i) < 1f) { i++; if (currentState == animState.disabling) { break; } dimmer = enableCurve.Evaluate((1 / (enableLength * frameRate)) * i); _light.color = Color.Lerp(new Color(0, 0, 0), targetColor, dimmer); if (sound != null) { sound.volume = soundVol * (enableCurve.Evaluate((1 / (enableLength * frameRate)) * i)); } if (enableSound != null) { enableSound.volume = enableSoundVol; } if (debugLogness) { Debug.Log("enable: " + i + ":" + (1f / (enableLength * frameRate) * i) + " --- " + dimmer, this); } updateFollowers(); yield return(new WaitForSeconds(1f / frameRate)); } if (currentState == animState.enabling) { if (debugLogness) { Debug.Log("Done: " + i, this); } currentState = animState.none; } yield return(true); }
private void OnTriggerStay(Collider other) { if (other.gameObject.CompareTag("pond") && state != animState.drinking) { if (ps.thirst < 750) { state = animState.drinking; } } else if (other.gameObject.CompareTag("bamboo") && state != animState.eating) { if (ps.hunger < 750) { state = animState.eating; } } if (ps.thirst >= 1000 || ps.hunger >= 1000) { state = animState.idle; } }
private void AnimationUpdate() { if (agent.remainingDistance <= 0.05f) { isWalking = false; ps.directed = false; } else { isWalking = true; } anim.SetBool("walking", isWalking); if (!isWalking) { switch (state) { case animState.idle: anim.SetBool("sitting", false); anim.SetBool("eating", false); anim.SetBool("sleeping", false); anim.SetBool("drinking", false); break; case animState.sitting: anim.SetBool("sitting", true); anim.SetBool("eating", false); anim.SetBool("sleeping", false); anim.SetBool("drinking", false); break; case animState.eating: anim.SetBool("sitting", true); anim.SetBool("eating", true); anim.SetBool("sleeping", false); anim.SetBool("drinking", false); ps.eat(); break; case animState.sleeping: anim.SetBool("sitting", false); anim.SetBool("eating", false); anim.SetBool("sleeping", true); anim.SetBool("drinking", false); break; case animState.drinking: anim.SetBool("sitting", false); anim.SetBool("eating", false); anim.SetBool("sleeping", false); anim.SetBool("drinking", true); ps.drink(); break; } } else { anim.SetBool("sitting", false); anim.SetBool("eating", false); anim.SetBool("sleeping", false); anim.SetBool("drinking", false); } if (state == animState.idle) { if (UnityEngine.Random.Range(0, 10000) < sleepChance) { state = animState.sleeping; } else if (UnityEngine.Random.Range(0, 10000) < sitChance) { state = animState.sitting; } } else if (state == animState.sleeping) { if (UnityEngine.Random.Range(0, 10000) < idleChance) { state = animState.idle; } } else if (state == animState.sitting) { if (UnityEngine.Random.Range(0, 1000) < idleChance) { state = animState.idle; } } if (state != animState.drinking && state != animState.eating && !ps.directed) { if (UnityEngine.Random.Range(0, 1000) < moveChance) { Vector3 newPos = new Vector3(UnityEngine.Random.Range(-10, 10), 0, UnityEngine.Random.Range(-10, 10)); ps.SetDestination(newPos, false); } } }
public void CompleteTentacleAttack() { tentacleAttackStage?.CompleteTentacleAttack(index); currentAnimState = animState.IDLE; }
void Awake() { anim = GetComponent <Animator>(); currentAnimState = animState.EMPTY; }
// Move function void MoveCharacter() { // Disable movement if character recently hit enemy, bounce character away from collision point if (isInvulnerable) { rb.velocity = bounceDir * bounceMag; bounceMag *= 0.95f; aState = animState.idle; return; } if (inputDirection != Vector3.zero) { lastDirection = inputDirection; float angle = -90 + Mathf.Atan2(lastDirection.y, lastDirection.x) * Mathf.Rad2Deg; Quaternion rotation = Quaternion.Euler(new Vector3(0, 0, angle)); rb.MoveRotation(Quaternion.RotateTowards(transform.rotation, rotation, rotationSpeed)); if (rowFast) { speed = Mathf.Lerp(speed, maxSpeed * fastRowMultiplier, acceleration * fastRowMultiplier); aState = animState.fastRowing; } else { speed = Mathf.Lerp(speed, maxSpeed, acceleration); aState = animState.rowing; } } else { if (isWalking) { speed = Mathf.Lerp(speed, 0, acceleration * 3); } else { speed = Mathf.Lerp(speed, 0, acceleration); } if (turnLeft) { rb.MoveRotation(rb.rotation + (rotationSpeed / 2)); } else if (turnRight) { rb.MoveRotation(rb.rotation - (rotationSpeed / 2)); } aState = animState.idle; } // Decrease velocity offset by 3x default acceleration if player is not touching a wall if (!isTouchingWall && velocityOffset != Vector3.zero) { velocityOffset += -velocityOffset * acceleration * 3.0f; if (velocityOffset.sqrMagnitude < 0.05f) { velocityOffset = Vector3.zero; } } rb.velocity = transform.up * speed + velocityOffset; }